
§1.2.3 循环语句 第一章 算法初步 温故而知新 1、顺序结构常用的程序语言和格式 2、条件结构常用的程序语言和格式 输入语句 INPUT “提示文字”;变量列表 输出语句 PRINT “提示文字”;表达式 赋值语句 变量=表达式 (1) IF 条件成立 THEN 语句1 ELSE 语句2 END IF (2) IF 条件成立 THEN 语句 END IF 3、循环结构的程序框图 条件成立? 循环体 否 是 条件成立? 循环体 否 是 思考:如何用程序语句表示呢? WHILE 条件 循环体 WEND DO 循环体 LOOP UNTIL 条件 两种循环语句: WHILE 条件 循环体 WEND (1)WHILE语句的一般格式: 当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND语句后,接着执行WEND之后的语句. 也叫“前测试型”循环 循环体 满足条件? 是 否 While(当型)循环 Until(直到型)循环 DO 循环体 LOOP UNTIL 条件 (2)UNTIL语句的一般格式: 也叫“后测试型”循环 循环体 满足条件? 是 否 思考1:参照直到型循环结构,说说计算机是按怎样的顺序执行UNTIL语句的? 例1 根据下面的程序框图写出相应的QBASIC程序 结束 i = i + 1 Sum=Sum + i i<100? 输出Sum 否 是 i=0,Sum=0 开始 i = 0 Sum = 0 WHILE i<100 i = i + 1 Sum =Sum + i WEND PRINT Sum END 结束 输出Sum i=0,Sum=1 开始 i = i + 1 Sum=Sum*i i>=100? 否 是 例2 根据下面的程序框图写出相应的QBASIC程序 i = 0 Sum = 0 DO i = i + 1 Sum = Sum + i LOOP UNTIL i>=100 PRINT Sum END 例3 根据下面的程序语句画出对应的程序框图,并分析程序的结果. s=0 i=2 WHILE i<=18 s=s+i i=i+3 WEND PRINT “s=”;s END (1) (2) i=1 Sum=0 m=1 DO m=m*i Sum=Sum+m i=i+1 LOOP UNTIL i>10 PRINT Sum END 练习 P24 1.根据你画出的用二分法求方程x2-2=0的近似根的程序框图, 写出相应的程序语句. 2.编写程序,计算函数f(x)=x2-3x+5当x=1,2, 3,…,20时 的函数值. 3.编写一个程序,输入正整数n,计算它的阶乘n! (n!=n*(n-1)*…*3*2*1) 练习 P24 1.根据你画出的用二分 法求方程x2-2=0的近似 根的程序框图,写出 相应的程序语句. 开始 x1=1,x2=2 c=0.005 输出x f(x1)f(x)<0? 否 是 x1=x x2=x |x1-x2|n PRINT "这个数的阶乘为:";t END 练习巩固 1、设计一个算法框图:逐个输出12,22,32,……,n2,并写出相应的QBASIC程序. INPUT n i = 0 WHILE i < n i = i + 1 t = i ^ 2 PRINT t WEND END INPUT n i = 0 DO i = i + 1 t = i ^ 2 PRINT t LOOP UNTIL i > = 100 END 结束 i=0 开始 i = i+1 : t=i^2 i>=100? 否 是 PRINT t INPUT n 2、设计一个算法框图:求满足1+2 + 3 + … + n>10000的最小正整数n,并写出相应的QBASIC程序. 结束 输出i i=0,Sum=1 开始 i = i + 1 Sum=Sum*i Sum>10000? 否 是 i = 0 Sum = 0 DO i = i + 1 Sum = Sum + i ... ...
~~ 您好,已阅读到文档的结尾了 ~~