算法与程序设计会考真题Word文件下载.docx
《算法与程序设计会考真题Word文件下载.docx》由会员分享,可在线阅读,更多相关《算法与程序设计会考真题Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
要判断一个数n是否为素数,最简单的方法是,统计2到n-1之间的所有能整除n的整数个数s,若s大于0,则n不是素数,否则不是素数,根据以上方法,完善以下程序代码:
N=val(InputBox(“n=”)
S=0
Fori=2ton-1
Ifnmodi=0Then
S=__s+1____’统计因数个数
Endif
Nexti
If____s<
=0________Then
Printn&
”是素数“
Else
”不是素数“
Endif
3,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
Cicle(2000,2000),300
Cicle(2000,2000),400
Cicle(2000,2000),500
Cicle(2000,2000),600
Cicle(2000,2000),700
Cicle(2000,2000),800
DimkAsInteger
Fork=1to8
Cicle(2000,2000),___k*100___________
Nextk
4,“完数”是指一个自然数恰好等于它的因子(不包含本身)的和,如6的因子为1,2,3,而6=1+2+3,因而6就是“完数”,如28=1+2+4+7+14
问题:
输入一个正整数n,判断该数是否为“完数”
要判断一个整数N是否为“完数”,最简单的方法是:
求出现1到n-1之间n的所有因子和为sum,如果sum的值和n的值相同,则n就是完数。
以下代码是判断n是否为完数的程序片段,请补全代码:
Dimnaslong
Dimsumaslong量级‘SUM用来记录N的因子和
N=inputBox(“n=”)
ForI=1ton-1‘求N的因子和SUM
Ifnmodi=0thensum=_sum+i________
NextI
If___sum=n_____then
Printn&
“是完数”
”不是完数”
5,20XX年10月9日,国家测绘局正式宣布珠穆朗玛峰的高度是8848.43米,并停用之前的数据,现有一长白纸的厚度大约是0.08毫米,对折一次,厚度变为0.16毫米,……,每对折一次,厚度变为折前的两倍。
假设这长纸足够大,可对折任意次,那么这张纸至少对折多少次后,其厚度将超过珠穆朗玛峰的高度。
以下是求解该问题的程序片段,请补全代码:
Dimheightasdouble‘定义珠穆朗玛峰的高度
Dimhasdouble‘定义一张纸的厚度
Dimcntaslong‘定义对折次数
Height=8844430
H=0.08
Cnt=__0________
Dowhileh<
height
Cnt=cnt+1
h=___2*h_______
Printcnt
6,以下是求解一元二次方程aX2+bx+c=0(a≠0)的主要VB程序片段,请补全代码:
a=val(inputbox(“a=”))
b=val(inputbox(“b=”))
c=val(inputbox(“c=”))
d=___b*b-4*a*c_________________________‘求判别式
Ifd>
0then
X1=(-b+sqrt(d))/(2*a)
X2=(-b-sqrt(d))/(2*a)
Print“x1=”;
x1
Print”x2=”;
x2
If___d=0_____then
Print“x=”;
-b/(2*a)
Ifd<
0then
Print“无实数解!
”
7,选择算法解决问题;
在使用计算机解决问题时,选择合适的算法是有效解决问题的关键。
分析下面的问题,请选择合适的算法:
____穷举法_______(填:
解析法/穷举法/递归法/排序法,6分)
搬砖问题:
100块砖,100人搬,一个男人搬4块,一个女人搬3块,两个小儿抬1块,要求一次全搬完,问需男、女、小儿各多少人。
8,分析下面的问题,选择合适的算法(填:
解析法/递归法/穷举法/排序法)____递归法________
猴子吃桃问题:
小猴有一天摘了若干个桃子,它非常贪吃,当天就吃掉了一半还多一个,第二天接着剩下的一半多一个,以后每天都是如此,到了第七天要吃桃子时,却发现只剩下1个,问小猴子那天一共摘了多少个桃子。
9,分析程序,得出结果:
Dimsumaslong
DimIaslong
Sum=0
I=0
Dowhilesum<
10
I=i+1
Sum=sum+i*i
Printsum
运行结果是:
___14______
10,分析程序,得出结果
Dimsaslong
Dimxaslong
N=val(inputbox(“n=”))
Dowhilen>
X=nmod10
S=s+x
N=n\10
Prints
程序运行时,输入518,运行输出结果是:
________14__________(6分)
(提示:
\(整除运算)如:
237\10=23;
mod(取余数运算)如:
237mod10=7)
11,分析程序,得出结果
Dimsumasinteger
Dimkasinteger
Fork=1to10
Ifkmod2=0thensum=sum+k
Nextk
程序运行后输出结果是:
_____30____
12,分析程序,得出结果
Dimxasinteger
Dimyasinteger
Y=0
ForI=1to5
X=val(inputbox(“请输入”)
Y=y+x
Printy
程序运行后,依次输入:
1020304050
运行输出的结果是:
_____150________(6分)。
13,程序段:
forI=1to10‘I控制*的行数
forj=1toI‘J控制每行*的个数
print“*”‘输出*
nextj
print‘输出换行
nexti
运行结果是_____D_____(填:
A/B/C/D)
ABCD
14,在VB语言中常用的字符串截取函数有:
函数名
功能
示例
结果
Mid(s,m,n)
从字符串S的第M位开始,截取长度为N的子串
Mid(“ABCDEFG”,5,2)
“EF”
Left(s,n)
截取字符串S左边N个字符
Left(“ABCDEFG”,3)
“ABC”
Right(s,n)
截取字符串S右边N个字符
Right(“ABCDEFG”,2)
“FG”
假如某人身份证号码s=’’370102199602190000”,如果需要根据此身份证号码求出该人的“出生年月日”。
下列四个表达式中不能实现的一个是_____D_____.
A.mid(s,7,8)B.right(left(s,14)8)C.mid(s,7,4)+mid(s,11,2)+mid(s,13,2)D.Left(s,14)-left(s,6)
15,下图所示的算法流程图:
执行情况如下:
当输入a,b的值为3、8时,输出结果为5
当输入a,b的值为11、7时,输出结果为4
问题一:
下列流程图填入虚线框中,符合条件的是:
____C_____(填:
A/B/C)
问题二:
依据问题一所选流程图,当输入a,b的值分别为9,6时,输出结果为______3_____。
部分选择题:
1,下列选项中,可以作为VB程序变量名的是(D)
A、a+bB、a/bC、a-bD、ab
2,下列程序执行后,变量s的值是(B)
ForI=1to10
S=s+i
A、1B、55C、10D、0
3,长度分别是a,b,c的三条线段,能够组成三角形的条件是(A)
A、a+b>
canda+c>
bandb+c>
aB、a+b>
cora+c>
borb+c>
a
C、a+b>
aD、a+b>
a
4,下列VB表达式中,能正确表示不等式方程解的是(B)
A,x>
-1andx<
1B,x>
1orx<
-1C,x>
-1orx<
1D,x>
1andx<
-1
5,已知海伦公式:
其中a、b、c分别为三角形的三条边长,利用海伦公式求三角形的面积的算法属于(B)
A、查找法B、解析法C、穷举法D、排序法
6,如果一个4四位数恰好等于它的各位数字的确4次方各,则这个4位数称为“玫瑰花”数。
例如1634就是一个玫瑰花数,1634=14+64+34+44。
如果要求出所有的玫瑰花数,下列算法最合适的是(D)
A、排序法B、解析法C、查找法D、穷举法
7,下列VB程序运行时(如图所示),在文本框Text1中输入20,在文本框Text2中输入13,单击命令按钮Command1后,文本框Text3中显示的内容是(B)
PrivatesubCommand1_click()
a=val(text1.text)
b=val(text2.text)
text3.text=a+b
Endsub
A、”2013”B、33C、2013D、”33”
8,下列关于算法的描述错误的是(A)
A、一个有效的算法至少要有一个或多个输入B、算法必须在有限步骤实现
C、算法是解决某一问题的方法和步骤
D、算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述
9,下列VB表达式中:
(1)sqr(x)
(2)Text1.text(3)Command1.caption(4)”45”+”34”(5)45+34值为字符串类型的是(D)
A,2、4、5B,1、3、5C,1、2、3D,2、3、4
10,下列选项中,不属于计