您好,欢迎访问三七文档
算法初步第一章1.2基本算法语句1.2.3循环语句课前自主预习1.理解循环语句的概念,并掌握其结构.2.会应用条件语句和循环语句编写程序.3.通过对现实生活情境的探究,体会应用计算机解决数学问题的方便简捷.1.循环语句循环语句与程序框图中的相对应,一般程序设计语言中都有直到型(UNTIL)和两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.循环结构当型(WHILE)2.两种循环语句的对比1.循环语句与条件语句有何关系?[提示]循环语句中一定有条件语句,条件语句是循环语句的一部分,离开条件语句,循环语句无法循环.但条件语句可以脱离循环语句单独存在,可以不依赖循环语句独立地解决问题.2.编写程序时,什么情况下使用循环语句?[提示]在问题处理中,对不同的运算对象进行若干次相同运算或处理时,一般用到循环结构,在编写程序时要用到循环语句.3.判断正误.(正确的打“√”,错误的打“×”)(1)UNTIL语句中先进行条件判断,再执行循环体;WHILE语句中先执行循环体,再进行条件判断.()(2)循环语句中一定有条件语句,条件语句中一定有循环语句.()(3)直到型循环语句和当型循环语句执行循环体的次数都可能是零.()[提示](1)×UNTIL语句中先执行循环体,再进行条件判断;WHILE语句中先进行条件判断,再执行循环体.(2)×循环语句中一定有条件语句,但条件语句中不一定有循环语句.(3)×直到型循环语句中执行循环体的次数大于或等于1.课堂互动探究题型一UNTIL语句及应用【典例1】(1)用UNTIL语句写出求1-12+13-14+…+1999-11000的程序.(2)根据下列程序,画出相应的程序框图.s=0k=1DOs=s+1/k*k+1k=k+1LOOPUNTILk99PRINTsEND[思路导引](1)这是一个累加求和问题,共有1000项相加,可设计一个记数变量,一个累加变量,用循环结构实现这一算法;(2)根据语句转化为程序框图.[解](1)程序如下:s=0i=1DOs=s+-1^i-1/ii=i+1LOOPUNTILi1000PRINTsEND(2)程序框图如图所示.对UNTIL语句的几点说明(1)直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环.(2)循环次数的控制往往是判断条件,在循环体内要控制条件的改变,否则会陷入“死循环”.(3)控制循环次数的变量要综合考虑初始化时和LOOPUNTIL后两处,若初始值为1,则循环体中累加,若初始值为循环的次数,则循环体中递减.[针对训练1]下面是求满足1+3+5+…+n2019的最小自然数n的程序框图,试把它设计成程序.[解]程序如下:S=0i=1DOS=S+ii=i+2LOOPUNTILS2019PRINT“最小自然数为:”;i-2END题型二WHILE语句的应用【典例2】(1)设计一个计算1×3×5×7×9×11×13的算法.图中给出了程序的一部分,则在横线①上不能填入的数是()S=1i=3WHILEi①S=S*ii=i+2WENDPRINTSENDA.13B.13.5C.14D.14.5(2)编写程序求2×4×6×…×100的值.[解析](1)由执行程序得,S=3,i=5;S=1×3×5,i=7;S=1×3×5×7,i=9;S=1×3×5×7×9,i=11;S=1×3×5×7×9×11,i=13;S=1×3×5×7×9×11×13,i=15,此时结束循环,故横线①上的数在(13,15]内,不能填13.(2)程序框图:程序:i=2m=1WHILEi<=100m=m*ii=i+2WENDPRINTmEND[答案](1)A(2)见解析引申探究1:例2(1)中若将“设计一个计算1×3×5×7×11×13的算法”改为“设计一个计算1×3×5×7×9×11×13×15的算法”,则横线①上填入的数应在什么范围内?[解]程序运行过程中,各变量值如下所示:第1次循环:S=1×3,i=5,第2次循环:S=1×3×5,i=7,第3次循环:S=1×3×5×7,i=9,第4次循环:S=1×3×5×7×9,i=11,第5次循环:S=1×3×5×7×9×11,i=13,第6次循环:S=1×3×5×7×9×11×13,i=15,第7次循环:S=1×3×5×7×9×11×13×15,i=17,其中判断框内应填入的数要大于15且小于等于17.引申探究2:例2(1)图中的程序是哪种循环语句?你能把它用另一种循环语句写出来吗?[解]图中的程序是WHILE型循环语句,用UNTIL语句写程序如下:S=1i=3DOS=S*ii=i+2LOOPUNTILi=14PRINTSEND当型循环语句的设计策略(1)当型循环也叫“前测试循环”,也就是先判断后执行.(2)WHILE语句中的条件是指循环体的条件,满足此条件时执行循环体,不满足时,则执行循环结构后面的语句.[针对训练2]已知程序如下,则输出结果S=________.i=0S=0WHILEi<6i=i+2S=S+i^2WENDPRINTSEND[解析]根据程序逐次写出每次循环的结果.第一次循环,i=2,S=4;第二次循环,i=4,S=4+16=20;第三次循环,i=6,S=20+36=56.由于i=6不满足条件,跳出循环,输出S,结果为56.[答案]56题型三循环语句和条件语句的嵌套【典例3】编写程序,求出24的所有正因数.[解]程序框图如图所示(MOD是用来取余数).程序如下:i=1DOr=24MODiIFr=0THENPRINTiENDIFi=i+1LOOPUNTILi>24END本题在循环结构中包含条件结构,所以在写混合语句时,应明确循环体和条件结构之间的关系,此类循环语句嵌套条件语句的问题和解题思路是:先确定外层的循环语句,再逐步确定内层的条件,一定要保证内层的变量与外层的变量不能冲突,以免引起矛盾.[针对训练3]给出以下10个数:4,10,70,33,95,74,29,17,60,30,要求将大于40的数找出来,画出求解该问题的程序框图,并写出程序.[解]程序框图如图.程序如下:i=1DOINPUTxIFx>40THENPRINTxENDIFi=i+1LOOPUNTILi>10END课堂归纳小结应用循环语句编写程序要注意以下三点:(1)循环语句中的变量一定要合理设置初始值.(2)循环语句在循环的过程中需要有“结束”的语句,即有跳出循环的机会.(3)在循环中要改变循环条件的成立因素.程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件.
本文标题:2019-2020学年高中数学 第1章 算法初步 1-2-3 循环语句课件 新人教A版必修3
链接地址:https://www.777doc.com/doc-8292046 .html