2014山东省信息技术学业水平考试程序题.doc
文本预览下载声明
程序题
1、阅读下列程序,写出正确运行结果
Dim n As Long
Dim 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
程序运行时,输入518,运行输出结果是:____14____(6分)
提示: \ 整除运算 如:237\10=23
Mod 取余运算 如:237 mod 10=7
分析:
初始值 第一步 第而步 第三步 X X=n mod 10 0 8 1 5 S S=s+s 0 0+8 0+8+1 0+8+1+5 N N=n \ 10 518 51 5 0
2、阅读下列程序,写出正确运行结果
Dim sum As Long
Dim i As Long
sum = 0
i = 0
Do While sum 10
i = i + 1
sum = sum + i * i
Loop
Print sum
运行结果是: 14
分析:
初始值 第一步 第而步 第三步 i i =i+1 0 0+1 0+1+1 0+1+1+1 Sum sum=sum+i * i 0 0+1^2 0+1^2+2^2 0+1^2+2^2+3^2 循环条件 Sum10 满足条件 1
满足条件 5
满足条件 14
不满足条件,循环终止
3、阅读下列程序,写出正确运行结果
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
程序运行后输出结果: 30
分析:2 4 6 8 10 的和
If k Mod 2 = 0 Then sum = sum + k
可写为
If k Mod 2 = 0 Then
sum = sum + k
End If
4、分析完善程序
考拉兹猜想:
考拉兹猜想又称为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=)) 输入正整数n
cnt = 0
Do While n 1
cnt = cnt + 1 变换次数cnt累加
If n Mod 2 = 0 Then
n =_______n/2__________
Else
n = ____n*3+1__________
End If
Loop
分析验证:
Private Sub Command1_Click()
Dim n As Long
Dim cnt As Long 变换次数cnt
n = Val(InputBox(n=)) 输入正整数n
cnt = 0
Do While n 1
cnt = cnt + 1 变换次数cnt累加
If n Mod 2 = 0 Then
n = n / 2
Else
n = n * 3 + 1
End If
Print n
Loop
End Sub
5、选择算法,解决问题
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:_________(填:解析法/穷举法/递归法/排序法,6分)
搬砖问题:
100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小孩抬1块,要求一次全搬完,问需男、女、小儿各多少人?
6、选择算法,解决问题
在使用计算机解决问题时,选择合适的算法,是有效解决问题的关键。
分析下面的问题,请选择最合适的算法:_________(填:解析法/穷举法/递归法/排序法,6分)
猴子吃桃问题:
小猴有一天摘了若干个桃子,
显示全部