1-2-3 循环语句
- 格式:doc
- 大小:103.50 KB
- 文档页数:14
§1.2.3循环语句------while 循环高一数学必修3第一章1.2.3循环语句一、学习目标:(1)正确理解循环语句的概念,并掌握其结构;(2)会应用循环语句编写程序.二、自主学习:1.“For 循环”是在循环次数已知时使用的循环,其一般形式为:3.说明:① for 与 end 成对出现。
② 步长为1时可省略。
③ 用于预先知道循环次数的情形。
循环次数=(终值-初值)/步长+1④ “;”的用处。
2.“while 循环语句”是在未知循环次数的条件下进行的循环,也可以在循环次数已知的循环中使用。
其一般形式为:当程序执行时,遇到while 语句,先对表达式所描述的条件进行判断,如果条件成立,则执行while 和end 之间的循环体,然后再判断上述条件,再次执行循环体,这个过程反复执行,直到某一次不符合条件为止,这时不再执行循环体,将跳到end 语句后,执行end 后面的语句;三、典例分析:例1. 求平方值小于1000的最大整数。
例2.用while 循环语句编写一个程序,计算1×3×5× (99)练习: 设计计算:2×4×6×…×100的程序For 循环变量=_________________________ 循环体 end练习:设计程序例3. 画出计算值的算法程序框图,并写出程序。
四、快乐体验:写出下列各题输出结果1.for x=5:(-1):(-2)enddisp(x)输出____2.for x=5:(-1):(-2)disp(x)end输出________________3.s=0;for i=1:1:6s=s+i*(i+1);ends输出_________4.S=0;T=0;for i=1:1:5T=T+i;S=S+T;endprint(%io(2),s)输出________。
for循环语句1到123偶数之和以for循环语句计算1到123之间的所有偶数的和为题,我将为您列举不少于10个符合标题要求的内容。
1. 使用for循环语句计算1到123之间的偶数之和,可以使用以下代码:```pythonsum = 0for i in range(1, 124):if i % 2 == 0:sum += iprint("1到123之间的偶数之和为:", sum)```2. 偶数之和为:2 + 4 + 6 + 8 + 10 + 12 + 14 + 16 + 18 + 20 + 22 + 24 + 26 + 28 + 30 + 32 + 34 + 36 + 38 + 40 + 42 + 44 + 46 + 48 + 50 + 52 + 54 + 56 + 58 + 60 + 62 + 64 + 66 + 68 + 70 + 72 + 74 + 76 + 78 + 80 + 82 + 84 + 86 + 88 + 90 + 92 + 94 + 96 + 98 + 100 + 102 + 104 + 106 + 108 + 110 + 112 + 114 + 116 + 118 + 120 + 122 = 3813。
3. 使用for循环语句计算1到123之间的偶数之和,可以通过每次循环判断当前数是否为偶数,是则累加到总和中。
最后输出总和即可。
4. 要计算1到123之间的偶数之和,可以使用一个变量sum来保存总和的值,初始值设为0。
然后使用for循环,从1到123遍历每个数,判断是否为偶数,如果是,则将该偶数累加到sum中。
最后输出sum的值即可。
5. 以for循环语句计算1到123之间的偶数之和,可以使用一个变量sum来保存总和。
然后使用for循环,从1到123遍历每个数,判断是否为偶数,如果是,则将该偶数累加到sum中。
最后输出sum的值。
6. 使用for循环语句计算1到123之间的偶数之和,可以使用一个变量sum来保存总和的值,初始值为0。
C语言三种循环语句三种基本的循环语句: for语句、while语句和do-while语句。
一、循环语句(一)、for循环它的一般形式为:for(<初始化>;<条件表过式>;<增量>)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。
这三个部分之间用;分开。
例如:for(i=1;i<=10;i++)语句;上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。
再重新判断,直到条件为假,即i>10时,结束循环。
注意:(1).for循环中语句可以为语句体,但要用{和}将参加循环的语句括起来。
(2).for循环中的初始化、条件表达式和增量都是选择项,即可以缺省,但;不能缺省。
省略了初始化,表示不对循环控制变量赋初值。
省略了条件表达式,则不做其它处理时便成为死循环。
省略了增量,则不对循环控制变量进行操作,这时可在语句体中加入修改循环控制变量的语句。
(3).for循环可以有多层嵌套。
例如:for(;;) 语句;for(i=1;;i+=2) 语句;for(j=5;;) 语句;这些for循环语句都是正确的。
main(){int i,j;printf(i j );for(i=0;i<2;i++)for(j=0;j<3;j++)printf(%d %d ,i,j);}输出结果为:i j0 00 10 21 01 11 2用for循环求1+2+……+100的'和:main(){int sn=0,i;for(i=1;i<=100;i++)sn+=i; /*1+2+……+100*/printf(%d ,sn);}从程序可以看出,使用循环语句可以大大简化代码。
(二)、while循环它的一般形式为:while(条件)语句;while循环表示当条件为真时,便执行语句。
张喜林制1.2.3 循环语句教材知识检索考点知识清单1.在算法程序语言中一般通过来处理算法中的循环结构.2.Scilab程序语言中提供了两种循环语句:.3.for循环的格式为:,while循环的格式为要点核心解读1.循环语句(1)循环语句的概念,在程序处理中,经常需要对一条或一组语句重复执行多次,最终完成某项任务,这就是循环的概念,例如统计所有考生的成绩的总分需要一个人一个人地计算;寻找一批数据中的某一个,需要逐个地鉴别……这类处理的一个特点是对不同的运算对象进行若干次的相同运算或处理,这种处理模式在程序设计中是用循环结构来实现的.在Scilab程序语言中提供了两种循环语句,for循环和while循环.(3)for循环的一般格式2.循环语句的应用循环语句主要用来处理算法中的循环结构,在处理一些需要有规律地重复计算问题,如累加求和、累乘求积及其他问题时常常用到循环语句编写程序,用for 循环编写程序时要注意设定好循环变量的初值、步长和终值,避免出现多一次循环或少一次循环的情况,用while 循环编写程序时,一定要注意表达式的写法,当表达式为真时执行循环体,表达式为假时结束循环,以防出现表达式正好相反的错误.循环结构在生活中有着广泛的应用,用循环语句描述循环结构的算法简洁、方便.[例] 猴子第1天摘下若干个桃子,当即吃一半,还不过瘾,又多吃了一个.第2天早上又将剩下的桃子吃掉一半又多吃了一个.以后每天早上都吃了前一天剩下的一半还多一个,到第10天早上想再吃时,见只剩下一个桃子.求第1天共摘多少个桃子?[解析] 第10天为,110=s 第9天为,42)11(9=⨯+=s 第8天则为,102)14(8=⨯+=S ……第1天则为,2)1(21⨯+=S S 得到递推公式为,2)1(,1110⨯+==+n n s S s.9,,2,1 =n[答案] 根据思路,程序框图如图1-2 -3 -2所示, 根据框图,程序为:;1=i ;1=S e whi 1 ;10<i;2*)1(+=S S ;1+=i iend);),2((%S io nt np [点拨] 本题算法称为递推法,由前项推后项,递推公式重复运用,因此可用循环语句处理.典例分类剖析考点1 for 循环语句的编写[例1]设计一个计算997531⨯⨯⨯⨯⨯ 值的算法,画出程序框图,写出程序. [答案] 这是一个有规律的累乘问题,第一个数为1,以后每个数均比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序, 算法步骤如下:Sl 令;1=S S2 令;1=I S3 令;I S S ⨯= S4 令;2+=I IS5 若,991≤那么执行S3;否则执行S6; S6 输出S程序框图如图1-2 -3 -3所示,[点拨] (1)由于是一个累乘问题,我们设定S初始值为l,所以程序中的第二行语句也可改写为for i=3:2:99,最后程序的运行结果是一样的.知道循环次数,常用for语句.(2)本题中的程序也可用while循环语句编写如下:1.编写程序计算2005的值,考点2 while循环语句的编写[例2] 标有l,2,3,4,5,6六个号码球,有一个最重的,写出模拟挑出最重球的程序.[答案] 设第一个球是最重的,然后与其他几个球依次比较,如有比第一个球重的,就交换过来.=i;1whi1 i< = 6e)((“输入小球重量”);a=inputii=i;1+endi;2==a();max i61<=i ewhi )(max i a if < );(max i a = end;1+=i iendmax);),2((%io nt np [点拨] 本题中有两个循环体),(max 1i a hk i i =+=注意循环语句的嵌套,未知循环次数常用while语句,,10000_______531.2>⨯⨯⨯⨯ 那么如何寻找满足条件的最小正整数呢?试写出解决此问题的算法,并写出程序,考点3 同一问题的两种语句处理[例3] 用两种语句写出求22210021+++ 的值的算法.[答案] 若用while 语句,循环终止条件为,100≤i 用for 语句,其步长为1,终值为100. e whi 1语句: for 语句:;1=i ;0=sum ,0=sum 010:1:1.=i for 100.1<=i e whi ;*i i sum sum +=;*i i sum sum += end;1+=i i );),2((%sum io nt n p end);),2((%sum io nt np [点拨] (1)在描述循环条件的算法时,若循环次数是明确的,两种语句均可使用,若循环次数不明确,一般用while 语句.(2)若用while 语句,循环终止条件为,100≤i 用for 语句其步长为1,终值为100. 3.编写求解下列问题的程序:;100014131211)1(+++++.10099433221)2(⨯++⨯+⨯+⨯考点4 循环结构在生活中的应用[例4]高-(3)班共有54名同学参加了数学竞赛,现在已有了这54名同学的竞赛分数.请设计算法,要求计算出竞赛成绩优秀的同学的平均分并输出(规定90分以上为优秀),画出程序框图,写出程序. [答案] 我们可以用循环结构控制输入54名同学的分数,用条件结构来判断分数是否高于90分,同时统计累加高于90分的成绩的总和和人数,从而求出平均分, 程序框图如图1.2 -3 -4所示.程序如下:[点拨]设计算法,画出程序框图,条件语句与循环同时运用.用while 语句,循环终止条件为.54≤i 4.某服装厂2007年的产值为2000万元,如果年生产增长率为5%,计算最早哪一年生产总值超过3000万元,画出程序框图,并写出程序.优化分层测训学业水平测试1.下面算法语句中,输出的结果为( ).;0=Sdo to x for .7..3.= begin ;x S S +=输出S . end25.A 18.B 7,6,5,4,3.C 25,18,12,7,3.D2.循环语句中的步长( ).A .可以省略B .不能省略C .只有步长为1时才可省略D .以上全错 3.循环语句“while 表达式循环体end”中说法正确的是( ).A .总是执行循环B .执行一次循环C .表达式为真,则执行循环D .遇到end 就结束 4.读算法语句:do to fori 31= begindo to forj 51= begin输出i 十f end则输出i*j 语句执行次数为 5.阅读算法语句:,1=w ;2=i repeat,*i w w = ;1+=i i 20001>w unti 输出.1-i该算法语句的意义为: . 6.编写61514131211-+-+-的运算程序, 高考能力测试(测试时间:45分钟测试满分:100分)一、选择题(本大题共8小题,每小题5分,共40分,在每小题给出的四个选项中,只有一项是符合题目要求的)1.下列关于for 循环的说法中错误的是( ).A .在for 循环中,循环表达式也称为循环体B .在for 循环中,步长为l ,可以省略不写,若为其他值,则不可省略C .理解for 循环的关键是理解为循环变量设定的初值、步长、终值D .在for 循环中“end”控制结束一次循环,开始一次新的循环 2.下列说法中正确的是( ).A .while 循环和for 循环的结构相同B .while 循环结构首先要求对表达式进行判断,如果表达式为真,则执行循环体部分C .while 循环每次开始执行循环体前,都要判断表达式是否为假D .while 循环每次开始执行循环体前,都要判断表达式是否为假,这样重复执行,一直到表达式的值为真时,就跳过循环体部分,重新判断表达式的值,直到循环结束3.(2010年惠州模拟题)下面的程序运行后,输出的结果为( ).[注:5)(MOD j a +是j +5“除以5的余数”]50.A 5.B 25.C 0.D,190:10:100.4-=forx 该程序共执行循环( ).A.29次 B .30次 C .28次 D .19次 5.当2=x 时,下面程序的运行结果是( ).;1=i;0=S 4.<=i while;1*+=X S S ;1+=i iend S3.A 7.B 15.C 17.D6.如图1-2 -3 -6流程图中,语句1(语句1与i 无关)将被执行的次数是( ).23.A 24.B 25.C 26.D7.执行下列程序时,计算机能输出的结果仅是15的是( ).)(;;;5:1;0.s disp end X s s f s A orx +===).(;;8,5:1;0.s disp end X s forx s B +=== end s disp x s s forX s C );(;,5:1;0.+=== )(;;,5:1;0.s disp end X s s krX s D +===8.(2011年北京高考题)执行如图1-2 -3 -7所示的程序框图,若输入A 的值为2,则输出的P 值为( ).2.A3.B4.C5.D二、填空题(本大题共4小题,每小题5分,共20分.把答案填在题后的相应位置)9.(2011年山东高考题)执行如图1-2 -3 -8所示的程序框图,输入,5,3,2==⋅=n m l 则输出的y 的值是10.(2011年江西高考题)如图1-2 -3 -9所示是某算法的程序框图,则程序运行后输出的结果是 . 1l.程序:以上程序运行后的结果是12.以下给出求99531⨯⨯⨯⨯ 的值的四个程序,其中正确的有(1)(2)(3)三、解答题(本题共4小题,每小题10分,共40分,解答须写出文字说明、证明过程和演算步骤)13.现欲求12151311-++++n 的和(其中n 的值由键盘输入),已给出了其程序框图(如图1 -2 -3 -10),请将其补充完整并设计出程序.14.已知,)(2x x f =把区间[0,1]十等分,设计程序求该函数在各分点处和区间端点的函数值.15.设计程序求π的近似值可以用以下公式:++=22221116π⋅++22131n 用上述公式求,62π即逐项进行累加,直到00001.012<n 为止(该项不累加),然后求出π的近似值.16.画出求平方值小于2000的最大整数的程序框图,并编写程序.。
c语言循环结构三种形式
循环结构是c语言程序设计中重要的一环,它是指将指定的语句重复执行多次的程序结构,循环结构有三种形式:for循环,while循环和do…while循环。
for循环是一种最常用的循环结构,其结构形式为:for(表达式1;表达式2;表达式3)语句;(注意:表达式1、2、3之间用分号隔开,表达式3要用分号结尾),每次循环都会按照表达式1、2、3的顺序执行,其中表达式1一般是初始化变量的值,表达式2则是作为循环条件(集限),表达式3则是更改变量的值。
while循环是另一种比较常用的循环结构,其结构形式为:while(表达式)语句,while循环的作用是当表达式值为真时则重复执行相应的语句,也就是说,只要表达式的值为真,语句就会一次被执行,最后当表达式值为假时,结束循环。
最后一种结构是do…while循环,其结构形式为:do句 while (表达式),不同于while循环,do…while循环会先执行语句,然后才判断表达式,也就是说,无论表达式的值是真还是假,语句都会被至少执行一次。
c语言程序设计中,for循环,while循环和do…while循环共同构成了循环结构的三种形式,它们均是c语言中重要的程序控制结构。
对于for循环,我们可以使用其来完成同一段代码的多次执行;而对于while循环,可以利用其来完成当表达式值为真时的重复执行;最后,对于do…while循环,可以利用其来完成将语句至
少执行一次的操作。
从上面可以看出,不论是c语言编程还是其他编程语言,都不可缺少循环结构,其中for循环,while循环和do…while循环是循环结构当中最为常用的三种形式,他们能够极大地提高程序员的编程效率,帮助我们完成一些复杂的程序编写工作。
循环结构程序设计三种循环语句
1. for循环:
for循环是一种常用的循环语句,适用于已知循环次数的情况。
语法结构如下:
```
for (初始化; 循环条件; 循环迭代)
循环体代码
```
其中,初始化部分执行一次,用于初始化循环变量;循环条件判断是否继续执行循环;循环迭代在每次循环结束后执行,用于更新循环变量的值;循环体代码是需要重复执行的代码块。
2. while循环:
while循环是一种基本的循环语句,适用于未知循环次数的情况。
语法结构如下:
```
while (循环条件)
循环体代码
```
其中,循环条件判断是否继续执行循环;循环体代码是需要重复执行
的代码块。
在每次循环执行之前,会首先判断循环条件的真假,如果条件
为真,则执行循环体代码;如果条件为假,则终止循环。
3. do-while循环:
do-while循环是while循环的一个变体,适用于至少执行一次循环
体代码的情况。
语法结构如下:
```
do
循环体代码
} while (循环条件);
```
其中,循环体代码是需要重复执行的代码块;循环条件判断是否继续
执行循环。
在每次循环执行之后,会判断循环条件的真假,如果条件为真,则继续执行循环体代码;如果条件为假,则终止循环。
这三种循环语句可以根据具体的程序需求选择合适的循环结构,以实
现不同的循环逻辑。
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。
循环指令代码循环指令是在计算机程序中实现重复执行一段代码的一种常见方法。
循环指令有助于简化程序结构,提高代码的可读性和可维护性。
在不同的编程语言中,循环指令的实现方式略有不同,下面将以几种常见的编程语言为例,介绍循环指令的相关内容。
1. C语言中的循环指令:C语言提供了三种主要的循环指令:for循环、while循环和do-while循环。
这些循环指令的基本语法如下:- for循环:```cfor (初始化表达式; 终止条件; 更新表达式) {// 循环体}```- while循环:```cwhile (条件表达式) {// 循环体}```- do-while循环:```cdo {// 循环体} while (条件表达式);```2. Python语言中的循环指令:Python语言提供了两种主要的循环指令:for循环和while循环。
这些循环指令的基本语法如下:- for循环:```pythonfor 变量 in 序列:# 循环体```- while循环:```pythonwhile 条件表达式:# 循环体```3. Java语言中的循环指令:Java语言提供了三种主要的循环指令:for循环、while循环和do-while循环。
这些循环指令的基本语法如下:- for循环:```javafor (初始化语句; 条件表达式; 更新语句) {// 循环体}```- while循环:```javawhile (条件表达式) {// 循环体}```- do-while循环:```javado {// 循环体} while (条件表达式);```4. JavaScript语言中的循环指令:JavaScript语言提供了两种主要的循环指令:for循环和while 循环。
这些循环指令的基本语法如下:- for循环:```javascriptfor (初始化表达式; 终止条件; 更新表达式) {// 循环体}```- while循环:```javascriptwhile (条件表达式) {// 循环体}```以上介绍的是几种常见编程语言中的循环指令的基本语法,循环指令还有一些高级用法,比如嵌套循环、循环控制语句(如break、continue)、循环的初始化和更新表达式可以使用多个变量等。
一、选择题1.对当型循环结构叙述不正确的是( )A .当给定的条件成立(真)时,反复执行循环体,直到条件不成立(假)时,才停止循环B .当型循环有时也称“前测试型”循环C .当型循环结构对应的循环语句是UNTIL 语句D .任何一种需要重复处理的问题都可以用当型循环来实现[答案] C2.下列说法正确的是( )A .当型(WHILE )循环结构不能转化为直到型(UNTIL )循环结构B .当型(WHILE )循环结构先执行循环体,后判断条件C .当型(WHILE )循环结构先判断条件,后执行循环体D .以上说法都不正确[答案] C[解析] 当型循环是先判断条件后再决定是否执行循环体,直到型循环是先执行循环体,后判断条件,它们之间可以进行转化,故选C .3.下列需用循环语句编写程序的是( )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的值[答案]D4.下列程序的功能是()S=1i=1WHILE S<=2012i=i+2S=S×iWENDPRINT iENDA.计算1+3+5+…+2012B.计算1×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.5.(2012~2013·山东济南模拟)已知如下程序,其运行结果是()j=1WHILE j*j<100j=j+1WENDj=j-1PRINT“j=”;jENDA.j=j-1 B.j=100C.j=10 D.j=9[答案]D[解析]此程序是求使j2<100的最大正整数.又102=100,故输出结果为j=9.6.读下列两段程序:甲:i=1S=0WHILE i<=1000S=S+ii=i+1WENDPRINT SEND乙:i=1000S=0DOS=S+ii=i-1LOOP UNTIL i<1PRINT SEND对甲、乙程序和输出结果判断正确的是()A.程序不同,结果不同B.程序不同,结果相同C.程序相同,结果不同D.程序相同,结果相同[答案]B[解析]程序甲是计数变量i从1开始逐步递增直到i=1000时终止,累加变量从0开始,这个程序计算的是1+2+3+ (1000)程序乙是计数变量从1000开始逐步递减到i=1时终止,累加变量0开始,这个程序计算的是1000+999+…+1.但这两个程序是不同的.两个程序的输出结果都是S=1+2+3+…+1000=500500.[点拨]同一个问题可以有不同的程序,解决这类试题的关键是看分析程序是用哪种算法语句编制的.7.下面程序运行后输出结果错误的是()A.i=1s=0WHILE s<=10s=s+iWENDPRINT sEND输出结果为14 B.i=1 sum=0WHILE i<=10sum=sum+ii=i+1WENDPRINT“sum=”;sum END输出结果为55C.i=1sum=0WHILE i<=10i=i+1sum=sum+iWENDPRINT“sum=”;sum END输出结果为65 D.i=1 s=0WHILE s<=10s=s+iWENDPRINT 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.8.下面是求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.二、填空题9.在WHILE语句中,是当条件________时执行循环体,而在UNTIL语句中,是当条件________时执行循环体.[答案]满足不满足10.看这个程序,试问最后i的值等于________.i=1sum=0DOsum=sum+ii=i+1LOOP UNTIL i>10PRINT sumEND[答案]1111.写出下列程序的运行结果:(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.12.下面程序的功能是________.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).三、解答题13.设计一个算法计算1×3×5×7×…×99值的算法,画上程序框图,写出程序.[分析]本题是一个累乘求积的问题,可采用循环语句编写程序.[解]算法步骤如下:第一步:S=1;第二步:i=3;第三步:S=S×i;第四步:i=i+2;第五步:判断i是否大于99,若是转到第六步;否则转到第三步,继续执行第三步,第四步,第五步;第六步:输出S;第七步:算法结束.相应的程序框图如图所示.相应的程序如下:S=1i=3DOS=S*ii=i+2LOOP UNTIL i>99PRINT SEND[点评](1)这是一个有规律的累乘问题,第一相数为1,以后每个数比前一个数大2,共50个数相乘,因此可用循环结构设计算法,用循环语句编写程序.(2)本题中算法程序也可用WHILE语句编写:S=1i=1WHILE i<=99S=S*ii=i+2WENDPRINT SEND14.下面程序的功能是输出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+1WENDEND15.某高中男子体育小组的100m赛跑成绩(单位: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.1THENPRINT GiEND IFi=i+1WENDEND16.某商场第一年销售计算机5000台,如果平均每年销售量比上一年增加10%,那么从第一年起,大约几年可使总销售量达到30000台?[分析]根据题意,每年销售量比上一年增加的百分率相同,设总和为S,n年达到30000台.第一年销售了5000台;第二年销售了5000+5000×10%=5000(1+10%)(台);第三年销售了5000(1+10%)+5000(1+10%)×10%=5000(1+10%)2(台)……第n 年销售了5000(1+10%)n -1(台)总和S =5000+5000(1+10%)+5000(1+10%)2+…+5000(1+10%)n -1.[解析] 程序框图如图所示.程序如下: m=5000S =0i =0WHILE S <30000S =S +m m =m *(1+0.1)i =i +1WENDPRINT iEND[点评] (1)循环控制条件是总和小于30000台.(2)本题中第n年的销售量为5000(1+10%)n-1.(3)S表示总销售量,即前n年销售量之和.(4)i从0开始计算,如果从1开始则最后多出一年,因为在循环体中,i=i+1后才判断条件.。