1、11.3.3循环语句学习目标1.正确理解循环语句的概念,并掌握其结构.2.会应用条件语句和循环语句编写伪代码.3.经历对现实生活情境的探究,认识到应用计算机解决数学问题的方便简捷知识链接在一些破解密码的软件中,经常会使用穷举法,或称为暴力破解法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止例如一个已知是六位并且全部由数字组成的密码,其可能共有1000000种组合,因此在软件中可以将密码由000000开始至999999逐个试一遍,因此最多尝试1000000次就能找到正确的密码理论上利用这种方法可以破解任何一种密码,问题只在于如何缩短破解的时间你知道这种软件是如何设计的吗
2、?预习导引1循环语句循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型(UNTIL)和当型(WHILE)两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构2循环语句的格式、功能及程序框图的对应关系名称直到型当型格式DO循环体LOOPUNTIL条件WHILE条件循环体WEND过程先执行一次DO和UNTIL之间的循环体语句,再判断UNTIL后的条件是否符合,如果不符合,继续执行循环体语句,然后再检查上述条件,如果仍不符合,再次执行循环体语句,直到条件符合时为止,这时不再执行循环体,跳出循环体,执行UNTIL语句后面的语句先判断条件的真假,如果条件符合,则执行WHILE和W
3、END之间的循环体语句,然后再检查上述条件,如果条件仍符合,再次执行循环体语句,这个过程反复进行,直到某一次条件不符合为止,这时不再执行循环体,跳出循环体,执行WEND后面的语句对应程序框图要点一直到型循环语句的应用例1画出计算1232529992的值的程序框图,并写出伪代码解由题意知各项指数相同,底数相差2,可以借助于循环结构设计算法程序框图:伪代码为:规律方法1.直到型循环语句中先执行一次循环体,再判断条件是否满足,以决定继续循环还是退出循环2循环次数的控制往往是判断条件,在循环体内要控制条件的改变,否则会陷入死循环3控制循环次数的变量要综合考虑初始化时和LOOPUNTIL后两处,若初始值
4、为1,则循环体中累加,若初始值为循环的次数,则循环体中递减跟踪演练1设计一个计算1357999的值的算法解程序框图如图所示:伪代码:要点二当型循环语句的应用例2编写伪代码求246100的值解程序框图:伪代码:规律方法1.计算机执行当型循环语句时,先判断条件的真假,若条件为真,则执行循环体,若为假,则退出这是确定是否应用当型语句的关键2当型循环语句中WHILE和WEND成对出现3判断条件往往是控制循环次数的变量跟踪演练2下面伪代码运行后的输出结果为()A17B19C21D23答案C解析当i9时,S29321,循环结束.1关于循环语句的说法不正确的是()A算法中的循环结构只能由WHILE语句来实现
5、B循环语句中有直到型语句和当型语句,即UNTIL语句和WHILE语句C一般来说UNTIL语句和WHILE语句可以互相转换D算法中的循环结构由循环语句来实现答案A解析算法中的循环结构由循环语句来实现,循环语句包括UNTIL语句和WHILE语句两种不同的格式,且一般情况下这两种语句可以相互转换所以选项A是错误的,其余都正确2下列问题可以设计成循环语句计算的有()求133239的和;比较a,b两个数的大小;对于分段函数,要求输入自变量,输出函数值;求平方值小于100的最大整数A0个B1个C2个D3个答案C解析和用到循环语句;用不到故选C.3读伪代码对甲、乙两伪代码和输出结果判断正确的是( )A伪代码
6、不同,结果不同B伪代码不同,结果相同C伪代码相同,结果不同D伪代码相同,结果相同答案B解析两个伪代码虽然不同,但都是求S1231000的值,故结果相同4下列的伪代码执行后输出的结果是()A1B0C1D2答案B解析当S543214时,n211,此时S15,继续执行循环体,则S5432115,n110,此时S15,循环结束,输出0.5下面的伪代码运行后第3个输出的数是答案2解析该程序中关键是循环语句,第一次输出的数是1,第二次输出的数是x1,第三次输出的数是x12.应用循环语句编写伪代码要注意以下三点:(1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值(2)循环语句在
7、循环的过程中需要有“结束”的语句,程序中最忌“死循环”(3)在循环中要改变循环条件的成立因素程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循环体的条件一、基础达标1下列给出的四个框图,其中满足WHILE语句格式的是()A(1)(2) B(2)(3)C(2)(4) D(3)(4)答案B解析WHILE语句的特点是“前测试”2下面的伪代码:执行完毕后a的值为()A99B100C101D102答案B解析a991100.3阅读下面的伪代码上述伪代码的功能是()A计算310的值B计算310的值C计算39的值D计算12310的值答案D解析循环变量初始值为1,终止值为10,i1时,
8、s1;i2时,s21;i3时,s32;故输出的是12310的值4运行下面的伪代码,执行后输出的s的值是( )A11B15C17D19答案B解析当i1时,i3,s2317;当i3时,i5,s25111;当i5时,i7,s27115.退出循环,输出s15.5运行下面的伪代码,输出的值为答案7解析由于循环体是先执行SSi,再执行ii1,然后进行判断,当S1234515时,执行i516,这时1518成立,再循环一次S15621,i617,这时再判断2110解析此为直到型循环,在程序一开始,即i1时,开始执行循环体,当i10时继续执行循环体,题目中求10个数的平均数,所以当i10时应终止循环7设计一个计
9、算135799的值的伪代码,并画出程序框图解伪代码如下:程序框图如图所示:二、能力提升8下面伪代码运行后,输出的结果为()A7B8C3,4,5,6,7D4,5,6,7,8答案D解析第一次循环,s3,x4,输出4;第二次循环,s7,x5,输出5;第三次循环,s12,x6,输出6;第四次循环,s18,x7,输出7;第五次循环,s25,x8,输出8.9下面伪代码运行的结果是答案200,11解析每次执行循环体后x与i的值对应如下:x110120130140150160170180190200i23456789101110.下面伪代码表示的算法是答案求使123n5000的n的最小正整数11根据下列伪代码画出相应的程序框图解如图所示三、探究与创新12求200以内(包括200)的所有偶数的和,试用两种循环结构画出其程序框图并编写伪代码解当型循环,程序框图如图所示:伪代码为:直到型循环,程序框图如图所示:伪代码为:13设计算法求的值,并画出程序框图及编写伪代码解算法如下:S1:令S0,i1;S2:若i99成立,则执行S3;否则,输出S,结束算法;S3:SS;S4:ii1,返回S2.法一当型循环程序框图:伪代码如下:法二直到型循环程序框图:伪代码如下:第 6 页