1、算法初步1.2.3 算法基本循环语句温故而知新1、顺序结构常用的程序语言和格式2、条件结构常用的程序语言和格式输入语句 INPUT“提示文字”;变量列表输出语句 PRINT“提示文字”;变量列表赋值语句 变量=表达式(1)IF 条件成立 THEN语句1ELSE语句2END IF(2)IF 条件成立 THEN语句END IF循环结构的定义:在一些算法中,从某处开始,按照一定条件,反复执行某一处理步骤的情况,这就是循环结构。反复执行的处理步骤称为循环体。两种循环结构有什么差别?AP成立不成立While(当型)循环成立AP不成立Until(直到型)循环成立AP不成立AP成立不成立While(当型)循
2、环Until(直到型)循环两种循环结构有什么差别?先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循环。先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。先执行 后判断先判断 后执行循环结构AP成立不成立While(当型)循环算法中的循环结构是由循环语句来实现的。成立AP不成立Until(直到型)循环两种循环语句:WHILE 条件循环体WEND(1)WHILE语句的一般格式:当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复
3、进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句.也叫“前测试型”循环循环体满足条件?是否While(当型)循环例 根据1.1.2例6中的程序框图,编写计算机程序来计算1+2+100的值i=100?i=1开始输出sum结束否是sum=0i=i+1sum=sum+ii=1sum=0WHILE i100PRINT sumENDi=1开始结束sum=0输出sumi=i+1sum=sum+ii100?否是程序框图:程序:开始结束求n除以i的余数ri的值增加1,仍用i表示in-1或r=0否是r=0?n不是质数n是质数否是输入ni=2思考3:图
4、1.1-2,用按照算法执行的顺序,把程序框图中的内容转化为相应的程序语句。INPUT“n=”;ni=2DOr=n MOD i i=i+1LOOP UNTIL in-1 OR r=0IF r=0 THEN PRINT n;“不是质数.ELSE PRINT n;是质数.END IFEND练习 P231.根据你画出的用二分法求方程x2-2=0的近似根的程序框图,写出相应的程序语句。2.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,,20时的函数值。3.编写一个程序,输入正整数n,计算它的阶乘n!(n!=n*(n-1)*3*2*1)练习 P231.根据你画出的用二分法求方程x2-2=0的
5、近似根的程序框图,写出相应的程序语句。开始x1=1,x2=2c=0.005输出xf(x1)f(x)0?否是x1=xx2=x|x1-x2|c?是否结束f(x)=0?否是练习 P23开始x1=1,x2=2c=0.005输出xf(x1)f(x)0?否是x1=xx2=x|x1-x2|c?是否结束f(x)=0?否是x1=1x2=2c=0.005DO X=(X1+X2)/2 f(x1)=x12-2 f(x)=x2-2 IF f(x)=0 THEN PRINT 方程根为:;x ELSE IF f(x1)*f(x)0 THEN x2=x ELSE x1=x END IF END IFLOOP UNTIL AB
6、S(x1-x2)=cPRINT 方程的近似根为:;xEND练习 P232.编写程序,计算函数f(x)=x2-3x+5当x=1,2,3,,20时的函数值。x=1WHILE xnPRINT 这个数的阶乘为:;tEND练习巩固1、设计一个算法框图:逐个输出12,22,32,n2,并写出相应的程序。INPUT ni=0WHILE i =nEND结束i=0开始i=i+1:t=i2i=n?否是PRINT tINPUT n2、设计一个算法框图:求满足12 3 n10000的最小正整数n,并写出相应的程序。结束输出ii=0,Sum=1开始i=i+1Sum=Sum+iSum10000?否是i=0sum=0DOi=i+1sum=sum+iLOOP UNTIL sum10000PRINT iEND小 结WHILE 条件循环体WENDDO循环体LOOP UNTIL 条件两种循环语句:循环体满足条件?是否(1)While(当型)循环(2)Until(直到型)循环循环体满足条件?是否