2020年信息技术学考算法与程序设计试题整理及解析 联系客服

发布时间 : 星期三 文章2020年信息技术学考算法与程序设计试题整理及解析更新完毕开始阅读36cdac3b74c66137ee06eff9aef8941ea76e4b23

Dim x As Integer Dim y As Integer y = 0

For i = 1 To 5

x = Val (InputBox(\请输入\y = y+x Next i Print y

程序运行后,依次输入: 10 20 30 40 50 程序输出的结果是: 150

解析:本题就是把输入的5个数值相加。

4、VB语言中绘制圆的方法是: Circle (x,y),r

格式说明:其中(x,y)为圆心坐标,r为圆的半径。

下表中算法1是在窗体中绘制以(2000,2000)为圆心,半径依次为100、200、……、到800的8个同心圆。

请补充完成算法2,使其实现与算法1相同的功能。(6分)

算法1 Circle (2000,2000),100 Circle (2000,2000),200 Circle (2000,2000),300 Circle (2000,2000),400 Circle (2000,2000),500 Circle (2000,2000),600 Circle (2000,2000),700 Circle (2000,2000),800

Dim k As Integer For k=1 To 8 Circle(2000,2000), K*100 Next k 算法2 5、阅读下列程序,请写出正确的运行结果 Dim a as integer Dim b as integer

第 2 1 页

Dim c as integer a=1 b=1

For i=1 to 4 c=a+b

a=b b=c Next i Print c

运行结果是: 8

解析:

①a=1,b=1,c=a+b=2,a=b=1,b=c=2; ②a=1,b=2,c=a+b=1+2=3,a=b=2,b=c=3; ③a=2,b=3,c=a+b=2+3=5,a=b=3,b=c=5; ④a=3,b=5,c=a+b=3+5=8,a=b=5,b=c=8,c=8

6、阅读下列程序,写出运行结果 Dim n as long Dim s as long Dim x as long n=val(inputbox(\s=0

Do while n>0 x = n Mod 10 s = s+x n= n\\10 loop print s

程序运行时,输入518,运行输出结果是:(提示:

第 2 2 页(6分) 14

\\ (整除运算) 如:237\\10=23 Mod (取余数运算) 如:237 Mod 10=7)

解析:

①n=518,s=0 n>0 yes x=n mod 10=518 mod 10=8 s=s+x=0+8=8 n=n\\10=518\\10=51 ②n=51,s=8,n>0 yes x=n mod 10=51 mod 10=1 s=s+x=8+1=9 n=n\\10=51\\10=5 ③n=5,s=9,n>0 yes x=n mod 10=5 mod 10=5 s=s+x=9+5=14 n=n\\10=5\\10=0 ④n=0,s=14,n>0 no 输出s = 14

7、某VB的事件过程如下: Private Sub Command1_Click() a=val(text1.text) b=a*a+1 text1.text=b End sub

程序运行时(如图所示),在文本框text1中输入2,连续2次单击命令按钮Command1后,text1中显示的是 26

解析:

①a=2,b=a*a+1=2*2+1=5,text1.text=b=5 ②a=5,b=a*a+1=5*5+1=26,text1.text=b=26

8、2005年10月9日,国家测绘局正式宣布珠穆朗玛峰的高度是8844.43米,

第 2 3 页

并停用之前的数据。现有一张白纸的厚度大约是0.08毫米,对折一次,厚度变0.16毫米,再对折一次,厚度变为0.32毫米,……每对折一次,其厚度均变为对折前的两倍。假设这张纸有足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度。以下是求解该问题的程序片段,请你补全代码。(4分)

Height=8844.43 ’珠穆朗玛峰的高度是8844.43米 h=0.08 ’一张纸的厚度约是0.08毫米 cnt=0 ’cnt用来记录对折次数 Do while h

h= h*2 Loop Print cnt

解析:也可以用n 来记录对折次数。

9、以下是求解一元二次方程ax2+bx+c=0(a≠0)的主要源程序,请你补全代码:(8分)

a=val(inputbox(\b=val(inputbox(\c=val(inputbox(\

d= b*b-4*a*c ’求判别式d If d>0 then

X1=(-b+sqr(d))/(2*a)

X2=(-b-sqr(d))/(2*a)

Print \Print \End if

If d=0 then Print \End if

第 2 4 页