1、第一章 算法初步12 基本算法语句12.3 循环语句内 容 标 准学 科 素 养1.理解循环语句的两种格式及功能.2.会应用条件语句和循环语句编写程序.3.掌握当型循环和直到型循环的条件.提升数学运算发展逻辑推理培养数学建模01 课前 自主预习02 课堂 合作探究03 课后 讨论探究04 课时 跟踪训练基础认识知识点一 UNTIL 语句预习教材 P2930,思考并完成以下问题在一些破解密码的软件中,经常会使用穷举法,或称为暴力破解法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止.例如一个已知是六位并且全部由数字组成的密码,其可能共有 106 种组合,因此最多尝试 10
2、6 次就能找到正确的密码.理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短试误时间.(1)为什么要引入循环语句?提示:在一些算法中经常会出现从某处开始按一定条件反复执行的某一步骤.(2)直到型循环结构的程序框图是什么?提示:(3)直到型循环结构对应的循环语句的一般格式如何设定?提示:循环体是由计算机反复执行的一组语句构成的直到型循环结构对应的循环语句的一般格式为:DO 循环体LOOP UNTIL 条件知识梳理名称直到型格式DO 循环体_条件功能先执行一次_和_之间的循环体,再判断 UNTIL后的条件是否符合,如果不符合,继续_,然后再检查上述条件,如果仍不符合,再次_,直到_时为止这
3、时不再执行循环体,跳出循环体执行_语句后面的语句LOOP UNTIL DO UNTIL 执行循环体执行循环体条件符合UNTIL 对应程序框图知识点二 WHILE 语句预习教材 P30,思考并完成以下问题(1)当型循环结构的程序框图是什么?提示:当型循环结构:(2)该循环结构对应的循环语句的一般格式如何设定?提示:WHILE 条件 循环体WEND知识梳理名称当型格式WHILE 条件循环体_功能先判断条件的真假,如果_,则执行 WHILE 和 WEND之间的循环体,然后再检查上述条件,如果_,再次执行循环体,这个过程反复进行,直到某一次_为止,这时不再执行循环体,跳出循环体,执行_后面的语句WEN
4、D 条件符合条件仍符合条件不符合WEND 对应程序框图自我检测1下列问题可以设计成循环语句计算的有()求 133239 的和;比较 a,b 两个数的大小;对于分段函数,要求输入自变量,输出函数值;求平方值小于 100 的最大整数A0 个 B1 个C2 个D3 个解析:和用到循环语句;用不到故选 C.答案:C2下列四个程序框图中能用直到型语句描述的是()解析:直到型语句特征是不满足条件,执行循环体,满足条件,退出循环答案:A3有以下程序段,下面说法正确的是()K8WHILE K0 KK1WENDAWHILE 循环执行 8 次B该循环体是无限循环C循环体语句一次也不执行D循环体语句只执行一次解析:
5、对于 WHILE 语句,若满足条件,则执行循环体,而 K8,不满足条件 K0,所以循环体一次也不执行答案:C探究一 WHILE 语句的应用例 1 编写程序,计算 112131411 000的值解析 程序框图如下:程序:方法技巧 1.计算机执行当型循环语句时,先判断条件的真假,若条件为真,执行循环体,若为假则退出这是确定是否应用当型语句的关键2当型循环语句中 WHILE 和 WEND 成对出现3判断条件往往是控制循环次数的变量延伸探究 1.若将题目改为“计算 1121314 1999 11000”应如何设计程序?解析:程序框图如下:程序:探究二 UNTIL 语句的应用阅读教材 P30 例 8修改
6、本节例 1 的程序,连续输入自变量的 11 个取值,输出相应的函数值方法步骤:第一步,输入自变量的值第二步,计算 y 值第三步,输出 y.第四步,记录输入次数第五步,判断输入次数是否大于 11.若是,结束算法;否则,返回上一步例 2 下列两个程序(1)和(2)的运行结果分别是()程序(1):程序(2):A7,7 B7,6C6,7 D6,6解析 程序(1):S0,i011,不满足 S20,执行循环;S1,i112,不满足 S20,执行循环;S123,i213,不满足 S20,执行循环;S336,i314,不满足 S20,执行循环;S6410,i415,不满足 S20,执行循环;S10515,i5
7、16,不满足 S20,执行循环;S15621,i617,满足 S20,退出循环,输出 i,此时 i7.程序(2):i011,S1,不满足 S20,执行循环;i112,S123,不满足 S20,执行循环;i213,S336,不满足 S20,执行循环;i314,S6410,不满足 S20,执行循环;i415,S10515,不满足 S20,执行循环;i516,S15621,满足 S20,退出循环输出 i,此时 i6.故选 B.答案 B方法技巧 1.直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环2循环次数的控制往往是判断条件,在循环体内要有控制条件的改变,否则会陷入死
8、循环3控制循环次数的变量要综合考虑初始值时和 LOOP UNTIL 后两处,若初始值为 1,则循环体中累加,若初始值为循环的次数,则循环体中递减跟踪探究 画出计算 1232529992 的程序框图,并写出程序解析:由题意知各项指数相同,底数相差 2,可以借助于循环设计算法程序框图:程序为:探究三 循环语句的综合应用例 3 写出计算 123252992 的程序(用两种方法)解析 法一:用 WHILE 语句编写程序如下:法二:用 UNTIL 语句编写程序如下:方法技巧 应用循环语句解决问题应关注两点(1)对于累加求和问题及累乘求积问题,需用到循环结构,解题的关键是设立累加变量 S 及控制循环次数的
9、计数变量,可以用当型循环语句或直到型循环语句来设计程序(2)在 WHILE 语句中是当条件满足时执行循环体,而在 UNTIL 语句中是当条件不满足时执行循环体,二者是有区别的,在用两种循环语句编写程序时应注意条件的不同,它们的表达方法恰好是相反的延伸探究 2.如果把 WHILE 语句的条件“i99”改为“i99”,所计算的问题会如何?如果改为“i100”或“i100”呢?解析:如果将 WHILE 语句的条件由“i99”改为“i99”,实际上是 i 只取到 97,少运行一次循环,解决的是计算 123252972 的结果如果改为“i100”或“i100”,没改变 i 的最终取值,仍然是计算 123
10、252992 的值3如果要计算 11315 199的值,该怎么设计程序语句?解析:只要把循环体中语句“SSi2”改为“SS1/i”即可课后小结应用循环语句编写程序要注意以下三点:(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值(2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”(3)在循环中要改变循环条件的成立因素程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件素养培优1循环过程把握不准下面程序运行后输出的结果为()A0 B1C2 D4易错分析 对循环过程不理解,误认为 j1 时,余数 a0,即 j1 时,没有执行第一次循环自我纠正 当 j1 时,余数 a1;当 j2 时,余数 a3;当 j3 时,余数 a1;当 j4 时,余数 a0;当 j5 时,余数 a0;当 j6 时,不满足条件,此时退出循环答案:A2题意中符号表示未审清某商场第一年销售计算机 5 000 台,如果平均每年的销售量比上一年增加 10%,那么从第一年起,大约经过几年可使总销量达到 40 000 台?写出解决此问题的程序错解 程序如下:易错分析 错解中的循环求出的 S 不是总销量,而是每年的年销量用“mm*(10.1)”表示累乘,求出每年销量;用“SSm”表示累加,求出总销量自我纠正 程序如下:课时 跟踪训练