1、“循环(结构)语句”学习要点指津一 学问点1. WHILE语句WHILE语句的一般格式是 对应的程序框图是满足条件?循环体否?是?WHILE 条件循环体WEND说明:计算机执行此程序时,遇到WHILE语句,先推断条件是否成立,假如成立,则执行WHILE和WEND之间的循环体,然后再推断上述条件,再执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,将跳到WEND语句后,执行WEND后面的语句。2、UNTIL语句UNTIL语句的一般格式是 对应的程序框图是满足条件?循环体是否DO循环体LOOP UNTIL 条件说明:计算机执行UNTIL语句时,先执行DO和LOOP UNT
2、IL之间的循环体,然后推断条件是否成立,假如不成立,执行循环体。这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOP UNTIL后面的语句。3、当型循环与直到型循环的区分(1)当型循环先推断后执行,直到型循环先执行后推断;(2)当型循环用WHILE语句,直到型循环用UNTIL语句;(3)对同一算法来说,当型循环和直到型循环的条件互为反条件。二 典型例题分析例1. 运用当型和直到型两种循环结构画出求值的程序框图.算法分析:欲求只需一个累加变量和一个计数变量,将累加变量的初始值设为0,计数变量的值可以从1100.程序框图:输出sum 结束 开头 I=1 Sum=0
3、I=I+1 I100? 输出sum 结束 开头 I=1 Sum=0 I=I+1 I25a=S/25PRINT aENDS=0i=1WHILE I=25INPUT xS=S+xi=i+1a=S/25WENDPRINT aEND例4.“百钱买百鸡”问题:今有鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一.凡百钱买百只,问鸡翁、母、雏各几何?请设计解决该问题的算法,给出求解“百钱买百鸡”问题的程序.分析:设x,y,z分别表示鸡翁、鸡母、鸡雏的只数.若100元钱买鸡翁,则最多可买(1005=20只),所以0x20,同理0y33.当鸡翁和鸡母的只数确定后,鸡雏的只数z=100-x-y也随之确定了.参考程序: x=0i=0while x=20y=0while y=0 then if 5*x+3*y+z/3=100 then i=i+1 Print “有一组解为:”;x;y;z end ifend if y=y+1 wend x=x+1 wend print“共有”;i;“组解.” end由以上例子我们可以看出,在用WHILE语句和UNTIL语句编写程序解决问题时,肯定要留意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.