《循环语句》同步练习1(人教B版必修3)

合集下载

【同步练习】必修3 1.2.3 循环语句-高一数学人教版(必修3)(解析版)

【同步练习】必修3  1.2.3 循环语句-高一数学人教版(必修3)(解析版)

第一章算法初步1.2.3 循环语句一、选择题1.下列四个程序框图中能用直到型语句描述的是【答案】A【解析】直到型语句特征是不满足条件,执行循环体,满足条件,退出循环.2.下列程序运行后输出的结果为A.17B.19C.21 D.23i=1S=0DOi=i+2S=3+2*ii=i+1LOOP UNTIL i>=8PRINT SEND【答案】C【解析】第一次循环,i=1+2=3,S=3+2×3=9,i=4;第二次循环,i=6,S=3+2×6=15,i=7;第三次循环,i=9,S=3+2×9=21,i=10,∴输出S=21.3.读下面甲、乙两个程序:对甲、乙两个程序和输出的结果表述正确的是 A .程序不同,结果相同 B .程序不同,结果不同 C .程序相同,结果相同 D .程序相同,结果不同【答案】A【解析】执行甲,乙程序后可知都是计算1+2+3+4+…+1 000的值. 4.如果下面程序运行后输出的结果是132,那么在程序中UNTIL 后面的“条件”应为A .i>11B .i>=11C .i<=11D .i<11【答案】D【解析】本题考查直到型循环语句.计数变量i 的初始值为12,累积变量s 的初始值为1,第1次执行循环后得12s =,11i =,因为12≠132,故第2次执行循环,得1211132s =⨯=,10i =.满足132s =,故退出循环.结合选项,可知“条件”应为11i .故选D.【解题策略】对于“条件”填充问题,一定要注意填充变量的取值边界,结合语句格式确定条件的范围.5.下列循环语句,循环终止时,i等于A.3B.4C.5D.6【答案】D【解析】该循环语句是UNTIL语句,当条件成立时退出循环,D正确.6.下面的程序:执行完毕后a的值为A.99 B.100C.101 D.102【答案】B【解析】该程序中使用了当型循环语句,当执行到a=99+1=100时,不满足条件a<100,退出循环输出a的值为100.7.有以下程序段,下面说法正确的是A.WHILE循环执行8次B.该循环体是无限循环C.循环体语句一次也不执行D.循环体语句只执行一次【答案】C【解析】对于WHILE语句,若满足条件,则执行循环体,而K=8,不满足条件K=0,所以循环体一次也不执行.8.下面程序的运行结果是i=1S=0WHILE i<=4S=S*2+1i=i+1WENDPRINT SENDA.3 B.7C.15 D.17二、填空题9.运行下面的程序,输出的值为________.S=0i=1DOS=S+iLOOP UNTIL S>200n=i-2PRINT nEND【答案】29【解析】对循环体执行S=S+i,再执行i=i+2,然后判断,∵1+3+5+…+29=225>200;i=31.∴n =31-2=29.10.在下面的程序中,若输出k=3,则输入的最小整数n=________.INPUT nk=0DOn=2*n+1k=k+1LOOP UNTIL n>100PRINT kEND【答案】1211.运行下面的程序,输出的值为________.S=0i=1WHILE S<18S=S+ii=i+1WENDPRINT iEND【答案】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.12.下面为一个求10个数的平均数的程序,则在横线上应填充的语句为________.S=i=1DOINPUT xS=S+xi=i+1LOOP UNTILa=S/10PRINT aEND【答案】i>10【解析】此为直到型循环,在程序一开始,即i=1时,开始执行循环体,当i=10时继续执行循环体,题目中求10个数的平均数,所以当i>10时应终止循环.13.根据如图所示的程序框图,把对应的程序中所缺少的语句补充完整.i=1S=0DO__①____②__LOOP UNTIL__③__PRINT SEND【规律总结】此类循环语句嵌套条件语句的问题的解题思路是:先确定外层的循环语句,再逐步确定内层的条件,一定要保证内层的变量与外层变量不能冲突,以免引起矛盾.三、解答题14.用UNTIL语句语句编写一个程序,求满足11111023n++++>的n的最小值.【解析】程序如下:15.用WHILE语句编写一个程序,求满足11111023n++++>的n的最小值.【解析】程序如下:。

北师大版数学高一必修3练习 2.3.2 循环语句

北师大版数学高一必修3练习 2.3.2 循环语句

[A基础达标]1.读下面的算法语句,输出的结果是()I=1S=0DoS=2*S+1I=I+1Loop While I≤4输出S.A.2B.10C.15 D.20解析:选C.当I=1时,S=0×2+1=1;当I=2时,S=1×2+1=3;当I=3时,S =3×2+1=7;当I=4时,S=7×2+1=15.故选C.2.下面给出的四个算法框图中满足Do Loop语句的是()解析:选D.当执行Do Loop语句时,先执行一次循环体,若符合条件,继续执行循环体,当不符合条件时,跳出循环,执行Do Loop语句后的语句.3.读下面用Do Loop语句描述的算法语句:输入N;i=1S=1Do S=S*ii=i+1输出S.如果输入N的值为6,那么输出的结果为()A.6B.720C.120D.i解析:选B.由Do Loop语句知,S=1×2×3×4×5×6=720.4.已知下列语句:i=1Doi=i+1Loop While i*i<100i=i-1输出i.最后输出的结果是()A.i-1 B.100C.10 D.9解析:选D.由循环语句及赋值语句可知,当i*i≥100时跳出循环体,此时i=10,故最后输出结果为9.5.下列程序中循环语句的循环终止条件是()m=1Dom=m+3Loop While m<10输出m.A.m=10 B.m<10C.m>10 D.m≥10解析:选D.当m<10不成立,即m≥10时,循环终止,执行Do Loop语句后的语句.6.下面是求1×2×3×4×5×6×7×8×9×10的一个算法语句,将其补充完整.a=10b=1Dob=a*b________输出b .解析:a 的初始值为10,故循环体中的值应该递减,即a 从10减小到1,循环体的条件应为a >0,也可以为a ≥1.答案:a =a -1 a >0(或a ≥1)7.阅读下列算法语句:i =1S =0DoS =S +ii =i +1Loop While i ≤100输出S .则S 的表达式为________.解析:这是一个Do Loop 语句,终止条件是i >100,循环体是累加,即是从1累加到100. 答案:1+2+3+…+1008.阅读下面的算法语句:b =1For k =1 To 5b =b *kIf b ≥15 Then退出For 循环End IfNext输出b .在上述语句中,k 循环共执行________次,输出的结果为________.解析:本题主要考查For 循环语句,首先观察循环的条件If b ≥15 Then 退出循环,可知b 的最终值为24,k 从1到4,所以,k 的最终值为4,这时b =24.答案:4 249.用Do Loop 语句描述求满足条件1+12+13+ (1)>10的最小自然数n 的算法,并画出算法框图.解:算法框图如图所示,相应的算法语句如下:S=0i=1DoS=S+1ii=i+1Loop While S≤10i=i-1输出i.10.若要输出1~100之间的所有偶数,应使用For循环还是Do Loop循环?请写出具体过程.解:选用For循环,因为已经给出具体的范围,也就是说,可以明确循环次数,所以,比较适合For循环语句.具体过程如下:For i=1 To 100If i Mod 2=0Then输出iEnd IfNext[B能力提升]1.有程序段如下:For i=1To 3For j=1To 5输出i*jNextNext其中“输出i*j”执行的次数为()A.3B.5C.15 D.8解析:选C.本题是两个循环语句,注意外循环从1到3,内循环从1到5,内循环是在外循环的基础上的循环,所以内循环执行次数为15次.2.设计一个计算1×3×5×7×9的算法,下面给出了算法语句的一部分,则在横线①上应填入下面数据中的()S=1i=3DoS=S*ii=i+2Loop While i<__①__输出S.A.8 B.9C.10 D.12解析:选C.由算法知i的取值为3,5,7,9,…,又只需计算1×3×5×7×9,因此只要保证所填数大于9,小于等于11即可,故选C.3.执行下面算法语句,输出的结果是________.A=1B=1DoA=A+BB=A+BLoop While B<15C=A+B输出C解析:循环结构中的循环体的作用是将前两个数相加,得到后一个数;如果没有循环条件的限制,程序中的循环结构将连同初始值,依次给A、B赋值为1、1,2、3,5、8,13、21,…,其中第一、三、五,…个数为A的值,第二、四、六,…个数为B的值;可见,当B=21时,循环结束,此时A=13,所以,C=A+B=34.答案:344.(选做题)用分期付款的方式购买价格为1 150元的冰箱,如果购买时先付150元,以后每月付50元,加上欠款的利息,若一个月后付第一个月的分期付款,月利率为1%,那么购买冰箱的钱全部付清后,实际共付出多少元?画出程序框图,写出程序.解:购买时付款150元,余款1 000元分20次付清,每次付款数组成一系列数.a1=50+(1 150-150)×1%=60,a2=50+(1 150-150-50)×1%=59.5,…,a n=50+[1 150-150-(n-1)×50]×1%=60-12(n-1)(n=1,2,…,20).所以a20=60-12×19=50.5.总和S=150+60+59.5+…+50.5=1 255(元).程序框图如图.程序:a=150m=60S=0S=S+ai=1DoS=S+mm=m-0.5i=i+1Loop While i≤20输出S。

人教新课标版数学高一人教B版必修3作业设计1.2.3 循环语句

人教新课标版数学高一人教B版必修3作业设计1.2.3 循环语句

1.2.3循环语句课时目标 1.理解给定的两种循环语句,并会应用.2.应用两种循环语句将具体问题程序化,搞清它们的联系和区别.1.循环语句的概念用来处理算法中的____________的语句.2.循环语句的作用循环语句是用来控制______________运算或者在程序中需要对某些语句进行__________.3.循环语句的一般格式(1)for循环的格式for循环变量=;end(2)while循环的格式while表达式;end一、选择题1.在循环语句中,说法正确的是()A.for循环可以无限循环B.while循环可以无限循环C.循环语句中必须有判断D.while循环不能实现for循环的功能2.以下程序执行完毕后a的值是()a=1;for i=0:2:100a=a+1;endaA.50 B.51C.52 D.533.下列程序的运行结果为()i=0;S=0;while S<=20i=i+1;S=S+i;endiA.5 B.6C.7 D.84.下列给出的四个框图,其中满足while语句格式的是()A.(1)(2) B.(2)(3) C.(2)(4) D.(3)(4)5.下面程序输出的结果为()A.17 B.19 C.21 D.236.执行下列程序,计算机能输出结果仅是15的是()A.S=0;for x=1:5,S=S+x,disp(S);endB.S=0;for x=1:5,S=S+x,end;disp(S)C.S=0;for x=1:5,S=S+x;disp(S);end题号123456答案7.在求1+2+…+50=?时,Scilab中的文本编辑器中写出的程序如下:S=0;for i=1:1:50;endS其中缺少的程序为________.8.求1+2+22+…+2100的程序如下,请补全.S=1;for i=1:1:100;endS9.写出以下程序的算术表达式.N =2;T =1;w hile N <=5T =N *T ;N =N +1;end disp (T )该程序的表达式为________________.三、解答题10.写出计算102+202+…+1 0002的算法程序,并画出相应的程序框图.11.写出求满足1+2+3+…+n>2 009的最小的自然数n 的程序,并画出其程序框图.能力提升12.编写程序1-12+13-14+…+1999-11 000的值.13.在某电视台举行的青年歌手大赛中,有10名选手参加,并请了12名评委,在给每位选手计算平均分数时,为避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均数.(分数采用10分制,即每位选手的分数最高为10分,最低为0分)试用循环语句来解决上述问题.1.在解决一些需要反复执行的运算任务,如累加求和、累乘求积等问题中应主要考虑利用循环语句来实现,但也要结合其他语句如条件语句.2.两种循环语句:for循环和w hile循环,for循环主要用于预先知道循环次数的情形,w hile循环用于预先不知道循环次数的情形,两种循环都必须以end结尾.答案知识梳理1.循环结构 2.有规律的重复重复的执行3.(1)初值:步长:终值循环体(2)循环体作业设计1.C2.C3.B4.B5.C6.D7.S=S+i解析这是一个累加问题,i的初值为1,故应添加S=S+i.8.S=S+2^i解析由其进行1+2+22+…+2100为有规律的累加运算,其中底数为2,指数i的步长为1.9.T=1×2×3×4×510.解程序如下:S=0;i=10;w hile i<=1 000 S=S+i^2;i=i+10;endS 或S=0;for i=10:10:1 000S=S+i^2;endS框图如图所示:11.解程序为:程序框图为:S =0;n=1;w hile S<=2 009S=S+n;n=n+1;endn=n-1;n12.解程序如下:m=0;for i=1:2:999m=m+1/i;endn=0;for j=2:2:1 000n=n+1/j;endS=m-n;S13.解程序如下:。

高一数学必修3同步练习:1-2-3循环语句

高一数学必修3同步练习:1-2-3循环语句

1-2-3循环语句一、选择题1.下列对WHILE语句说法不正确的是()A.当计算机遇到WHILE语句时,先判断条件的真假,如果条件符合,就执行WHILE与WEND之间的循环体B.当条件不符合时,计算机不执行循环体,直接跳到WEND 语句后,接着执行WEND之后的语句C.WHILE型语句结构也叫当型循环D.当型循环有时也称为“后测试型”循环[答案] D2.如图所示的四个框图,其中是WHILE语句结构的是()[答案] C[解析] WHILE 语句先判断后执行排除A 、D ,当条件满足时执行循环体,排除B.3.下列说法正确的是( )A .当型(WHILE)循环结构不能转化为直到型(UNTIL)循环结构B .当型(WHILE)循环结构先执行循环体,后判断条件C .当型(WHILE)循环结构先判断条件,后执行循环体D .以上说法都不正确[答案] C[解析] 当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选C.4.下列需用循环语句编写程序的是( )A .输入x 的值,输出y =x 2-3x 的值B .y =⎩⎪⎨⎪⎧x -4,x >0,-x +1,x ≤0,输入x 的值,输出对应的函数值 C .求x 的立方根D .求5+6+7+8+…+101的值[答案] D5.下列程序的功能是( )S =1i =1WHILE S<=2012i =i +2S =S ×iWENDPRINT iENDA.计算1+3+5+…+2012B.计算×3×5×…×2012C.求方程1×3×5×…×i=2012中的i值D.求满足1×3×5×…×i>2012的最小整数i[答案] D[解析]执行该程序可知S=1×3×5×…×i,当S≤2012开始不成立,即S>2012开始成立时,输出i,则求满足1×3×5×…×i>2012的最小整数i.6.下图所示的程序运行后,输出的i的值等于()i=0S=0DOS=S+ii=i+1LOOP WHILE S<=20PRINT iENDA.9 B.8 C.7 D.6[答案] C[解析]第一次:S=0+0=0,i=0+1;第二次:S=0+1=1,i=1+1=2;第三次:S=1+2=3,i=2+1=3;第四次:S=3+3=6,i=3+1=4;第五次:S=6+4=10,i=4+1=5;第六次:S=10+5=15,i=5+1=6;第七次:S=15+6=21,i=6+1=7;因为S=21>20,所以输出i=7.7.阅读下列程序:甲:i=1 乙:i=1000S=0 S=0WHILE i<=10000 DOS=S+i S=S+ii=i+1 i=i-1WEND LOOP UNTIL i<1PRINT S PRINT SEND END对程序甲、乙和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同[答案] B[解析]执行甲、乙程序后,可知都是计算1+2+3+…+1000的值.8.(2011~2012·山东济南模拟)已知如下程序,其运行结果是()j=1WHILE i*j<100j=j+1WENDj=j-1PRINT“j=”;jENDA.j=j-1 B.j=100 C.j=10 D.j=9[答案] D[解析]此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.9.下面程序运行后输出结果错误的是()A.i=1s=0WHILE s<=10i=i+1s=s+iWENDPRINT sEND输出结果为14 B.i=1sum=0WHILE i<=10sum=sum+ii=i+1WENDPRINT“sum=”;sumEND输出结果为55C.i=1sum=0WHILE i<=10i=i+1sum=sum+iWENDPRINT“sum=”;sumEND输出结果为65 D.i=1s=0WHILE s<=10s=s+ii=i+1WENDPRINT sEND输出结果为14[答案] D[解析]A中控制的循环条件是s≤10,但每次循环先将计数变量i赋值i=i+1,后给s赋值s=s+i.从而循环结束后,s=2+3+4+5=14,最后输出s=14.B中控制循环的变量i从1变到10,每次循环,循环变量sum=sum+i,循环结束sum=1+2+3+…+10=55,并将其输出.C中控制循环的计数变量i从1变到10,但在每次循环中先给i 赋值i=i+1,然后才赋值sum=sum+i,故循环结束时,sum=2+3+4+…+11=65,最后输出sum.D中控制循环的条件是s≤10,第一次(i=1)循环后,s=0+1=1,第二次(i=2)循环后,s=1+2=3,第三次(i=3)循环后,s=3+3=6,第四次(i=4)循环后,s=6+4=10仍满足条件s≤10,故再执行第五次(i=5)循环,s=10+5=15,最后输出s=15.故选D.10.下面是求1~1000内所有偶数的和的程序,把程序框图补充完整,则()A.①处为S=S+i,②处为i=i+1.B.①处为S=S+i,②处为i=i+2.C.①处为i=i+1,②处为S=S+i.D.①处为i=i+2,②处为S=S+i.[答案] B[解析]程序框图求的是1~1000内所有偶数的和,故i步长为2,应有i=i+2,排除A、C;i初值为2,S应加的第一个偶数为2,而不是4,故语句S=S+i应在i=i+2的前面,排除D.二、填空题11.在实际问题中会遇到许多有规律的重复运算,或在程序中需要对某些语句进行重复地执行,这样就需要用到________进行控制.[答案]循环语句12.在WHILE循环中,要求对表达式进行判断,如果表达式为真,则执行________部分.[答案]循环体13.写出下列程序的运行结果:(1)I=1K=6WHILE I<=6K=K-0.5PRINT KI=I+1WENDEND________(2)i=1s=0WHILE s<=10i=i+1s=s+iPRINT sWENDEND________[答案](1)5.5,5,4.5,4,3.5,3(2)2,5,9,14[解析]本题考查对当型循环程序的理解,要求据程序语句,写出运行的结果.(1)中控制循环的变量I从1每次增加1变到6,每次循环中变量K的值减小0.5并输出,故结果输出6个数5.5,5,4.5,4,3.5,3.(2)每次循环都要将s的值输出,故(2)的答案为:2,5,9,14.14.下面程序的功能是________.INPUT “n =”;nS =0i =1WHILE i <=nS =S +1/(i *(i +1)) i =i +1WENDPRINT SEND[答案] 从键盘输入n 的值,输出11×2+12×3+13×4+…+1n (n +1)的值. [解析] 控制循环的变量i 初值1,步长1,终值n .累加变量S 每次循环都加上1i (i +1), ∴S =11×2+12×3+…+1n (n +1). 三、解答题15.编写程序找出乘积为399的两个相邻奇数并输出.[解析] 程序为: n =1WHILE n *(n +2)<>399n =n +2WENDPRINT n ,n +2END16.编写程序求1-12+13-14+…+1999-11000的值. [解析] 分母是偶数的项为减,否则为加,用n =i MOD 2是否为1控制符号.程序为:S=0i=1WHILE i<=1000n=i MOD 2IF n=1THENS=S+(1/i)ELSE S=S-(1/i)END IFi=i+1WENDPRINT SEND[点评]控制符号的方法多种多样,例如可以用(-1)n来控制符号,则程序为S=0,i=1WHILE i<=1000S=S+((-1)^(i+1))/ii=i+1WNEDPRINT SEND17.下面程序的功能是输出1~100间的所有偶数.程序:i=1DOm=i MOD 2IF__①__ THENPRINT iEND IF②__LOOP UNTIL i>100END(1)试将上面的程序补充完整.(2)改写为WHILE型循环语句.[解析](1)①m=0②i=i+1(2)改写为WHILE型循环程序如下:i=1WHILE i<=100m=i MOD 2IF m=0THENPRINT iEND IFi=i+1WENDEND18.某高中男子体育小组的100 m赛跑成绩(单位:s)为:12.1,13.2,12.7,12.8,12.5,12.4,12.7,11.5,11.6,11.7,从这些成绩中搜索出小于12.1 s的成绩,并画出程序框图,编写相应程序.[解析]程序框图如图所示:程序算法如下:i=1WHILE i<=10INPUT GiIF Gi<12.1THEN PRINT GiEND IFi=i+1WENDEND。

(人教b版)数学必修三练习:1.2.3循环语句(含答案)

(人教b版)数学必修三练习:1.2.3循环语句(含答案)

第一章 1.2 1.2.3一、选择题1.在循环语句的一般形式中有“while A”,其中A是( )A.循环变量B.循环体C.开始循环的条件D.终止条件[答案] C[解析] 根据while循环语句可知当满足A时,开始循环,所以A是开始循环的条件,故选C.2.下列对while语句的说法不正确的是( )A.当计算机遇到while语句时,先判断是否满足条件,如果符合条件,就执行循环体B.当条件不符合时,将不执行循环体直接跳出循环C.while语句的格式为:while—表达式—循环体—endD.while语句的特点是“后测试”,即先执行循环体,然后判断是否满足条件[答案] D[解析] while语句的特点是“前测试”,即先判断是否满足条件,后执行循环体.3.下列关于for循环的说法错误的是( )A.在for循环中,循环表达式也称为循环体B.在for循环中,步长为1,可以省略不写;若为其他值,则不可省略C.理解for循环关键是理解为循环变量设定初值、步长、终值D.在for循环中,“end”控制结束一次循环,开始一次新的循环[答案] C[解析] 本题是对for循环的综合考查,理解for循环的关键是理解循环体在计算机中是如何执行的,故选C.4.下列程序运行后输出的结果为( )x=1;y=1;z=0;while x<=4while y<=x+2z=z+1;y=y+1;endprint(%io(2),z);x=z+1;y=1;endendA.3,4,5,6 B.4,5,6,7C.5,6,7,8 D.6,7,8,9[答案] A[解析] 第一次执行循环,得到z=1,y=2,可以断续执行循环;第二次执行循环,得到z=2,y=3,可以继续执行循环;第三次执行循环,得到z=3,y=4,内循环结束,输出z,即3.然后执行x=x+1,y=1,得到x=2,y=1,再次执行内循环,得到z=4,然后依次可以得到5和6.当z=6的时候,x=5,外循环结束,所以程序结束.5.阅读下面的程序,该程序执行的循环次数是( )S=0;for i=-55150S=S+iendSA.30次B.31次C.29次D.32次[答案] D[解析] 循环变量i的初值为-5,终值是150,步长是5,因此当i=-5,0,5,10,…,150时,执行循环体,共有32次.6.下列问题可以用循环语句设计程序的有( )①求1+3+32+…+39的和;②比较a、b两个数的大小;③对于分段函数,要求输入自变量,输出函数值;④求平方值小于100的最大自然数.A.0个B.1个C.2个D.3个[答案] C[解析] ①④可以用循环语句设计程序;②③要用条件语句设计程序.二、填空题7.在求1+2+3+…+50的值时,在Scilab中的文本编辑中写出的程序如下:则横线上应填写的语句是________.S=0;for i=1150;endprint%io2,S;[答案] S=S+i[解析] 横线上的内容是循环体,即对变量S进行累加,所以S=S+i.8.执行下面的程序语句,输入a=3,b=-1,n=4后,输出的结果是________.a=input“a=”;b=input“b=”;n=input“n=”;i=1;while i<=nc=a+b;a=b;b=c;i=i+1endprint%io2,c;[答案] 4[解析] 循环体被执行了四次,第一次执行循环体得到的结果是:c=2,a=-1,b=2,i=2;执行第二次得到的结果是:c=1,a=2,b=1,i=3;执行第三次得到的结果是:c =3,a=1,b=3,i=4;执行第四次得到的结果是:c=4,a=3,b=4,i=5,这时的c 被输出.三、解答题9.高一(3)班共有54名同学参加了数学竞赛,现在已知这54名同学的竞赛分数.请设计程序.要求计算竞赛成绩优秀的同学的平均分并输出(规定90分以上(不含90分)为优秀).[解析] 程序如下:一、选择题1.下面程序的作用是( )i=1;sum=0;for i =1110sum=sum+i;endprint%io2,sum;A.求1+3+…+9+11B.求1+2+3+…+10C.求1×3×5×…×11D.求1×2×3×4×…×10[答案] B[解析] i的初值为1,sum的初值为0,步长为1.程序的处理过程为:第1轮的结果为:sum=0+1=1,i=1+1=2;第2轮的结果为sum=1+2,i=2+1=3;第3轮的结果为:sum=1+2+3,i=3+1=4;…;第10轮(最后一轮)的结果为:sum=1+2+3+4+5+6+7+8+9+10,i=10+1=11.i=11>10,跳出循环.故选B.2.以下程序运行后的输出结果为( )A.21 B.13C.17 D.25[答案] A[解析] 执行第一次后,i=3,S=9;执行第四次后,i =9,S =21. 二、填空题3.下面是一个用于计算11×2+12×3+13×4+…+120×21的程序,试填上适当的语句.s =0;i =1;while i<=20 ; i =i +1;endprint %io 2,s ;[答案] s =s +1/(i*(i +1))[解析] 累加求和需用赋值语句“s=s +1/(i*(i +1))”.4.如果以下的程序运行的结果为240,那么在程序中while 后面的“表达式”应为i>________.i =16;S =1;while i> S =S*i ; i =i -1;endprint %io 2,S ;[答案] 14[解析] 该程序使用了while 循环语句,当表达式为真时,执行循环体;当表达式为假时,退出循环.由于输出的结果为240=16×15,所以执行了两次循环,因此表达式应为i>14.三、解答题5.标有1、2、3、4、5、6六个号码球,有一个最重的,写出模拟挑出最重球的程序. [解析] 程序如下:i =1;while i<=6a i =input “输入小球质量”; i =i +1;end i =1;max =a i ;while i <=6if max <a i ;max =a i ;endi=i+1;endprint%io2,max6.根据以下给出的程序,画出其相应的程序框图,并指明该算法的功能.n=1;S=1;while S<5 000S=S*n;n=n+1;endn=n-1;print%io2,n;[分析] 可以发现这也是一个利用while循环语句编写的程序,从S=1,n=1开始,第一次循环求1×1,第二次求1×2,第三次求1×2×3,…,第n次是求1×2×3×…×n,因此该程序是求使1×2×…×n<5 000的最大整数.[解析] 该算法的程序框图如图所示:该算法的功能是求使1×2×…×n<5 000的最大正整数.希望对大家有所帮助,多谢您的浏览!。

人教A版高中数学必修三循环语句同步练习(1)

人教A版高中数学必修三循环语句同步练习(1)

[同步试题] 1、2、3循环语句1、 在循环 语句的一般形式中有“until A ”,其中A 是 ( )A 循环变量B 循环体C 终止条件D 终止条件为真2、 当2=x 时,下面的程序段结果是 ( ) 3 下面程序执行后输出的结果是( ) A 1- B0 C 1 D 24、把求!n 的程序补充完整5、 把程序框图补充完整:(1)________________________ (2)________________________6、下面程序运行后输出的结果为( )A50 B5 C25 D0 7、右图给出的是计算1614121++++ 的值的一个流程图,其中判断框内应填入的条件是8、计算2363+++++,写出算法的程序.122229、计算1+4+7+...+301,写出算法的程序.10、计算50以内的偶数之积,写出算法的程序.11、计算2/1+3/2+4/3+…+(n+1)/n,写出算法的程序.12、2000年我国人口为13亿,如果人口每年的自然增长率为7‰,那么多少年后我国人口将达到15亿?设计一个算法的程序13、给出50个数,1,2,4,7,11,…,其规律是:第1个数是1,第2个数比第1个数大1,第3个数比第2个数大2,第4个数比第3个数大3,…,以此类推. 要求计算这50个数的和. 先将下面给出的程序框图,再根据程序框图写出程序.14、我国古代数学家张邱建编《张邱建算经》中记有有趣的数学问题:“今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一凡百钱,买鸡百只,问鸡翁、母、雏各几何?”你能用程序解决这个问题吗15写出用二分法求方程x3-x-1=0在区间[1,1.5]上的一个解的算法(误差不超过0.001),并画出相应的程序框图及程序.、参考答案1、C2、263、B4、INPUT,WHILE,WEND5、. 程序:(1)_____i < = 50___(2)_____p= p + i_6、Di7、108、i=1S=1WHILE i <= 63S=s+2^ii=i+1WENDPRINT sEND或i=1S=1DOS=s+2^ii=i+1LOOP UNTIL i >63 PRINT sEND9、i=1S=0WHILE i <= 101 S=s+ii=i+3WENDPRINT sEND或i=1S=0DOS=s+3i=i+1LOOP UNTIL i >101 PRINT sEND10、i=1S=1WHILE i <= 25 S=s*ii=i+1WENDPRINT sEND或i=1S=1DOS=s*ii=i+1LOOP UNTIL i >25PRINT sEND11、PRINT ni=1S=0WHILE i <= nS=s+(i+1)/ii=i+1WENDPRINT sEND或PRINT ni=1S=0DOS=s+(i+1)/ii=i+1LOOP UNTIL i >nPRINT sEND12、.解:A=13R=0.007i=1DOA=A*(1+R)i=i+1LOOP UNTIL A>=15i=i-1PRINT “达到或超过15亿人口需要的年数为:”;i END13、i=1 p=1 s=1WHILE i <=50 s=s+i p=p+s i=i+1 WEND PRINT p14、设鸡翁、母、雏各x 、y 、z 只,则⎪⎩⎪⎨⎧=++=++②,①,100100335z y x z y x 由②,得z=100-x -y,③③代入①,得5x+3y+3100y x --=100,7x+4y=100. ④ 求方程④的解,可由程序解之. 程序:x=1 y=1WHILE x <=14 WHILE y <=25IF 7*x+4*y=100 THENz=100-x-yPRINT “鸡翁、母、雏的个数别为:”;x,y,zEND IFy=y+1WENDx=x+1y=1WENDEND(法二)实际上,该题可以不对方程组进行化简,通过设置多重循环的方式得以实现.由①、②可得x最大值为20,y 最大值为33,z最大值为100,且z为3的倍数.程序如下:x=1y=1z=3WHILE x<=20WHILE y<=33WHILE z<=100IF 5*x+3*y+z/3=100 ANDx+y+z=100 THENPRINT “鸡翁、母、雏的个数分别为:”;x、y、zEND IFz=z+3WENDy=y+1z=3WENDx=x+1y=1WENDEND15、用二分法求方程的近似值一般取区间[a,b]具有以下特征:f(a)<0,f(b)>0. 由于f(1)=13-1-1=-1<0,f(1.5)=1.53-1.5-1=0.875>0,所以取[1,1.5]中点25.11 =1.25研究,以下同求x2-2=0的根的方法.相应的程序框图是:输出x程序:a=1b=1.5 c=0.001 DO x=(a+b )/2 f (a )=a ∧3-a -1 f (x )=x ∧3-x -1IF f(x)=0 THENPRINT “x=”;xELSEIF f(a)*f(x)<0 THENb=xELSEa=xEND IFEND IFLOOP UNTIL ABS(a-b)<=c PRINT “方程的一个近似解x=”;x END。

高中数学循环语句同步练习1 新课标 人教版 必修3(B)

高中数学循环语句同步练习1 新课标 人教版 必修3(B)

循环语句 同步练习1.求1-10191413121-+⋯+-+的值. 解:算法分析:第一步是选择一个变量S 表示和,并赋给初值0,再选一个循环变量i ,并赋值为0; 第二步开始进入WHILE 循环语句,首先判断i 是否小于10;第三步为循环表达式(循环体),用WEND 来控制循环;第四步用END 来结束程序.可写出程序如下:S=0i=1WHILE i <=10S=S+(-1) ^(i+1)/ii=i+1WENDPRINT SEND运行该程序,输出:S=0.64563492.2.小明第一天背一个单词,第二天背两个单词,以后每一天比前一天多背一个单词.问他前十天共背了多少个单词?解:算法分析:第一步是选择一个变量S 表示和,并赋给初值1,再设一个循环变量i ,并赋值为1; 第二步开始进入WHILE 循环语句,首先判断i 是否小于10;第三步为循环表达式(循环体),用WEND 来控制循环;第四步用END 来结束程序.可写出程序如下:S=1i=1WHILE i <10i=i+1S=S+iWENDPRINT SEND运行该程序,输出:S=55.3.求平方值小于2000的最大整数.解:可编写程序如下:H=0j=1WHILE j*j <2000H=jj=j+1WENDPRINT HEND运行该程序,输出:H=44.4.计算1+3+32+ (39)解:算法分析:第一步是选择一个变量S表示和,并赋给初值0,再选取一个循环变量i,并赋值为0; 第二步开始进入WHILE循环语句,首先判断i是否小于9;第三步为循环表达式(循环体),用WEND来控制循环;第四步用END来结束程序.可写出程序如下:S=0i=0WHILE i<=9S=S+3^ii=i+1WENDPRINT SEND运行该程序,输出:S=29524.5.输入一个正整数n,并计算S=11×22×33×…×n n的值.解:算法分析:第一步是选择一个变量n,并要求输入初值;第二步是选择一个变量S表示和,并赋给初值1,再选择一个循环变量i,并赋值为1; 第三步开始进入WHILE循环语句,首先判断i是否小于n;第四步为循环表达式(循环体),用WEND来控制循环;第五步用END来结束程序.可写出程序如下:INPUT “n=”;nS=1i=1WHILE i<=nS=S*i^ii=i+1WENDPRINTSEND。

人教版高中数学B必修3练习1.2.3循环语句

人教版高中数学B必修3练习1.2.3循环语句

1.2.3循环语句一、基础过关1.在循环语句中,说法正确的是() A.for循环可以无限循环B.while循环可以无限循环C.循环语句中必须有判断D.while循环不能实现for循环的功能2.以下程序执行完毕后a的值是()A.50B.51C.52D.533.下列程序的运行结果为()A.5 B.6 C.7 D.84.下列给出的四个框图,其中满足while语句格式的是()A.(1)(2) B.(2)(3) C.(2)(4) D.(3)(4)5.在求1+2+…+50=?时,Scilab中的文本编辑器中写出的程序如下:其中缺少的程序为________.6.求1+2+22+…+2100的程序如下,请补全.7.写出计算102+202+…+1 0002的算法程序,并画出相应的程序框图.8.写出求满足1+2+3+…+n>2 012的最小的自然数n的程序,并画出其程序框图.二、能力提升9.下面程序执行后输出的结果是()A.-1 B.0 C.1 D.210.执行下列程序,计算机能输出结果仅是15的是() A.S=0;for x=1:5,S=S+x,disp(S);endB.S=0;for x=1:5,S=S+x,end;disp(S)C.S=0;for x=1:5,S=S+x;disp(S);endD.S=0;for x=1:5,S=S+x;end;disp(S)11.写出以下程序的算术表达式.该程序的表达式为________________.12.根据下列程序画出相应的程序框图,并写出相应的算法.三、探究与拓展13.在某电视台举行的青年歌手大赛中,有10名选手参加,并请了12名评委,在给每位选手计算平均分数时,为避免个别评委所给的极端分数的影响,必须去掉一个最高分和一个最低分后再求平均数.(分数采用10分制,即每位选手的分数最高为10分,最低为0分) 试用循环语句来解决上述问题.1.2.3循环语句1.C 2.C 3.B 4.B5.S=S+i 6.S=S+2^i7.解程序如下:或程序框图如图所示:8.解程序为:程序框图为:9.B[由于5+4+3+2=14,这时仍满足条件“S<15”,∴n=2-1=1时,S=14+1=15,当执行完循环体n=1-1=0后,再判断条件,此时不满足条件“S<15”,接着执行“disp(n)”.所以n=0.]10.D[由disp(S)在end前,知A、C输出的为S=1,3,6,10,15,而B中因循环体“S=S +x”后用“,”而不是“;”,故输出后为1,3,6,10,15.]11.T=1×2×3×4×512.解算法分析:第一步,输入S、n,S的初始值为1,n的初始值为1.第二步,n从1开始循环直到S≥1 000停止,且S=S×n,n=n+1.第三步,跳出循环,输出n值.程序框图:13.解程序如下:。

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

《循环语句》复习班测试题一.选择题(40分)1.下面程序段int k=2;while (k=0) {printf(“%d”,k);k--;}则下面描述中正确的是C。

A)while循环执行10次B)循环是无限循环C)循环题语句一次也不执行D)循环体语句执行一次2.下列表达式中,( B )不满足“当x的值为偶数时值为真,为奇数时值为假”的要求。

A)x%2==0 B)!x%2!=0 C)(x/2*2-x)==0 D)!(x%2)3.以下程序段的循环次数是 B 。

for (i=2; i==0; ) printf(“%d” , i--) ;A)无限次B)0次C)1次D)2次4.下列关于break语句的叙述不正确的是(C)A break语句可用在循环体中,它将使执行流程跳出本层循环体。

B break语句可用在switch语句中,它将使执行流程跳出当前switch语句。

C break语句可用在if语句中,它将使执行流程跳出当前if语句。

D break语句在一层循环体中可以多次出现。

5.下面程序的输出结果是。

main (B ){ int x=9;for (; x>0; x--) {if (x%3==0) {printf(“%d”,--x);continue ;}}}A)741 B)852 C)963 D)8754216.以下不是死循环的程序段是。

DA)int i=100; B)for ( ; ; ) ;while (1) {i=i%100+1 ;if (i>100) break ;}C)int k=0; D)int s=36;do { ++k; } while (k>=0); while (s) ; --s ;7.下述程序段的运行结果是 C 。

int a=1,b=2, c=3, t;while (a<b<c) {t=a; a=b; b=t; c--;}printf(“%d,%d,%d”,a,b,c);A)1,2,0 B)2,1,0 C)1,2,1 D)2,1,18.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是。

CA)(x>=1) && (x<=10) && (x>=200) && (x<=210)B)(x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C)(x>=1) && (x<=10) | | (x>=200) && (x<=210)D)(x>=1) | | (x<=10) && (x>=200) | | (x<=210)9.下述语句执行后,变量k的值是。

Bint k=1;while (k++<10);A)10 B)11 C)9 D)无限循环,值不定10.设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=c>b) || (n=c>d)后n的值为。

CA)1 B)3 C)2 D)411.下面for循环语句( B )。

int i,k;for (i=0, k=-1; k=1; i++, k++)printf(“***”);A)判断循环结束的条件非法B)是无限循环C)只循环一次D)一次也不循环12.语句while (!E); 括号中的表达式!E等价于 C 。

A)E==0 B)E!=1 C)E!=0 D)E==113.下面B 是错误的if语句(设int x,a,b;)A)if (a=b) x++; B)if (a=<b) x++;C)if (a-b) x++; D)if ( x ) x++;14.执行语句for (i=1;i++<4;) ; 后变量i的值是 C 。

A)3 B)4 C)5 D)不定15.以下程序段。

Cx=-1;do{ x=x*x; }while (!x);A)是死循环B)循环执行2次C)循环执行1次D)有语法错误16.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择 B 填空。

main ( ){ int a,max=0;scanf(“%d”,&a);while (【】){if (max<a) max=a ;scanf (“%d”,&a);}pri ntf(“%d”,max);}A)a==0 B)a C)!a==1 D)!a17.以下不是死循环的语句是。

AA)for (y=9,x=1;x>++y;x=i++) i=x ;B)for ( ; ; x++=i ) ;C)while (1) { x++ ; }D)for (i=10 ; ; i--) sum+=i ;18.下面程序段的运行结果是。

Dx=y=0;while (x<4) y++,x+=++y ;printf(“%d,%d”,y,x);A)20,7 B)6,12 C)20,8 D)4,619.以下for循环的执行次数是 C 。

for (x=0,y=0; (y=123) && (x<4) ; x++) ;A)无限循环B)循环次数不定C)4次D)3次20.以下程序输出结果是 B 。

main ( ){ int x=1,y=0,a=0,b=0;switch(x) {case 1:switch (y) {case 0 : a++ ; break ;case 1 : b++ ; break ;}case 2:a++; b++; break;case 3:a++; b++;}printf(“a=%d,b=%d”,a,b);}A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2二.填空题(10分)1.C语言三个基本结构语句分别是顺序语句,选择语句和循环语句。

2.至少执行一次循环体的循环语句是do while;3.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式___ y%4==0&&y%100!=0||y%400==0 __________4. 计算下列分段函数的if 语句是_ __。

y= 1 x>0y= 0 x=0y= -1 x<05.程序段for (a=1,i=-1; -1<i<1; i++){ a++ ; printf(“%2d”,a); } ;printf(“%2d”,i) ;的运行结果是。

三.判断题(10分)1.在while循环中允许使用嵌套循环,但只能是嵌套while循环。

【x 】2.在实际编程中,do-while循环完全可以用for循环替换。

【x】3.continue语句只能用于三个循环语句中。

【x】4.在不得已的情况下(例如提高程序运行效率),才使用goto语句。

【v】5.语句标号与C语言标识符的语法规定是完全一样的。

【v】6.for循环的三个表达式可以任意省略,while,do-while也是如此。

【x】7.多个case可以执行相同的程序段。

【v】8.while的循环控制条件比do-while的循环控制条件严格。

【v 】9.if语句中的表达式不限于逻辑表达式,可以是任意的数值类型。

【x 】10.do-while循环的while后的分号可以省略。

【x 】四.程序阅读题1.写出下面程序运行的结果。

main ( ){ int x,i ;for (i=1 ; i<=100; i++){x=i;if (++x%2==0)if (++x%3==0)if(++x%7==0)printf(“%d ”,x) ;}}28 702.写出下面程序运行的结果。

下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。

main ( ){ char c;c = getchar ( ) ;c = (c>=’A’ &&c<=’Z’) ? c+32 : c ;printf(“%c”,c);}3.写出下面程序运行的结果。

main ( ){int a,b;for (a=1,b=1 ; a<=100 ; a++){if (b>=20) break;if (b%3==1) { b+=3 ; continue ; }b-=5;}prin tf(“%d\n”,a);}84.写出下面程序运行的结果。

main ( ){ int k=1,n=263 ;do { k*= n%10 ; n/=10 ; } while (n) ;printf(“%d\n”,k);}365.写出下面程序运行的结果。

main ( ){ int i,k=0;for (i=1; ; i++){k++ ;while (k<i*i){k++ ;if (k%3==0) goto loop ;}}loop:printf(“%d,%d\n”,i,k);}2,3六.编程题1.输入两个正整数m和n,求其最大公约数和最小公倍数。

102.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。

103.求(即求1!+2!+3!+…+19!+20!)。

54.任意范围内既能被5整除,又能被7整除的数的和55.提高题:打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方之和等于该数本身。

5。

相关文档
最新文档