第一范文网 - 专业文章范例文档资料分享平台

2014级信息技术学业水平考试算法真题库

来源:用户分享 时间:2025/5/16 6:12:17 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

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

2014级信息技术学业水平考试算法真题库.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2oopl4qxkh4zk8n0i29y_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top