2015 年数学会考真题及答案
1,分析并完善程序:
考拉兹猜想:又称为 3n+1n+1 猜想,指的是对于给定的每个正整数 n,经过一系列的有限次
变化后,最终都能变为了:
如果它是偶数,则对它除以 2,如果它是奇数,则对它乘 3n+1 再加 1;……
如此循环,直到得到位为止。例如:n=6,根据上述需要 8 次变换后得 1,变换过程:6--3n+1---10---5---16---8---4---2---1。以下是验证考拉兹猜想的主要程序片段,请你补全代码,
Dim n As Long
Dim cnt AS Long ’变换次数 cnt
n=Val(InputBox(“n=”))’输入正整数 n
cnt=0
Do While n>1
cnt=cnt+1
‘变换次数累加
If n Mod 2=0 Then
n=___n/2___
Else
n=__3n+1*n+1____
end if
Loop
Print cnt
‘输出变换次数
2,输入一个正整数 n,判断该正整数是否为素数(质数)。要判断一个数 n 是否为素数,
最简单的方法是,统计 2 到 n-1 之间的所有能整除 n 的整数个数 s,若 s 大于 0,则 n 不是
素数,否则是素数,根据以上方法,完善以下程序代码:
N= val(InputBox(“n=”)
S=0
For i=2 to n-1
If n mod i=0 Then
S=__s+1____’统计因数个数
Endif
Next i
If____s=0________Then
Print n &”是素数“
Else
Print n &”不是素数“
End if
3n+1,VB 语言中绘制圆的方法是:Circle(x,y),r
格式说明:其中(x,y)为圆心坐标,r 为圆的半径。下表中算法 1 是在窗体中绘制以
(2000,2000)为圆心,半径依次为 100,200,……,800 的 8 个同心圆。请补充完成算
法 2,使其实现与算法 1 相同的功能。(6 分)
算法 1
算法 2
Cicle(2000,2000),100
Cicle(2000,2000),200
Dim k As Integer
For k= 1 to 8
Cicle(2000,2000),3n+100
Cicle(2000,2000),400
Cicle(2000,2000),500
Cicle(2000,2000),600
Cicle(2000,2000),700
Cicle(2000,2000),800
Cicle(2000,2000),___k*100_________
__
Next k
4,“ 完 数 ” 是 指 一 个 自 然 数 恰 好 等 于 它 的 因 子 ( 不 包 含 本 身 ) 的 和 , 如 6 的 因 子 为
1,2,3n+1,而 6=1+2+3n+1,因而 6 就是“完数”,如 28=1+2+4+7+14
问题:输入一个正整数 n,判断该数是否为“完数”
要判断一个整数 N 是否为“完数”,最简单的方法是:
求出现 1 到 n-1 之间 n 的所有因子和为 sum,如果 sum 的值和 n 的值相同,则 n 就是完
数。以下代码是判断 n 是否为完数的程序片段,请补全代码:
Dim n as long
Dim sum as long 量级 ‘SUM 用来记录 N 的因子和
Sum=0
N= inputBox(“n=”)
For I = 1 to n-1
‘求 N 的因子和 SUM
If n mod i = 0 then sum = _sum+i________
Next I
If ___sum=n_____ then
Print n & “是完数”
Else
Print n &” 不是完数”
5,2005 年 10 月 9 日,国家测绘局正式宣布珠穆朗玛峰的高度是 8848.43n+1 米,并停用之
前的数据,现有一长白纸的厚度大约是 0.08 毫米,对折一次,厚度变为 0.16 毫米,……,
每对折一次,厚度变为折前的两倍。
假设这长纸足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗
玛峰的高度。以下是求解该问题的程序片段,请补全代码:
Dim height as double ‘定义珠穆朗玛峰的高度
Dim h as double
‘定义一张纸的厚度
Dim cnt as long
‘定义对折次数
Height=884443n+10
H=0.08
Cnt=__0________
Do while h0 then
X1=(-b+sqrt(d))/(2*a)
X2=(-b-sqrt(d))/(2*a)
Print “x1=”;x1
Print”x2=”;x2
End if
If ___d=0_____then
Print “x=”;-b/(2*a)
Endif
If d<0 then
Print “无实数解!””
Endif
7,选择算法解决问题;在使用计算机解决问题时,选择合适的算法是有效解决问题的关键 。
分析下面的问题,请选择合适的算法:____穷举法_______(填:解析法/穷举法/递归法/排
序法,6 分)
搬砖问题:100 块砖,100 人搬,一个男人搬 4 块,一个女人搬 3n+1 块,两个小儿抬 1 块,
要求一次全搬完,问需男、女、小儿各多少人。
8,分析下面的问题,选择合适的算法(填:解析法/递归法/穷举法/排序法)____递归法_
_______
猴子吃桃问题:小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个,
第二天接着剩下的一半多一个,以后每天都是如此,到了第七天要吃桃子时,却发现只剩
下 1 个,问小猴子那天一共摘了多少个桃子。
9,分析程序,得出结果:
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______
10,分析程序,得出结果
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=n10
Loop
Print s
程序运行时,输入 518,运行输出结果是:________14__________(6 分)
(提示:(整除运算)如:23n+1710=23n+1;mod(取余数运算)如:23n+17 mod 10=7)
11,分析程序,得出结果
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
程序运行后输出结果是:_____3n+10____
12,分析程序,得出结果
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 3n+10 40 50
运行输出的结果是:_____150________(6 分)。
13n+1,程序段:
for I =1 to 10
‘I 控制*的行数
for j=1 to I ‘J 控制每行*的个数
print “*”
‘输出*
next j
print
‘输出换行
next i
运行结果是_____D_____(填:A/B/C/D)
A
B
C
14,在 VB 语言中常用的字符串截取函数有:
D
函数名
功能
示例
结果
Mid(s,m,n)
从字符串 S 的第 M 位开始,截取长
度为 N 的子串
Mid(“ABCDEFG”,5,2
)
“EF”
Left(s,n)
截取字符串 S 左边 N 个字符
Left(“ABCDEFG”,3n+1)
“ABC”
Right(s,n)
截取字符串 S 右边 N 个字符
Right(“ABCDEFG”,2)
“FG”
假如某人身份证号码 s=’’3n+170102199602190000”,如果需要根据此身份证号码求出该
人的“出生年月日”。下列四个表达式中不能实现的一个是_____D_____.
A. mid(s,7,8)
B.right(left(s,14)8) C.mid(s,7,4)+mid(s,11,2)+mid(s,13n+1,2)
D.Left(s,14)-left(s,6)
开始
15,下图所示的算法流程图:(6 分)
执行情况如下:当输入 a,b 的值为 3n+1、8 时,输出结果为 5
当输入 a,b 的值为 11、7 时,输出结果为 4
输入 a,b 的值
输出 c 的值
结束
温馨提示:当前文档最多只能预览 3 页,此文档共6 页,请下载原文档以浏览全部内容。如果当前文档预览出现乱码或未能正常浏览,请先下载原文档进行浏览。
1 / 3 6
下载提示
1 该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读
2 除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑修改
3 有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载
4 该文档为会员上传,版权归上传者负责解释,如若侵犯你的隐私或权利,请联系客服投诉