资源预览内容
第1页 / 共32页
第2页 / 共32页
第3页 / 共32页
第4页 / 共32页
第5页 / 共32页
第6页 / 共32页
第7页 / 共32页
第8页 / 共32页
第9页 / 共32页
第10页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1.2.1 赋值、输入和输出语句,常用的程序设计语言:BASIC、C/C+、 Scilab、VB、ASP、Java等等。,基本算法语句,算法的三种基本逻辑结构:顺序结构,条件结构和循环结构。,各种程序语言都包含了下列基本的算法语句:,一、赋值语句,在表述一个算法时,经常要引入变量,并赋给该变量一个值,用来表明赋给某一个变量一个具体的确定值的语句叫做赋值语句。,赋值语句的一般格式是: 变量名=表达式,关于赋值语句,有以下几点需要注意:,(1)赋值语句的作用是将表达式所代表的值赋给变量。 它实质上是先将赋值号“=”右边表达式的值计算出来,然后把该值赋给“=”左边的变量,使该变量的值等于表达式的值。,例如:“x=5”的意思是讲数值5赋给变量x.,(2)赋值语句中的“=”称作赋值号,而不是“等号”,例如:a=b,表示将b的值赋给a,而不是说a和b相等! 赋值号的左右两边不能对换,赋值语句是将赋值号右边表达式的值赋给赋值号左边的变量,例如a=b表示用b的值代替变量a原来的值,不能写为b=a,因为b=a表示用a的值代替变量b的值.,(3)格式中右边“表达式”可以是一个数值、常量或算式,如果“表达式”是一个算式,赋值语句的作用是先计算出“=”右边表达式的值,然后将该值赋给“= ”左边的变量. 如x=32+4*52,a=b+c等.,(4)赋值语句左边只能是变量名字,而不是表达式。 如x=5是对的,5=x是错误的;a+b=c也是错误的,而c=a+b是正确的。,(5)不能利用赋值语句进行代数式的演算(如化简、因式分解等)。 如y=x21=(x+1)(x1)这是不能实现的,在赋值语句中赋值号右边的表达式中的每一个“变量”都必须事先赋给确定的值,在一个赋值语句中只能给一个变量赋值,不能出现两个或多个“= ”。 如a=b=5是错误的;,(6)对于一个变量可以多次赋值, 如a=5,a=7,a=9,则执行时a的值是9;变量的值也可以多次赋值, 如A=5,B=A,C=A,最后执行时C的值仍然是5;,(7)赋值号与数学中的等号的意义是不同的,赋值号左边的变量如果原来没有值,则执行赋值语句后,获得一个值;如果已有值,则执行该语句,以赋值号右边表达式的值代替该变量原来的值,即将原值“冲掉”。如N=N+1,在数学中是不成立的,但在赋值语句中,意思是将N+1的原值加1再赋给N,此时左边N的值就是原来N的值加1,如N原来是7,则N=N+1后,N的值变为8。,例1. 判断下列赋值语句是否正确: (1)4=m; (2)x+y=10; (3)A=B=2; (4)N=N+1.,解:(1)错误,(2)错误; (3)错误;(4)正确.,在Scilab 语言中,可以直接赋值并计算:,例如计算三个数的平均值,可以在窗口中输入:,a=5; b=7; c=9; aver=(a+b+c)/3 aver= 7,注意:语句最后有没有“;”是不一样的. 有“;”表示不显示结果.,二、输入语句,在某些算法中,变量的初值要根据情况经常的改变,一般我们把程序和初始数据分开,每次算题时,即使初始数据改变,也不必改变程序部分,只要每次程序运行时,输入相应的数据即可,这个过程在程序语言中,用输入语言来控制.,输入语句的一般格式: 变量=input(“提示内容”),其中input号左边是指要输入数值的变量名称,括号内的提示信息的作用是在程序运行后,在屏幕上输出或显示一些与该变量有关的信息,是对变量的一种解释,目的是为了让程序执行者更方便、更精确地输入相应变量的值;,变量=input(“提示内容”),我们要计算任一个学生的语文,数学和外语三门考试的平均成绩,就要输入这个学生三门课的成绩,在Scilab文本编辑器中写出如下程序:,a=input(“Chinese”); b= input(“math”); c= input(“foreign language”); aver=(a+b+c)/3,程序中分别请求输入语文,数学,英语成绩并分别赋值给a,b,c,并把(a+b+c)/3的值赋给aver.把程序保存在一个文件中,点击打开时立即会在Scilab截面中运行:,chinese 这时输入一个学生的语文成绩例如90,点“Enter”,界面出现:,math 这时输入一个学生的数学成绩例如80,点“Enter”,界面出现:,foreign language 这时输入一个学生的外语成绩例如79,点“Enter”,界面出现:,aver=83,几点说明:,输入语句中a=input(“Chinese”)中,真正起作用的是a=input( ),它将键盘输入的数值赋给a,括号中的chinese仅仅是提示作用,提醒用户输入的是语文成绩.,在Scilab中,还有“read”等其他输入语句,在其他各种语言程序中,一般都有自己的输入控制语言,它们的作用是相同的,只是每种语言的控制代码和表现形式不同.,输入语句要求输入的值只能是具体的常数,不能是函数,变量或者表达式,例如20*5, 32/4等都不行;另外输入语句可以输入单个或者多个字符,例如:x=input(“I am a student”); x=input(“what is your name?”)等等.,例2. 鸡兔同笼问题的一个算法及程序.,S1: 输入鸡和兔的总数量M S2: 输入鸡兔腿的总数N,开始,B=MA,结束,输出A,B,输入M、N,A=(4*MN)/2,S3: 鸡的数量,S4: 兔的数量B=MA,S5: 输出A,B,M=input(“How many heads”); N=input(“How many legs”); A=(4*MN)/2; B=MA; A B,三、输出语句,任何求解问题的算法,都要把求解的结果输出,因此任何的程序语言也都有自己的输出语句来控制输出。不同的程序语言都有自己的输出语句和表现形式,但功能是一样的,就是以某种形式把求解结果输出出来.以Scilab为例,有各种输出语句,入print, write, format, printf, disp.,输出语言一般格式: print(%io(2),表达式),例3: 一个算法是,用Scilab中的rand()函数,首先生成一个01之间的随机数并把它赋值给变量a, 再把3赋值给变量b, 把a+b赋值给变量c, 最后把它们都输出到屏幕上. 这个算法用Scilab程序写出,并用print(%io(2),a,b,c)语句控制输出,运行界面内写出程序如下:,a=rand(); b=3; c=a+b; print(%io(2),a,b,c) c= 3.7560439 b= 3 a= .7560439,print(%io(2),表达式)中的表达式指程序要输出的数据,输出语句可以输出常量,变量或表达式的值. 例如print(%io(2),B), print(%io(2),4*3)等.,print(%io(2),a,b,c)在屏幕上输出的顺序是c, b, a.,print(%io(2),a,b,c)中的io表示inputoutput(输入输出).,例4. 用描点法作函数y=2x3+3x212x+15的图象时,需要求出自变量与函数的一组对应值。编写程序,分别计算当x=1,2,3,0,1,2,3时的函数值.,解:我们用Scilab语言来描述:,x=input(“x=”); y=2*x3+3*x212*x+15; Print(%io(2),y,x),例5. 编写一个程序,要求输入两个正数a和b的值,输出ab与ba的值.,解:可以利用Scilab语句输入两个正数a,b,然后将ab与ba的值分别赋给两个变量,然后输出这两个变量的值即可;程序为:,a= input(“a=”); b= input(“b=”); A=ab; B=ba; Print(%io(2), A) Print(%io(2), B),例6. 读用Scilab语句编写的程序,根据程序画出程序框图。,x= input(“x=”) y= input(“y=”) Print(%io(2),x/4) Print(%io(2),2*y) x=x+2; y=y1; Print(%io(2),x) Print(%io(2),y),开始,输入x,y,,x=x+2, y=y1,结束,输出x, y,输出x/4,2*y,,x= input(“x=”); y= input(“y=”); Print(%io(2),x/4) Print(%io(2),2*y) x=x+2; y=y1; Print(%io(2),x) Print(%io(2),y),练习题,1:写出下列算法执行后的结果.,a=2; a=4; a=a+a; a,(1),(2),答案:8,答案:5, 4, 2,a=2; b=3; c=a+b; b=a+cb; print(%io(2),a,b,c),2. 程序: F=INPUT (“请输入华氏温度”); C=(F32)*5/9; PRINT(%io(2), F) PRINT(%io(2), C) 提问:如果要求输入一个摄氏温度,输出其相应的华氏温度,又该如何设计程序?,3.已知三角形的三边长分别为a,b,c,借助海伦公式求三角形的面积。,a=input(“a=”); b=input(“b=”); c=input(“c=”); p=(a+b+c)/2; S=sqrt(p*(pa)*(pb)*(pc); Print(%io(2),S),pOXLp7v0djZKylHSJr3WxBmHK6NJ2GhiBeFZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGtgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMeR4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGZ7R4I30kA1DkaGhn3XtKknBYCUDxqA7FHYi2CHhI92tgKQcWA3PtGshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMes02GshLs50cLmTWN60eo8Wgqv7XAv2OHUm32WGeaUwYDIAWGMes02dLPqafkFGlzcvv2YiRQYHbhR8AI1LKULh3xvjDzkEAMGr8xbwF1bH1oIM30E7xp,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号