• 292.27 KB
  • 2021-06-15 发布

高中数学(人教版a版必修三)配套课时作业:第一章 算法初步 1.2.3 循环语句

  • 7页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
1.2.3 循环语句 课时目标 1.理解给定的两种循环语句,并会应用. 2.应用两种循环语句将具体问题程序化,搞清当型循环和直到型循环的联系和区别. 1.循环语句 循环语句与程序框图中的循环结构相对应,一般程序设计语言中都有直到型和当型两种 循环语句结构,分别对应于程序框图中的直到型和当型循环结构. 2.两种循环语句的对比 名称 直到型 当型 格式 DO 循环体 LOOP_UNTIL 条件 WHILE 条件 循环体 WEND 功能 先执行一次 DO 和 UNTIL 之 间的循环体,再判断 UNTIL 后的条件是否符合,如果不符 合,继续执行循环体,然后再 检查上述条件,如果条件仍不 符合,再次执行循环体,直到 条件符合时为止.这时计算机 不再执行循环体,跳出循环体 执行UNTIL 语句后面的语句. 先判断条件的真假,如果条件 符合,则执行 WHILE 和 WEND 之间的循环体,然后再 检查上述条件,如果条件仍符 合,再次执行循环体,这个过 程反复进行,直到某一次条件 不符合为止,这时不再执行循 环体,跳到 WEND 语句后, 执行 WEND 后面的语句 对应 程序 框图 一、选择题 1.下列给出的四个框图,其中满足 WHILE 语句格式的是( ) A.(1)(2) B.(2)(3) C.(2)(4) D.(3)(4) 答案 B 解析 WHILE 语句的特点是“前测试”. 2.下列算法: ①求和 1 12 + 1 22 + 1 32 +…+ 1 1002 ; ②已知两个数求它们的商; ③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值; ④已知三角形的一边长及此边上的高,求其面积. 其中可能要用到循环语句的是( ) A.①② B.①③ C.①④ D.③④ 答案 B 3.循环语句有 WHILE 和 UNTIL 语句两种,下面说法错误的是( ) A.WHILE 语句和 UNTIL 语句之间可以相互转化 B.当计算机遇到 WHILE 语句时,先判断条件真假,如果条件符合,就执行 WHILE 和 WEND 之间的循环体 C.当计算机遇到 UNTIL 语句时,先执行一次 DO 和 UNTIL 之间的循环体,再对 UNTIL 后的条件进行判断 D.WHILE 语句与 UNTIL 语句之间不可以相互转化 答案 D 4.下面的程序运行后第 3 个输出的数是( ) i=1 x=1 DO PRINT x i=i+1 x=x+1/2 LOOP UNTIL i>5 END A.1 B.3 2 C.2 D.5 2 答案 C 解析 该程序中关键是循环语句, 第一次输出的数是 1, 第二次输出的数是 x=1+1 2 =3 2 , 第三次输出的数是 x=1+1 2 +1 2 =2. 5.下边程序执行后输出的结果是( ) n=5 S=0 WHILE S<15 S=S+n n=n-1 WEND PRINT n END A.-1 B.0 C.1 D.2 答案 B 解析 由于 5+4+3+2=14,这时仍满足条件“S<15”, ∴n=2-1=1 时,S=14+1=15, 当执行完循环体 n=1-1=0 后,再判断条件,此时不满足条件“S<15”, 接着执行“PRINT n”.所以 n=0. 6.运行下面的程序,执行后输出的 s 的值是( ) i=1 WHILE i<6 i=i+2 s=2*i+1 WEND PRINT s END A.11 B.15 C.17 D.19 答案 B 解析 当 i=3 时,s=7,当 i=5 时,s=11, 此时仍满足条件“i<6”,因此再循环一次, 即 i=7 时,s=15,此时不满足“i<6”, 所以执行“PRINT s”,即 s=15. 二、填空题 7.运行下面的程序,输出的值为__________. S=0 i=1 WHILE S<18 S=S+i i=i+1 WEND PRINT i END 答案 7 解析 由于循环体是先执行 S=S+i,再执行 i=i+1,然后进行判断,当 S=1+2+3+4 +5=15 时,执行 i=5+1=6,这时 15<18 成立,再循环一次 S=15+6=21,i=6+1=7, 这时再判断 21<18 不成立,于是执行“PRINT i”,即 i=7. 8.下面程序表示的算法是________. n=1 S=1 WHILE S<=5 000 S=S*n n=n+1 WEND PRINT n-1 END 答案 求使 1×2×3×…×n>5 000 的 n 的最小正整数 9.下面是一个求 20 个数的平均数的程序,在横线上应填充的语句为________. S=0 i=1 DO INPUT x S=S+x i=i+1 LOOP UNTIL a=S/20 PRINT a END 答案 i>20 三、解答题 10.用 UNTIL 语句编写一个程序,输出使 1+4+7+…+i≥300 成立的最小的正整数. 解 S=0 i=1 DO S=S+i i=i+3 LOOP UNTIL S>=300 PRINT i-3 END 11.分别用当型和直到型循环语句编写一个程序,计算 2×4×6×…×100 的值. 解 (1)当型: i = 2 A=1 WHILE i<=100 A=A*i i=i+2 WEND PRINT A END (2)直到型: i = 2 A=1 DO A=A*i i=i+2 LOOP UNTIL i>100 PRINT A END 能力提升 12.读程序: 甲: 乙: INPUT i=1 S=0 WHILE i<=1000 S=S+i i=i+1 WEND PRINT S END INPUT i=1000 S=0 DO S=S+i i=i-1 LOOP UNTIL i<1 PRINT S END 对甲、乙两程序和输出结果判断正确的是( ) B.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同 答案 B 13.设计算法求 1 1×2 + 1 2×3 + 1 3×4 +…+ 1 99×100 的值,并画出程序框图及编写程序. 解 算法如下: 第一步:令 S=0,i=1; 第二步:若 i≤99 成立,则执行第三步; 否则,输出 S,结束算法; 第三步:S=S+ 1 ii+1 ; 第四步:i=i+1,返回第二步. 程序框图: 方法一 当型循环程序框图: 程序如下: S=0 i=1 WHILE r<=99 S=S+1/i*i+1 i=i+1 WEND PRINT S END 方法二 直到型循环程序框图: 程序如下: S=0 i=1 DO S=S+1/i*i+1 i=i+1 LOOP UNTIL i>99 PRINT S END 1.当型循环与直到型循环的区别 (1)当型循环先测试后执行,直到型循环先执行后测试; (2)在当型循环语句中,是当满足条件时执行循环体,而在直到型循环语句中,是当不满 足条件时执行循环体; (3)对同一算法来说,当型循环语句和直到型循环语句中的条件互为反条件. 2.应用循环语句编写程序要注意以下三点 (1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始值. (2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”. (3)在循环中要改变循环条件的成立因素. 程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循 环体的条件.