第一章 算法初步 1.2.3.pdf

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

n=5 S=0
WHILE S<15 S=S+n n=n-1
WEND PRINT n END
A.-1 答案 B
B.0
C.1
D.2
解析 由于 5+4+3+2=14,这时仍满足条件“S<15”,
∴n=2-1=1 时,S=14+1=15,
当执行完循环体 n=1-1=0 后,再判断条件,此时不满足条件“S<15”,
1.当型循环与直到型循环的区别 (1)当型循环先测试后执行,直到型循环先执行后测试; (2)在当型循环语句中,是当满足条件时执行循环体,而在直到型循环语句中,是当不 满足条件时执行循环体; (3)对同一算法来说,当型循环语句和直到型循环语句中的条件互为反条件. 2.应用循环语句编写程序要注意以下三点 (1)循环语句中的变量一般需要进行一定的初始化操作,也就是要设置一些变量的初始 值. (2)循环语句在循环的过程中需要有“结束”的语句,程序中最忌“死循环”. (3)在循环中要改变循环条件的成立因素. 程序每执行一次循环体,循环条件中涉及到的变量就会发生改变,且在步步逼近跳出循 环体的条件.
学海无涯
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)直到型:
能力提升 12.读程序: 甲:
i=2 A=1 DO A=A*i i=i+2 LOOP UNTIL i>100 PRINT A END
乙:
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
i=1 x=1
DO PRINT x i=i+1 x=x+1/2
LOOP UNTIL i>5 END
学海无涯
A.1
3 B.2
C.2
5 D.2
答案 C
解析 该程序中关键是循环语句,
第一次输出的数是 1,
第二次输出的数是 x=1+12=32, 第三次输出的数是 x=1+12+12=2. 5.下边程序执行后输出的结果是( )
对应 程序 框图
一、选择题 1.下列给出的四个框图,其中满足 WHILE 语句格式的是( )
学海无涯
A.(1)(2) C.(2)(4) 答案 B
B.(2)(3) D.(3)(4)
解析 WHILE 语句的特点是“前测试”.
2.下列算法:
①求和112+212+312+…+10102;
②已知两个数求它们的商;
学海无涯
1.2.3 循环语句
课时目标 1.理解给定的两种循环语句,并会应用. 2.应用两种循环语句将具体问题程序化,搞清当型循环和直到型循环的联系和区别.
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×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 成立的最小的正整数. 解
2.两种循环语句的对比
பைடு நூலகம்名称
直到型
当型
DO
WHILE 条件
格式
循环体
循环体
LOOP_UNTIL 条件
WEND
功能
先执行一次 DO 和 UNTIL 之 先判断条件的真假,如果条件
间的循环体,再判断 UNTIL 后的条件是否符合,如果不符
符合,则执行 WHILE 和
合,继续执行循环体,然后再 WEND 之间的循环体,然后再
即 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
检查上述条件,如果条件仍不 检查上述条件,如果条件仍符
合,再次执行循环体,这个过
符合,再次执行循环体,直到
条件符合时为止.这时计算机 程反复进行,直到某一次条件
不符合为止,这时不再执行循
不再执行循环体,跳出循环体
执行 UNTIL 语句后面的语句.
环体,跳到 WEND 语句后, 执行 WEND 后面的语句
+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
③已知函数定义在区间上,将区间十等分求端点及各分点处的函数值;
④已知三角形的一边长及此边上的高,求其面积.
其中可能要用到循环语句的是( )
A.①②
B.①③
C.①④
D.③④
答案 B
3.循环语句有 WHILE 和 UNTIL 语句两种,下面说法错误的是( )
A.WHILE 语句和 UNTIL 语句之间可以相互转化
对甲、乙两程序和输出结果判断正确的是( ) B.程序不同,结果不同 B.程序不同,结果相同 C.程序相同,结果不同 D.程序相同,结果相同 答案 B
13.设计算法求1×1 2+2×1 3+3×1 4+…+99×1100的值,并画出程序框图及编写程序.
学海无涯
解 算法如下: 第一步:令 S=0,i=1; 第二步:若 i≤99 成立,则执行第三步; 否则,输出 S,结束算法; 第三步:S=S+ 1 ;
B.当计算机遇到 WHILE 语句时,先判断条件真假,如果条件符合,就执行 WHILE 和
WEND 之间的循环体
C.当计算机遇到 UNTIL 语句时,先执行一次 DO 和 UNTIL 之间的循环体,再对 UNTIL
后的条件进行判断
D.WHILE 语句与 UNTIL 语句之间不可以相互转化 答案 D 4.下面的程序运行后第 3 个输出的数是( )
接着执行“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”,因此再循环一次,
相关文档
最新文档