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 页