您的当前位置:首页正文

第1章1.2.3知能优化训练

来源:九壹网


1.阅读下列程序,该程序执行循环体的次数为( ) S=0;

for i=-5:5:150 S=S+i; end S

A.30次 B.31次 C.29次 D.32次

解析:选D.for循环中,变量初值为-5,步长为5,终值为150,所以共执行循环体32次. 2.下列关于for循环的说法错误的是( ) A.在for循环中,循环表达式也称为循环体

B.在for循环中,步长为1,可以省略不写;若为其他值,则不可省略 C.理解for循环关键是理解为循环变量设定初值、步长、终值 D.在for循环中“end”控制结束一次循环,开始一次新的循环 答案:C

3.下面程序的运行结果为( ) i=0;S=0;

while S<=20 S=S+i; i=i+1;endi

A.6 B.7 C.8 D.9 答案:B

4.运行下面的程序输出的S值是________. i=1;S=0;

for i=1:5

S=S+i;endS

答案:15

5.写出下面程序中求T的算法表达式(只写式子) N=2;T=1;

while N<=5 T=N*T; N=N+1;enddispT

该程序中T的表达式为________________. 解析:分析循环体的循环过程可得结果.

答案:T=1×2×3×4×5

一、选择题

1.下面关于while语句的说法,正确的是( ) A.while循环是当表达式为真时执行循环体 B.while循环不需要事先指定循环变量的初值 C.while循环中当表达式为假时,直接退出程序 D.while循环的循环次数可以是无限次 答案:A

2.下列算法语句中,输出结果为( ) S=0;

for x=3:1:7 S=S+x; end;

print %io2,S;

A.25 B.18 C.3,4,5,6,7 D.3,7,12,18,25 解析:选A.输出S在循环体外,当循环停止后,输出S. 3.下列程序最后输出的结果为( )

A.17 B.21 C.27 D.30 解析:选B.“S=3]

4.以下程序的功能是( ) S=1;

for i=1:1:10 S=(3^i)*S; end S

A.计算3×10的值 B.计算355的值 C.计算310的值 D.计算1×2×3ׄ×10的值

123

解析:选B.程序的功能是计算3×3×3ׄ×310=3 55. 5.执行下列程序时,计算机能输出结果仅是15的是( ) A.S=0; for X=1:5 S=S+X; end

disp(S) B.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

D.S=0; for X=1:5. S=S+X; X=X+1; end disp(S) 答案:A

6.已知程序如下:

A=1;B=1;

while B<15 A=A+B

B=A+B;end

C=A+B;

print%io2,C;

则该程序的运行结果是( ) A.C=2 B.C=3 C.C=15 D.C=34

解析:选D.共执行了三次循环,退出循环时,A=13,B=21,因而C=34. 二、填空题 7.

该程序表达式为S=________.

解析:由循环体的循环过程可得结果.

1111答案:++„++

351719

111

8.以下程序表示的是求1+++„+的值.其中①处应填________.

3599

S=0; for ① S=S+1/i;

end

print(%io(2),S);

解析:由已知条件知for循环的初值为1,步长为2,终值为99. 答案:i=1:2:99

9.当x=2时,下面程序段的运行结果是________. i=1;s=0;

x=input“x=”;while i<=4

s=s*x+1; i=i+1;end

print%io2,s;

解析:当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. 答案:15 三、解答题

10.写出求1+(1×2)+„+(1×2×3ׄ×100)的程序. 解:程序如下:

i=1;sum=0;m=1;

while i<=100 m=m*i; sum=sum+m; i=i+1;endsum

1

11.计算的值,写出程序并画出程序框图.

1

6+

16+

16+

16+6解:程序如下: x=1/6;i=1;

while i<=4 x=1/6+x; i=i+1;end

print%io2,x;相应程序框图如图所示.

12.猴子第一天摘下若干桃子,当即吃一半,还不过瘾,又多吃了一个.第二天又将剩下的桃子吃掉一半且又多吃了一个,以后每天都吃前一天剩下的一半多一个,到第10天早上时,只见剩下了一个桃子,求第1天共摘了多少个桃子?写出程序. 解:

i=1;S=1;

while i<10

S=S+1*2; i=i+1;end

print%io2,S;

因篇幅问题不能全部显示,请点此查看更多更全内容