资源描述
,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,1.2基本算法语句,1.2.1输入语句 输出语句和赋值语句,赋值语句与程序框图中表示赋值的处理框对应,用来给变量赋值,输入语句,输出语句分别与程序框图中输入,输出框对应,用来输入和输出信息。,例,1,输入,x,开始,输出,y,结束,程序框图,程序,INPUT“x=”,;,x,用描点法作函数 的图像时,需要求出自变量和函数的一组对应值。编写程序,分别计算当,x=-5,,,-4,,,-3,,,-2,,,-1,,,0,,,1,,,2,,,3,,,4,,,5,时的函数值。,y=x3+3*x2-24*x+30,PRINT“y=”;y,END,一,.,输入语句,INPUT,“,提示内容,”,;变量,输入语句的一般格式,说明,:,(1),输入语句的作用是实现算法的输入信息功能;,(2)“,提示内容”提示用户输入什么样的信息,,变量是指程序在运行时其值是可以变化的量;,(3),输入语句要求输入的值,只能是具体的常数,,,不能是函数、变量或表达式;,(4),提示内容与变量之间用分号“,;,”隔开,,若输入多个变量,变量与变量之间用逗号“,,,”隔开,.,例如,输入一个学生数学,语文,英语三门课的成绩,可以写成:,INPUT“,数学,语文,英语”;,a,,,b,,,c,注意,:,INPUT,语句不但可以给单个变量赋值,还可以给多个变量赋值,其格式为:,INPUT,“,提示内容,1,,提示内容,2,,提示内容,3,,,”,;变量,1,,变量,2,,变量,3,,,练一练,:,输入,n,的值,INPUT“n=”;n,输入,a,b,c,INPUT,a,b,c,二,.,输出语句,PRINT,“,提示内容”;表达式,说明,:,(1)“,提示内容”提示用户输出什么样的信息,表,达式是指程序要输出的数据;,输出常量,变量的值和字符串等系统信息。,输出数值计算的结果。,(2),输出语句的用途:,输出语句的一般格式,(3),同输入语句一样,表达式前也可以有“提示内容”,.,思考,:,在课本,P7,页图,1.1-2,程序框图中的输出框的内容怎样用输出语句来表达?,参考答案:,输出框:,PRINT “,n is a prime number,.”,PRINT “,n is not a prime number,.”,如,P9,页的输出框 可以转化为输出语句,:,输出,S,PRINT“S=”;S,三,.,赋值语句,(1),赋值语句的一般格式,:,变量表达式,(2),赋值语句的作用,是,:,先计算出赋值号右边表达,式的值,然后把这个值赋给左边的变量,使该变量的,值等于表达式的值。,(3),赋值语句中的“”称作赋值号,与数学中的等,号的意义是不同的,.,赋值号的左右两边不能对换,.,(4),赋值语句左边只能是变量名字而不是表达式,如,:2=x,是错误的,;,右边表达式可以是一个数据、,常量或算式;不能利用赋值语句进行代数式的,演算。(如化简、因式分解、解方程等),(,5,)对于一个变量可以多次赋值。,【,例题解析,】,例,2,:编写程序,计算一个学生数学、语文、,英语三门课的平均成绩。,分析,:先写出算法,画出程序框图,再进行编程。,结束,开始,输,入,a,b,c,输出,y,程序框图,INPUT,“,Maths=,”,;a,INPUT,“,Chinese=,”,;b,INPUT,“,English=,”,;c,PRINT,“,The,average=,”,;(a+b+c)/3,END,程序,:,例,3,:给一个变量重复赋值。,程序,:,A=10,A=A+15,PRINT,A,END,A,的输出值是多少,?,分析,:,此程序给变量,A,赋了两次值,.A,的初值为,10,第二次赋值后,初值被“覆盖”,A,的值变为,25,因此输出值是,25.,例,4,交换两个变量,A,和,B,的值,并输出交换前后,的值。,分析:,引入一个,中间变量,X,将,A,的值赋予,X,又将,B,的值赋予,A,,再将,X,的值赋予,B,,从而达到交换,A,,,B,的值,.,(比如交换装满水的两个水桶里的水需要,再找一个空桶),INPUT,A,INPUT,B,PRINT,A,,,B,X=A,A=B,B=X,PRINT,A,,,B,END,程序,:,问题,:,能否用下列赋值语句交换,A,B,的值,?,A=B,B=A,不能,!,1.2.2条件语句,条件语句与程序框图中的条件结构相对应。,条件语句的一般格式,:,满足条件?,语句,是,否,只含一个,“,分支,”,的条件结构,写成条件语句为,IF,条件,THEN,语句体,END IF,当计算机执行这种形式的条件语句时,首先对,IF,后的条件进行判断,如果条件符合,就执行,THEN,后的语句体,否则执行,END IF,之后的语句,.,满足条件?,语句,1,语句,2,是,否,含两个,“,分支,”,的条件结构,写成条件语句为,IF,条件,THEN,语句体,1,ELSE,语句体,2,END IF,当计算机执行上述语句时,首先对,IF,后的条件进行判断,如果条件符合,就执行,THEN,后的语句体,1,,否则执行,ELSE,后的语句体,2.,例,5,:编写一个程序,求实数,x,的绝对值,程序:,INPUT x,IF x=0 THEN,PRINT x,ELSE,PRINT,x,END IF,END,X=0,?,开始,输入,x,输出,x,结束,否,是,输出,-x,例,7,:编写程序,使得任意输入的,3,个整数按从大到小的顺序输出,。,算法分析:,用a,b,c表示输入的3个整数;为了节约变量,把它们重新排列后,仍用a,b,c表示,并使abc.具体操作步骤如下。,第一步:输入3个整数a,b,c.,第二步:将a与b比较,并把小者赋给b,大者赋给a.,第三步:将a与c比较.并把小者赋给c,大者赋给a,此,时a已是三者中最大的。,第四步:将b与c比较,并把小者赋给c,大者赋给b,此时a,b,c已按从大到小的顺序排列好。,第五步:按顺序输出a,b,c.,c=b,b=t,b=t,c=t,a=c,【,程序框图,】,开始,输入,a,b,c,ba?,是,t=a,a=b,否,ca?,是,t=a,否,cb?,t=c,是,否,输出,a,b,c,交换,a,b,的值,【,程序,】,INPUT,“a,,,b,,,c=”;a,,,b,,,c,IF ba THEN,t=a,a=b,b=t,END IF,IF ca THEN,t=a,a=c,c=t,END IF,IF cb THEN,t=b,b=c,c=t,END IF,PRINT a,,,b,,,c,END,1.2.3循环语句,循环语句与程序框图中的循环语句结构相对应。一般程序设计语言中都有直到型(,UNTIL,)和当型(,WHILE,)两种循环语句结构,分别对应程序框图中的直到型和当型结构。,(1)UNTIL,语句的一般格式是,:,DO,循环体,LOOP UNTIL,条件,循环体,是,否,满足条件?,直到型循环结构,DO,做什么,LOOP UNTIL,绕环回线走,直到达到某种,条件为止,思考,:,参照其直到型循环结构对应的程序框图,说说,计算机是按怎样的顺序执行,UNTIL,语句的?,(1)UNTIL,语句的一般格式是,:,DO,循环体,LOOP UNTIL,条件,循环体,是,否,满足条件?,直到型循环结构,从,UNTIL,型循环结构分析,计算机执行该语句时,先执行一次循环体,然后进行条件的判断,如果条件不满足,继续返回执行循环体,然后再进行条件的判断,这个过程反复进行,直到某一次条件满足时,不再执行循环体,跳到,LOOP UNTIL,语句后执行其他语句,是先执行循环体后进行条件判断的循环语句,.,WHILE,语句,(2)WHILE,语句的一般格式是,:,WHILE,条件,循环体,WEND,其中循环体是由计算机反复执行的一组语句构成的。,WHLIE,后面的,“,条件,”,是用于控制计算机执行循环体或跳出循环体的。,WHILE,当,时候,WEND,朝,方向,行走,(2)WHILE,语句的一般格式是,WHILE,条件,循环体,WEND,当计算机遇到,WHILE,语句时,先判断条件的真假,如果条件,符合,就执行,WHILE,与,WEND,之间的循环体,;,然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止,.,这时,计算机将不执行循环体,直接跳到,WEND,语句后,接着执行,WEND,之后的语句,.,满足条件?,循环体,是,否,当型循环结构,提问,:,通过对照,大家觉得,WHILE,型语句与,UNTIL,型,语句之间有什么区别呢?,区别,:在,WHILE,语句中,是当条件,满足,时执行循环,体,而在,UNTIL,语句中,是当条件,不满足,时执行循环,体。,WHILE,语句的一般格式,WHILE,条件,循环体,WEND,UNTIL,语句的一般格式,DO,循环体,LOOP UNTIL,条件,例,.,编写程序,计算自然数,1+2+3+,+99+100,的和,.,分析,:,这是一个累加问题,.,我们可以用,WHILE,型语句,也可以用,UNTIL,型语句。,WHILE,语句,开始,结束,i=1,S=0,i=i+1,S=S+i,输出,S,i100?,是,否,当型循环结构,i=1,S=0,WHLIE i100?,否,是,直到型,i=1,S=0,DO,S=S+i,i=i+1,LOOP UNTIL,i100,PRINT S,END,巩固练习,1下面不属于基本算法语句的一项是,(),AINPUT语句 BWHILE语句 CEND语句,DIF,THEN语句,2,下图,程序运行的结果是,(),A.1,2,3 B.2,3,1 C.2,3,2 D.3,2,1,3右边程序执行后输出的结果是,(),A.1 B.0 C.1 D2,a=1,b=2,c=3,a=b,b=c,c=a,PRINT a,b,c,END,(第2题),n=5,s=0,WHILE s20,B.i=20,D.,i=20,a=b,b=a,c=b,b=a,a=c,b=a,a=b,a=c,c=b,b=a,S=0,i=1,DO,INPUT x,S=S+x,i=i+1,LOOP UNTIL _,a=S/20,PRINT a,END,(第5题),B,A,6,.,下左程序运行后输出的结果为_,x=5,y=20,IF x0 THEN,x=y3,ELSE,y=y+3,END IF,PRINT xy;yx,END,第,6,题,22 -22,7,.上右程序输出的n的值是_,j=1,n=0,WHILE j=11,j=j+1,IF j MOD 4=0 THEN,n=n+1,END IF,j=j+1,WEND,PRINT n,END,第,7,题,3,
展开阅读全文