资源描述
,欢迎进入数学课堂,1.2.3循环语句,自学导引1.了解由条件语句实现循环的方法.2.会利用循环语句编写程序.3.要注意不同循环结构的区别与联系.,课前热身1.算法中的_结构是用循环语句来实现的,对应于循环结构中的两种循环结构,一般程序设计语言中也有_型和_型两种语句结构,即WHILE语句和UNTIL语句.,循环,当,直到,2.WHILE语句的一般格式是:当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就_,每次开始执行循环体前都要判断_.这样反复进行,一直到_时,就直接跳到WEND语句后,接着执行WEND之后的语句.因此“当型循环”有时也称为“_”循环.,WHILE条件循环体WEND,前测试,执行循环体,条件的真假,某一次条件不符合为止,如下图表示WHILE语句的结构,3.UNTIL语句的一般格式是,DO循环体LOOPUNTIL条件,对应的程序框图如下:,名师讲解1.WHILE语句(1)WHILE语句的一般格式是:,(2)计算机执行此程序时,遇到WHILE语句,先判断条件是否成立,如果成立,则执行WHILE和WEND之间的循环体,然后再判断上述条件,如果条件仍成立,再次执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,直接跳到WEND语句后,执行WEND后面的语句.,(3)WHILE语句对应的基本框图(当型循环)如图所示:,2.UNTIL语句(1)UNTIL语句的一般格式是:,(2)计算机执行UNTIL语句时,先执行DO和LOOPUNTIL之间的循环体,然后判断条件是否成立,如果不成立,执行循环体.这个过程反复执行,直到某一次符合条件为止,这时不再执行循环体,跳出循环体执行LOOPUNTIL后面的语句.,(3)UNTIL语句对应的基本框图(直到型)如图所示:,3.当型循环与直到型循环的区别(1)当型循环先判断后执行,直到型循环先执行后判断.(2)当型循环用WHILE语句,直到型循环用UNTIL语句.(3)对同一算法来说,当型循环和直到型循环的条件互为反条件.,4.在用WHILE语句和UNTIL语句编写程序解决问题时,一定要注意它们的格式及条件的表述方法.WHILE语句中是当条件满足时执行循环体,而UNTIL语句中是当条件不满足时执行循环体.在解决一些需要反复执行的运算任务,如累加求和累乘求积等问题中应主要考虑利用循环语句来实现,但也要结合其他语句如条件语句.,典例剖析题型一累加问题,例1:编写一个程序计算12+32+52+9992,并画出相应的程序框图.分析:由题意知各项指数相同,底数相差为2.可以借助于循环语句设计算法.解:方法1:程序框图如下图:,程序为:s=0i=1WHILES999PRINTsEND,规律技巧:本题是一个累加求和问题.自然想到用循环语句设计算法.算法的设计又带有灵活性和通用性,熟练地掌握这一类题的解法,对于解决与此相关的问题有很大帮助.,分析:设置累加求和,用循环语句实现,可用WHILE语句.,解:方法一:,方法二:可用“UNTIL语句”,题型二累乘问题例2:(2009广东模拟)试编写程序求满足1357_10000的最小正整数.分析:将1357i求积,然后与10000比较,如果大于10000就输出i;否则继续循环,直到找出i为止.,解:用UNTIL语句编写程序如下:S=1i=1DOi=i+2S=S*iLOOPUNTILS10000PRINTiEND,规律技巧:本题是求1357的累积,从题设中能找到三个信息:循环变量i;每次增加2;循环体S=S*i,循环结束的条件是S10000.,变式训练2:对例2,请用WHILE语句编写程序.解:用WHILE语句编写程序如下:S=1i=1WHILES30?P=i(2)程序如下:P=1S=0i=1DOS=S+PP=ii=i+1LOOPUNTILi30PRINTSEND,题型四理解循环语句的执行过程例4:(2009广东模拟)分别写出下列算法语句(1)和(2)运行的结果(1)_;(2)_.(1)(2),S=0i=0DOS=S+ii=i+1LOOPUNTILS20PRINTiEND,S=0i=0DOi=i+1S=S+iLOOPUNTILS20PRINTiEND,7,6,解析:由程序(1)知S=0+1+2+3+4+5+6=2120,终止运行,此时i=7.对于程序(2)有S=1+2+3+4+5+6=2120,终止运行,此时,循环执行了6次,所以i=6.,变式训练4:(2009江苏连云港第二次调研)下面的程序的结果是_.i=1S=1WHILEi=n解析:该程序应用当型循环结构,i为控制变量,每次循环增加1,因此应填i=n,故选B.答案:B,6.下面的程序执行后输出的结果是(),A.-1B.0C.1D.2解析:阅读该程序知,该程序运行了5次,此时s=5+4+3+2+1=15,终止运行,因此n=5-5=0,应选B.答案:B,解析:结合算式及程序框图知,该程序循环10次,应用的当型循环结构,因此应填i=10?答案:i=10?,8.根据下列程序画出相应的程序框图.,解:程序框图如图:,能力提升9.阅读下面的程序,回答下面的问题.,(1)此程序的算法逻辑结构是_型循环结构.(2)画出此程序的结构框图.(3)试用UNTIL语句编写此程序.解:(1)由程序知,运行时先对条件进行判断,根据判断的结果再次决定是否进入循环体,故是当型循环结构.,(2)程序框图如下图所示:,(3)用UNTIL语句编写此程序如下:,10.(2010山东模拟)程序如下:x=100i=1DOx=x+10PRINTi,xi=i+1LOOPUNTILx=200END,该程序运行的结果是_.答案:1,110;2,120;3,130;4,140;5,150;6,160;7,170;8,180;9,190;10,200,11.某程序框图如下图所示,该程序运行后输出k的值是()A.4B.5C.6D.7,解析:k=0,S=0,S100,程序运行结束,此时输出k=4.答案:A,12.下图是求12+22+32+1002的值的程序框图,则正整数n=_.答案:100,同学们,来学校和回家的路上要注意安全,同学们,来学校和回家的路上要注意安全,
展开阅读全文