1、1.2.3 循环语句循环语句 学案学案 新知自解新知自解 1.理解循环语句的两种格式及功能并能互化理解循环语句的两种格式及功能并能互化. 2.能将程序框图与程序语句进行能将程序框图与程序语句进行互化互化. 3.会求程序执行后的结果会求程序执行后的结果. 循环语句循环语句 循环语句与程序框图中的循环语句与程序框图中的_相对应相对应,一般程序设计语言中都有一般程序设计语言中都有 _和和_两种循环语句结构两种循环语句结构, 分别对应程序框图中的当型和直到型分别对应程序框图中的当型和直到型 循环结构循环结构. 循环结构循环结构 WHILE UNTIL 两种循环语句的对比两种循环语句的对比 名称名称 直
2、到型直到型 当型当型 程序程序结构结构框图框图 格式格式 DO 循环体循环体 _条件条件 WHILE 条件条件 循环体循环体 _ LOOP UNTIL WEND 执执 行行 步步 骤骤 先执行一次先执行一次_和和_之间之间 的循环体的循环体,再判断再判断 UNTIL 后的条件后的条件 是否符合是否符合,如果不如果不符合,继续符合,继续 _, 然后再检查上述条件然后再检查上述条件, 如果仍不符合如果仍不符合,再次再次_直直 到某一次到某一次_为止为止.这时不再这时不再 执行循环体执行循环体,跳出循环体执行跳出循环体执行 _语句后面的语句语句后面的语句 先判断条件的真假先判断条件的真假, 如果如果
3、_, 则执行则执行 WHILE 和和 WEND 之间的循之间的循 环体环体,然后再检查上述条件然后再检查上述条件,如果如果 _,再次执行循环体再次执行循环体,这这 个过程反复进行个过程反复进行,直到某一次直到某一次 _为止为止,这时不再执行这时不再执行 循环体循环体,跳出循环体跳出循环体,执行,执行_ 后面的语句后面的语句 DO UNTIL 执行循环体执行循环体 执行循环体执行循环体 条件符合条件符合 UNTIL 条件符合条件符合 条件仍符合条件仍符合 条件不符合条件不符合 WEND 化解疑难化解疑难 当型循环当型循环(WHILE)语句与直到型循语句与直到型循环环(UNTIL)语句的区别语句的
4、区别 (1)当型循环先判断条件后执行当型循环先判断条件后执行,循环体可能一次也不执行循环体可能一次也不执行. (2)直到型循环先执行一次循环体再判断条件直到型循环先执行一次循环体再判断条件,即循环体至少执行一次即循环体至少执行一次. (3)对同一个算法对同一个算法,当型循环语句与直到当型循环语句与直到型循环语句中的条件是相反的型循环语句中的条件是相反的. 1.在循环语句的一般形式中有在循环语句的一般形式中有“UNTIL A” ,其中其中 A 是是( ) A.循环变量循环变量 B.循环体循环体 C.终止条件终止条件 D.终止条件为真终止条件为真 解析:解析: 由循环语句中由循环语句中UNTIL语
5、句的格式可知选语句的格式可知选C. 答案:答案: C 2.下列循环结构下列循环结构,循环终止时循环终止时,n 等于等于( ) n2 WHILE n7 nn1 WEND A.6 B.7 C.8 D.9 解析:解析: 该循环语句是当型循环语句该循环语句是当型循环语句,循环终止时循环终止时,条件条件 n7 开始不成立开始不成立, 即有即有 n8.由于由于 n 能取到能取到 8,则此时有则此时有 n8. 答案:答案: C 3.下面的程序执行后输出的结果是下面的程序执行后输出的结果是 . n5 S0 WHILE S10 000 的最小自然数的最小自然数 n. 解析:解析: 方法一:方法一:当型循环:当型
6、循环: n1 S0 WHILE S10 000 PRINT n2 END 拓展练拓展练 3.某地区人口总数为某地区人口总数为 13 万人万人,如果年自然增长率为如果年自然增长率为 1%,试解答下列问题:试解答下列问题: (1)写出该地区人口数写出该地区人口数 y(万人万人)与年数与年数 i(年年)的函数关系式;的函数关系式; (2)编写程序编写程序,计算多少年后该地区人口总数将达到计算多少年后该地区人口总数将达到 18 万万. 解析:解析: (1)用用 y 表示该地区人口总数表示该地区人口总数,用用 i 表示年数表示年数,则一年后:则一年后:y13 131%13(11%), 二年后:二年后:y
7、13(11%)13(11%)1%13(11%)2, 三年后:三年后:y13(11%)3, i 年后:年后:y13(11%)i. (2)设设 i 年后该地区人口总数将达到年后该地区人口总数将达到 18 万万,即寻找最小的自然数即寻找最小的自然数 i 使得不等使得不等 式式 13(10.01)i18 成立成立. 程序框图:程序框图: 直到型直到型 当型当型 用用 UNTIL 语句:语句: 用用 WHILE 语句:语句: y13 i0 DO yy*(10.01) ii1 LOOP UNTIL y18 PRINT i END y13 i0 WHILE y18 yy*(10.01) ii1 WEND PRINT i END 谢谢观看!谢谢观看!