资源描述
成才之路 数学,路漫漫其修远兮 吾将上下而求索,北师大版 必修3,算法初步,第二章,3 几种基本语句,第二章,32 循环语句,1For语句 循环结构是算法中的基本结构,For语句是表达循环结构最常见的语句之一,它适用于预先知道_的循环结构For语句的一般形式是: For 循环变量初始值 To终值 循环体 Next,循环次数,2Do Loop语句 在循环结构中,若预先不知道循环次数,一般用_来描述,Do Loop语句的一般形式为: Do 循环体 Loop While 条件为真,Do Loop语句,特别提示 For循环语句和Do Loop循环语句的异同: For循环语句和Do Loop循环语句都能表达循环结构的算法,但是它们在表达方式和功能上又有一定的区别,它们的区别主要表现为以下几点: 1书写格式不同 2作用不同:For循环语句主要适用于预先知道循环次数的循环结构;如果预先不知道循环次数,则使用Do Loop循环语句,3For循环语句循环条件在前,首先判断循环条件再执行,如果条件不满足,一次也不执行;而Do Loop循环语句循环条件在后 4用For循环语句编写时要注意设定好循环变量的初始值、终值、循环变量的改变量,应避免出现多一次循环或少一次循环的情况;用Do Loop循环语句编写程序时,一定要注意表达式的写法,当表达式为真时,继续执行循环体,当表达式为假时,结束循环,防止出现表达式正好相反的错误,1下列问题可以设计成循环语句的有( ) 求133239的和; 比较a,b两个数的大小; 对于分段函数,要求输入自变量,输出函数值; 求平方值小于100的最大整数 A0个 B1个 C2个 D3个 答案 C 解析 是由条件语句来实现的;都可由循环语句来实现,2对于下面的语句: x1 Do xx*x Loop While x10 输出x.,下列说法正确的是( ) A输出结果是1 B能执行一次 C能执行10次 D是“死循环”,有语法错误 答案 D,解析 从循环语句的格式看,这个循环语句是Do Loop语句,那么当满足条件x10时,终止循环体,但是第一次执行循环体后x1,由于x110成立,则再次执行循环体,执行完成后x1,则这样无限循环下去,是一个“死循环”,有语法错误,循环终止的条件永远不能满足故选D.,3算法语句如下: S0 For i1 To 1000 SSi Next,其中,语句“For i1 To 1000”的作用是( ) A表示一个数字从1到1000 B表示从1一直加到1000 C表示从1开始循环到1000 D表示i从1开始以1为增量累加到1000 答案 D 解析 由For语句知选D.,4下面算法中,最后输出的结果是_ S0 i1 Do ii2 S3*i+2 Loop While i9 输出S.,答案 29 解析 可列表解答:,5.(1)有下列算法语句: For x1 To 5 Next 输出x 该程序的输出结果是_ (2)有下列算法语句: For x1 To 5 输出x Next 该程序的输出结果是_,答案 (1)5 (2)1 2 3 4 5 解析 (1)中循环体为空,最后输出的值为循环变量x的终值;(2)中循环体为“输出x”,故输出循环变量x的每一个值,循环语句的理解,思路分析 (1)这个算法语句中a是循环变量,循环体为aa2,实际上这个算法处理的是求a2222的问题,循环终止条件为a10. (2)由For语句的形式,本题中i是循环变量,初始值为1,终值为3,循环体为MMi. 规范解答 (1)运行结果为22222212. (2)运行过程是:M0;i1时,MMi011;i2时,MMi123;i3时,MMi336.跳出循环,输出6.,规律总结 判断含有循环语句的算法的执行结果关键是明确循环终止条件在Do Loop语句中,当条件不满足时终止循环;而在For语句中,当循环变量取终值时,再执行一次循环体才终止循环,解析 (1)该程序的运行过程是:s=1;i=9时,s=s*i=1*9=9;i=10时,s=s*i=9*10=90;i=11时,s=s*i=90*11 =990.跳出循环,输出990. (2)这个算法语句中x是循环变量,循环体为x=x-20,实际上这个算法处理的是求x=100-20-20-20-20的问题,循环终止条件为x0,最后输出的结果为20(100-20-20-20-20-20-20-20).,思路分析 用i表示循环次数,用S表示总和,步骤如下: 第一步:输入i、S,i的初始值为1,S的初始值为0; 第二步:i从1开始循环到1000,ii1,SS1/i; 第三步:循环结束后,输出S.,For语句的应用,规范解答 用i表示循环次数,用S表示总和,算法步骤如下: 1令S的初始值为0,i的初始值为1; 2SS1/i,ii1; 3如果i1 000,返回执行第2步,否则输出S. 算法流程图如右图所示:,用For语句表示如下: S0 i1 For i1 To 1 000 SS1/i Next 输出S.,规律总结 (1)For语句是从循环变量的初始值开始执行一次循环后,直到循环变量取到其终值结束循环,适用于预先知道循环次数的循环结构 (2)在For循环语句中,我们默认循环变量每次的增量为1.如果需要考虑增加量不为1的情况,需使用参数step. 例如:“输出1到100内的所有奇数”的算法语句为: For i1 To 100 Step 2 输出i Next,用For语句编写一个计算12221002的算法 解析 算法语句为: S0 For i1 To 100 SSi*i Next 输出S,思路分析 可以用递推的方法,从1开始,逐次加1,只要该数的立方小于104就输出,可以用循环语句写出,Do Loop语句的应用,规范解答 依题意,流程图如图所示:,程序如下: i1 ni3 Do 输出n ii1 ni3 Loop While n10000 End 规律总结 在Do Loop语句中,每一次重复后,都要检验While后的条件是否满足,一旦不满足,循环停止,若135n6000,试设计一个程序,寻找满足条件的最小n值 解析 S0 i1 Do SSi ii2 Loop Whlie S6000 ni2 输出n,思路分析 可用一个循环依次输入20个数,并将它们的和存在一个变量S中,最后用S除以20即可得到它们的平均数,循环语句的综合应用,规范解答 用Do Loop语句程序如下; S0 i1 Do 输入x SSx ii1 Loop While i20 aS/20 输出a,用For语句则程序如下: S0 For i1 To 20 输入 x SSx ii1 Next aS/20 输出a 规律总结 本例即可以用For语句写出程序也可以使用Do Loop语句写出程序,要注意这类题目特点,选择恰当的方法,解析 流程图如下图所示,错解1 用For语句描述如下: i1 sum0 For i1 To 100 sumsumi Next 输出sum,错解2 用Do Loop语句描述如下: i1 sum0 Do sumsumi ii1 Loop While i100 输出sum,辨析 错误的原因是对循环语句的结构不清,应用混乱错解1中“i1”不用写错解2中“Loop While i100”应改成“Loop While i100”,因为Do Loop语句的一般格式为: Do 循环体 Loop While 条件为真,正解1 用For语句描述如下: sum0 For i1 To 100 sumsumi Next 输出sum,正解2 用Do Loop语句描述如下: i1 sum0 Do sumsumi ii1 Loop While i100 输出sum,规律总结 Do Loop语句是先执行一次循环体,再判断是否满足条件,若满足,再执行循环体,然后再检查是否满足条件,若满足,再执行循环体,再判断是否满足条件,如此反复,直到不满足条件为止,
展开阅读全文