1、3.2循环语句1理解并掌握For语句和Do Loop语句两种基本循环语句(重点)2掌握两种循环语句的一般格式3能够利用两种基本循环语句解决相关的问题(难点)教材整理循环语句阅读教材P108P109“练习”以上部分,完成下列问题1For语句和Do Loop语句(1)For语句:在循环结构中,若预先知道循环次数,一般用For语句来表达,其一般形式为:For循环变量初始值To终值循环体Next(2)Do Loop语句:在一些循环结构中,预先不知道循环的次数,要根据其他形式的终止条件停止循环这种情况下,一般用Do_Loop语句来描述,其一般形式为:Do循环体LoopWhile条件为真2基本语句描述算法
2、的优点使用基本语句描述算法,和自然语言相比,基本语句描述的算法显得直观、清楚、明了,它的另一个优点是比较接近程序语言,便于编写程序,上机实现判断(正确的打“”,错误的打“”)(1)For语句适用于任何循环结构()(2)循环语句中循环体是反复执行的()(3)For语句与Do Loop语句之间可以无条件相互转化()【解析】(1),For语句只适用于预先知道循环次数的循环结构(2),由定义知循环体在循环语句中是反复执行的(3),For语句与Do Loop语句之间相互转化是要看条件的,只有知道了循环次数后才可以转化【答案】(1)(2)(3) For语句画出求1的值的算法框图,并用For语句描述该算法【
3、精彩点拨】观察式子特点,这是一个累加问题,后一个数的分母比前一个数的分母大1.根据此特点设计其算法,画出算法框图,并用For语句描述即可【自主解答】算法框图为:用For语句描述算法为:S0Fori1 To 1 000 SS1/iNext输出S.利用For语句实现循环结构的三个关键点:第一, 确定变量的初值,即进行初始化操作;第二,确定循环的次数、步长以及终值;第三,确定循环体的内容.1用For语句写出一个计算1357199的算法程序,画出程序框图【解】程序框图如下:程序如下:S1Fori1To 199 Step 2 SS*iNext输出SDo Loop语句画出求满足135n2 011的最小自然
4、数n的算法框图,并用相应的算法语句描述该算法. 【导学号:63580029】【精彩点拨】这是一个累加求和问题,可以使用循环语句描述算法,又因为循环次数不能事先预知,仅知道结束循环的条件,因此可设置一个累加变量来控制循环次数每循环一次累加变量就增加一个数,并将它与2 011进行比较,直到大于2 011为止【自主解答】算法框图如下:用Do Loop语句描述为:S0i1Do SSi ii2Loop WhileS2 011ni2输出n.利用Do Loop语句的两个关注点:(1)在利用Do Loop语句解决相关问题时,要熟练掌握Do Loop语句的一般格式.在运行语句的时候,先执行循环体,然后再判断条件
5、是否成立. (2)Do Loop语句可以不知道循环的次数,但是结束循环的条件必须确定.2求122232n21 000成立的n的最大正整数值,用算法语句表示其算法【解】S1i2Do SSi2 ii1Loop WhileS1 000ni2输出n.循环语句的综合应用探究1循环语句的应用条件是什么?【提示】在处理问题时,对某一步骤或若干步骤重复执行多次,即对不同的运算对象进行若干次的相同运算式处理,这种模式由循环语句来实现探究2For语句与Do Loop语句可以相互转化的条件是什么?【提示】当知道循环体被执行的次数时,两者可以相互转化探究3循环语句与条件语句的关系是什么?【提示】循环语句中一定有条件语
6、句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题探究4两种循环语句的区别与联系是什么?【提示】 (1)联系:两种循环语句都是用来解决具有规律性的重复计算的相关问题,实现算法中的循环结构的有时,这两种循环语句可以进行互化两种循环语句在循环流程中都必须具备三个要素:第一,需要进行初始化操作,限定约束条件第二,循环需要有结束的机会,不能出现死循环的情况第三,在循环中,每执行一次循环体,变量就会发生改变,并逐渐接近满足跳出循环的条件(2)区别:For语句,首先确定了循环的次数,然后执行循环体,而Do Loop语句是先执行
7、循环体再设定循环结束的条件(1)根据下列算法语句画出算法框图(2)某商场第一年销售平板电脑5 000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30 000台?画出解决此问题的算法框图,并写出算法语句【精彩点拨】(1)明确循环体及控制变量是解题的关键;(2)写出第几年销量时注意控制条件为总和小于30 000.【自主解答】(1)算法框图:(2)算法框图如图所示:算法语句:m5 000S0i0Do SSm mm*(10.1) ii1Loop While S0Then 输出x mm1 End IfLoop Whilei100输出m.1下列问题,设计程序求解时,要
8、用到循环语句的有()输入每个同学的数学成绩,求全班同学的平均分;求分段函数的函数值;求连续100个自然数的平方和;输入100个数,从中找出最大的数A1个B2个C3个D4个【解析】要用到循环语句【答案】C2以下算法运行的结果为()t2Fori2To8Step2 tt*iNext输出t.A96B192C394D768【解析】第一次循环,t22,第二次循环,t44,第三次循环,16696,第四次,968768.【答案】D3下面的算法语句执行后输出的结果为_i1S0Do SSi ii1LoopWhilei9输出S.【解析】该程序是求S123945.【答案】454以下程序表示的是求1的值其中处应填_【解析】由题意知i初值为1,终值为99,步长为2,故处填i1 To 99 Step 2.【答案】i1To99Step25请用循环语句设计计算24620值的算法【解】S0Fori1To10 SS2*iNext输出S.