1、以下程序N输入518时,写出运行结果。 Private Sub Command1_Click( ) dim n as long, s as long dim x as long
n= val(inputbox(“n=”)) s=0
do while n>0 x=n mod 10 s=s+x n=n\\10 loop print s
End Sub 运行结果:
2、现有一张白纸厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,再对折一次,厚度变为0.32毫米……,对折多少次后,厚度超过珠穆朗玛峰的高度(8844.43米)
Private Sub Command1_Click( ) Height=8844.43 h =0.08 cnt=0
do while h h= loop print cnt End Sub 3、分析完善程序 “完数”是指一个自然数恰好等于它的因子(不包含本身)之和。如6的因子为1、2、3,而6=1+2+3,因而6就是完数。再如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因而28也是完数。 问题:输入一个正整数n,判断该正整数是否为完数。 要判断一个整数n是否为完数,最简单的方法是: 求出1到n-1之间的所有因子和为sum,如果sum的值和n的值相同,则n就是完数。 以下代码是判断n是否为完数的程序片段,请你补全代码:(8分) Dim n as long Dim sum As long n=inputbox(“n=”) For i = 1 To n-1 If n mod i=0 then sum= sum+i Next i If sum=n then Print n & \是完数\Else 5 Print n & \不是完数\End if 4、写出程序运行结果 Private Sub Command1_Click() Dim sum As Integer Dim k As Integer sum = 0 For k = 1 To 10 If k Mod 2 = 0 Then sum = sum + k Next k Print sum End Sub 运行结果: 5、分析完善程序(8分) 以下是求解一元二次方程ax2+bx+c=0(a≠0)的主要VB程序片段。请你补全代码: a =val(inputbox(“a=”)) b =val(inputbox(“b=”)) c =val(inputbox(“c=”)) d= ?求判别式d if d>0 then x1=(-b+sqr(d))/(2*a) x2=(-b-sqr(d))/(2*a) print “x1=”;x1 print “x2=”;x2 end if if then print “x=”;-b/(2*a) end if if d<0 then print “无实数解!” end if 6、Private Sub Form_Activate( ) Dim a, b, c AS Integer a=15;b=60;c=38 if a m=a else m=b end if if m>c then m=c end if Print “M=”;m 6 End Sub 运行结果:__________________ 7、问题:输入一个正整数n,判断该正整数是否为素数(质数)。 要判断一个数n是否为素数,最简单的方法是:统计2到n-1之间的所有能整除n的整数个数s,若s大于0,则n不是素数,否则就是素数。 根据以上方法,完善以下程序代码。(8分) n=val(inputbox(“n=”)) s=0 for i=2 to n-1 if n mod i=0 then s= ‘统计因数个数 end if next i if then print n & “是素数” else print n & “不是素数” end if 8、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 9、阅读下列程序,选出运行结果 For i=1 to 10 ?i控制*的行数 For j=1 to i ?j控制每行*的个数 Print “*”; ?输出* Next j Print ?输出换行 Next i 算法2 Dim k as integer For k=1 to 8 Circle(2000,2000), . Next k 7 运行结果是: (请用英文字母填写,6分) 10、分析完善程序 考拉兹猜想:又称为3n+1猜想,指的是对于给定的每一个正整数,经过下列有限次变换后,最终都能变为1: 如果它是偶数,则对它除以2; 如果它是奇数,则对它乘3再加1;???? 如此循环,直到得到1为止。 例如 n=6 ,根据上述规则需要8次变换后得到1,变换过程:6—3—10—5—16—8—4—2—1. 以下是验证考拉兹猜想的主要VB程序片段,请你补全代码:(8分) Dim n As Long Dim cnt As Long '变换次数cnt n = Val(InputBox(\ '输入正整数n cnt = 0 Do While n > 1 cnt = cnt + 1 '变换次数cnt累加 If n Mod 2 = 0 Then n =_______________ Else n = _____________ End If Loop 11、阅读下列程序,写出运行结果 Dim x As Integer Dim y As Integer y = 0 For i = 1 To 5 x = Val(InputBox(\请输入:\ 8
相关推荐: