1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,1.2.3,循环语句,循环结构的定义:,在一些算法中,从否处开始,按照一定条件,反复执行,某一处理步骤的情况,这就是循环结构。,反复执行的处理步骤称为循环体。,两种循环结构有什么差别?,A,P,成立,不成立,While,(当型)循环,成立,A,P,不成立,Until,(,直到型,)循环,成立,A,P,不成立,A,P,成立,不成立,While,(,当型,)循环,Until,(,直到型,)循环,两种循环结构有什么差别?,先执行循环体,然后再检查条件是否成立,如果不成立就重复执行循环体,直到条件成立退出循
2、环。,先判断指定的条件是否为真,若条件为真,执行循环条件,条件为假时退出循环。,先执行 后判断,先判断 后执行,循环结构,A,P,成立,不成立,While,(当型)循环,算法中的循环结构是由循环语句来实现的。,成立,A,P,不成立,Until,(,直到型,)循环,两种循环语句:,WHILE,条件,循环体,WEND,(,1,),WHILE,语句的一般格式:,当计算机遇到,WHILE,语句时,先判断条件的真假,如,果条件符合,就执行,WHILE,与,WEND,之间的循环体;然,后再检查上述条件,如果条件仍符合,再次执行循环体,,这个过程反复进行,直到某一次条件不符合为止,.,这时,,计算机将不执行
3、循环体,直接跳到,WEND,语句后,接着执,行,WEND,之后的语句,.,也叫,“,前测试型,”,循环,循环体,满足条件?,是,否,While,(当型)循环,练习、根据,1.1.2,例,3,中的程序框图,编写计算机程序来计算,1+2+,+100,的值,i=100?,i=1,开始,输出,sum,结束,否,是,sum=0,i=i+1,sum=sum+i,i=1,sum=0,WHILE i100,PRINT sum,END,i=1,开始,结束,sum=0,输出,sum,i=i+1,sum=sum+1,i100?,否,是,程序框图:,程序:,思考,3,:,图,1.1-2,,用按照算法执行的顺序,把程序
4、框图中的内容转化为相应的程序语句。,开始,输入,n,flag=1,n2?,d=2,是,d,整除,n?,flag=0,d2 THEN,d=2,WHILE d=n-1 AND flag=1,IF n MOD d=0 THEN,flag=0,ELSE,d=d+1,END IF,WEND,END IF,IF flag=1 THEN,PRINT n;,是质数,.,ELSE,PRINT n;,不是质数,.,END IF,END,思考题:判断质数的,算法是否还有所改进?,练习,P23,1.,根据你画出的用二分法求方程,x,2,-2=0,的,近似根的程序框图,写出相应的程序语句,。,2.,编写程序,计算函数
5、f(x)=x,2,-3x+5,当,x=1,2,3,,,20,时的函数值。,3.,编写一个程序,输入正整数,n,,计算它的,阶乘,n!(n!=n*(n-1)*,*3*2*1),练习,P23,1.,根据你画出的用二分,法求方程,x,2,-2=0,的,近似根的程序框图,,写出相应的程序语句,。,开始,x,1,=1,x,2,=2,c=0.005,输出,x,f(x,1,)f(x)0?,否,是,x,1,=x,x,2,=x,|x,1,-x,2,|c,?,是,否,结束,f(x)=0?,否,是,练习,P23,开始,x,1,=1,x,2,=2,c=0.005,输出,x,f(x,1,)f(x)0?,否,是,x,1
6、x,x,2,=x,|x,1,-x,2,|c,?,是,否,结束,f(x)=0?,否,是,x1=1,x2=2,c=0.005,DO,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 IF,LOOP UNTIL ABS(x1-x2)=c,PRINT,方程的近似根为:,;,x,END,练习,P23,2.,编写程序,计算函数,f(x)=x,2,-3x+5,当,x=1,2,3,,,20,时的函数值。,x=1,WHILE xn,PRINT,这个数的阶乘为:,;,t,END,小 结,WHILE,条件,循环体,WEND,DO,循环体,LOOP UNTIL,条件,两种循环语句:,循环体,满足条件?,是,否,(,1,),While,(当型)循环,(,2,),Until,(直到型)循环,循环体,满足条件?,是,否,再见,