高二数学第一章算法初步1.2.3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.2.3循环语句
课时目标
1.理解给定的两种循环语句,并会应用.
2.应用两种循环语句将具体问题程序化,搞清当型循环和直到型循环的联系和区别.
1.循环语句
循环语句与程序框图中的循环结构相对应,
一般程序设计语言中都有直到型和当型两种循环语句结构,分别对应于程序框图中的直到型和当型循环结构.
名称直到型当型
格式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 .32
C .2
D .5
2
答案 C
解析 该程序中关键是循环语句, 第一次输出的数是1,
第二次输出的数是x =1+12=3
2,
第三次输出的数是x =1+12+1
2=2.
5.下边程序执行后输出的结果是( ) n =5S =0
WHILE S <15 S =S +n
n =n -1WEND 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个数的平均数的程序,在横线上应填充的语句为________.
答案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