【赢在课堂】高中数学 1.2.3 循环语句配套训练 新人教A版必修3
1.2.3 循环语句
1.下列关于UNTIL语句说法错误的是( ) A.直到型循环至少执行一次循环体 B.直到型循环结构对应UNTIL语句
C.UNTIL语句是先判断是否满足条件,而后执行循环体 D.UNTIL语句是先执行循环体,而后判断是否满足条件 答案:C
2.已知程序如图所示: j=1 WHILE j?? j<100 j=j+1 WEND j=j-1 PRINT “j=”;j END 它运行的结果是( ) A.j=j-1 B.j=100 C.j=10 D.j=9
解析:当j=10时,10×10=100,不再满足“j ??j<100”,跳出循环体,j=10-1=9. 答案:D
3.如图所示的四个框图中,其中满足UNTIL语句的是 ,满足WHILE语句的是 .(填序号)
解析:UNTIL语句对应直到型循环,是先执行一次循环体,再判断条件,直到条件满足时跳出循环;而WHILE语句是先判断条件,再执行循环体,直到某次条件不满足时,跳出循环.
答案:③ ①④
4.编写一个程序计算1++…+. 解:程序如下:
1 / 5
【赢在课堂】高中数学 1.2.3 循环语句配套训练 新人教A版必修3
i=1 sum=0 WHILE i<=1 000 sum=sum+1/i i=i+1 WEND PRINT sum END 5.(1)编写一个程序,求1000以内的完全平方数并输出; (2)编写一个程序,输出1~100中(包括1和100)能被7整除的所有整数. 解:(1)程序设计如下: i=1 WHILE i?? i<1 000 PRINT i?? i i=i+1 WEND END (2)程序设计如下: i=1 DO IF i MOD 7=0 THEN PRINT i END IF i=i+1 LOOP UNTIL i>100 END 2226.下面是用WHILE语句设计的一个计算S=1+2+…+20的程序,试根据此语句的特点,将其转化为UNTIL语句书写的程序.
当型(WHILE) i=1 S=0 WHILE i<=20 S=S+i?? i i=i+1 WEND PRINT “S=”;S END
解:直到型(UNTIL) i=1 S=0 DO S=S+i?? i i=i+1 LOOP UNTIL i>20 PRINT “S=”;S 2 / 5
【赢在课堂】高中数学 1.2.3 循环语句配套训练 新人教A版必修3
END
7.如图程序运行后输出的结果为( ) a=0 j=1 WHILE j<=5 a=(a+j) MOD 5 j=j=1 WEND PRINT a END A.50 B.5 C.25 D.0
解析:程序要进行5次循环,各次循环的结果如下:
①a=1,j=2;②a=3,j=3;③a=1,j=4;④a=0,j=5;⑤a=0,j=6,最后输出a=0. 答案:D
8.以下程序是计算1+2+3+…+n的值,请在空白处填上相应语句: INPUT n i=1 s=0 DO (1) i=i+1 LOOP UNTIL (2) PRINT s END (1)处填 ; (2)处填 .
解析:(1)处应为累加变量“s=s+i”; (2)为循环终止条件“i>n”. 答案:(1)s=s+i (2)i>n
2363
9.分别用WHILE语句和UNTIL语句编写程序.求1+2+2+2+…+2的值. 解:用WHILE语句: i=0 s=0 WHILE i<=63 s=s+2^i i=i+1 WEND PRINT s END 用UNTIL语句: i=0 s=0 DO s=s+2^i i=i+1 3 / 5
【赢在课堂】高中数学 1.2.3 循环语句配套训练 新人教A版必修3
LOOP UNTIL i>63 PRINT s END 10.输入100个数,将其中的正数的个数输出,写出程序. 解:程序如下: i=0 m=0 DO INPUT x i=i+1 IF x>0 THEN m=m+1 END IF LOOP UNTIL i>100 PRINT m END 11.若1+3+5+…+n>10000,试设计一个程序,寻找满足条件的最小整数n. 解法一:程序框图如图所示: 程序如下: S=0 i=1 WHILE S<=10 000 S=S+i i=i+2 WEND PRINT “最小整数为”;i-2 END
解法二:程序框图如图所示: 程序如下: S=0 i=1 DO S=S+i i=i+2 LOOP UNTIL S>10 000 4 / 5
【赢在课堂】高中数学 1.2.3 循环语句配套训练 新人教A版必修3
PRINT “最小整数为”;i-2 END
12.用分期付款的方式购买价格为1150万元的别墅,如果购买时先付150万元,以后每月付50万元,再加上欠款的利息.若一个月后付第一个月的分期付款,月利率为1%,那么购买别墅的钱全部付清后,实际共付出款额多少元?画出程序框图,写出程序.
解:用S表示总付款额,由于先付150万元,故S的初始值为150,第一次分期付款应付
50+1000×1%=60(万元),第二次分期付款应付50+(1000-50)×1%=59.5(万元),第三次分期付款应付50+(1000-50×2)×1%=59(万元)……每次付款总比上次少付0.5万元,共分20次付清.故引入计数变量i,控制付款次数,故循环条件为“i≤20”,循环体为“S=S+m,m=m-0.5,i=i+1”.程序框图如图所示:
编写程序如下: S=150 m=60 i=1
WHILE i<=20 S=S+m m=m-0.5 i=i+1 WEND PRINT S EN
5 / 5