算法与程序设计模拟试题ATXT

算法与程序设计模拟试题
一、单项选择题
1.穷举法的适用范围是( )。
A.一切问题 B.解的个数极多的问题
C.解的个数有限且可一一列举 D.不适合设计算法
2.通过多重循环一一列举出解决问题的所有可能解,并在逐一列举的过程中,检验每个可能的解是否是问题的真正解的算法是( ),而从实际问题中归纳出数学解析式,就此设计出合适的算法是( )。
A.解析法 穷举法 B.递归法 解析法
C.穷举法 解析法 D.穷举法,递归法
3.判断某自然数m是不是素数(只能被1或本身整除的大于1的自然数称为素数)的算法基本思想是:把m作为被除数,将2到m-1中的自然数作为除数,逐一进行相除,如果都除不尽,m就是素数,否则m就不是素数。这种判定素数的算法属于( )。
A.枚举算法 B.解析算法 C.递归算法 D.排序算法
4.图书管理系统对图书管理是按图书的序号从小到大进行管理的,若要查找一本已知序号的书,则能快速的查找的算法是( )。
A.枚举算法 B.解析算法 C.对分查找 D.冒泡排序
5.VB程序如下:
Dim a
a = Array(1,2,3,4,5,6,7,8)
i = 0
For k = 100 To 90 Step -2
s = a(i)^2
If a(i) > 3 Then Exit For
i = i + 1
Next k
Print k; a(i);s
上述程序的输出结果是( )。
 A.88 6 36 B.88 1 2 C.90 2 4 D.94 4 16
6.在所有排序算法中,关键字比较次数与纪录的初始排列次序无关的是( )。
A.希尔排序 B.起泡排序 C.插入排序 D.选择排序
7.在使用计算机处理数据的过程中,往往需要对数据进行排序,所谓排序就是( )。
A.把杂乱无章的数据变为从小到大排列的数据
B.把杂乱无章的数据变为从大到小排列的数据
C.把杂乱无章的数据变为有序的数据
D.以上说法都错误
8.某食品连锁店5位顾客贵宾消费卡的积分依次为900、512、613、700、810,若采用选择排序算法对其进行从小到大排序,如下表,第二趟的排序结果是( )
原始数据 900 512 613 700 810
第一趟 512 900 613 700 810
第二趟
第三趟 512 613 700 900 810
第四趟 512 613 700 810 900
A.512 613 700 900 810 B.512 810 613 900 700
C.512 900 613 700 810 D.512 613 900 700 810
9.在《算法与程序设计》教材中,主要介绍了下列“算法”( ) 。
①解析法,②穷举法,③查找算法,④排序算法,⑤递归算法
A.②③④⑤ B.①③④⑤
C.①②④⑤ D.①②③④⑤
10.在《算法与程序设计》教材中,排序算法介绍了插入排序和( )。
A.冒泡排序 B.选择排序 C.交换排序 D.快速排序
11.

为保护学生视力,学校教室灯光常明。假设每个教室有40W灯管18个,每个整流器5w,每度电0.55元,每天用电12小时,每个教室每天用电多少钱?编程求解此问题最适合的算法是( )。
A.排序法 B.解析法 C.递归法 D.穷举法
12.如右图算法描述属于( )。
A.自然语言 B.伪代码
C.流程图 D.高级语言
13.下列描述正确的是( )。
A.顺序结构的程序一定是采用解析算法。
B.程序中有函数自己调用自己,一定是采用解析算法。
C.程序中含有多重循环语句,一定不是采用解析算法。
D.程序的功能只把一个数据放入一串有序的序列中,一定是采用解析算法。
14.当N=5时,下列程序的运行结果是( )。
Private Sub Comand1_click()
Dim N As integer,S As Single
N=InputBox(“请输入一个正整数N“)
S=f(n)
Print s
End Sub
Public Function f(n as integer) as single
If n =0 then
f=1
Else
f=n*f(n-1)
End If
End Function
A.1 B.5 C.0 D.120
15.下列描述正确的是( )。
A.程序中调用了过程一定是采用递归算法。
B.程序中有函数自己调用自己,一定是采用递归算法。
C.程序中含有多重循环语句,一定是采用递归算法。
D.程序的功能只把一个数据放入一串有序的序列中,一定是采用解析算法。
16.下列常量说明中,符合语法的是( )。
A.CONST color=red B.CONST const=10*5
C.CONST xl:=3.9; D.CONST color=”abcd”
17.设a,b,c,d,e均为整型变量,且a=13,b=2,c=10,d=3,e=2,则表达式“a-b*c \ d MOD e”的值是( )。
A.13 B.-7 C.ll D.0
18.以下运算符中运算优先级最高的是( )。
A.+ B.OR C.> D.\
19.执行下面的程序段后,x 的值为( )。
x=5
For i=1 To 20 Step 2
x=x+i\5
Next i
A.21 B.22 C.23 D.24
20.在Visual Basic中,定义字符串类型的是( )。
A.Integer B.Single C.String D.Boolean
21.下列给出的赋值语句中正确的是( )。
A.4 = M B.-M =M C.B=A-3 D.x + y = 0
22.下列Visual Basic程序段运行后,变量max的值为( )。
a=11: b=15: max=a
IF b>max Then max =b
A.15 B.11 C.15或11都有可能 D.以上都不是
23.下列Visual Basic程序段运行后,变量s的值为( )。
a=2:b=1:s=0
For I=10 To 6 Step-1
s=s+a
c=a+b
a=b
b=c
Next I
A.10 B.17 C.6 D.28
24.逻辑与(And)运算的结果为“真”,与它所连接的两个条件必须是( )。
A.前一个为“真”,后一个为“假” B.前一个为“假”,后一个也为“假”
C.前一个为“真”,后一个也为“真” D.前一个为

“假”,后一个为“真”
25.在如下Visual Basic的If语句中,划线处的语句应该是( )。
If a>b Then
max=a
Else
max=b
________
A.End B.End Sub C.End If D.If End
26.如果以下是一个完整的Visual Basic For语句,则划线处的语句应该是( )。
For i=1 To 10
a=a+i
________
A.Loop B.End For C.Next i D.End
27.数学表达式“x小于10且y大于0”的Visual Basic逻辑表达式是( )。
A.x<10 And y>0 B.x<10:y>0 C.x<10 Or y>0 D.x<10,y>0
28.下列关于For…Next语句的说法正确的是( )。
A.循环变量、初值、终值和步长都必须为数值型 B.Step 后的步长只能为正数
C.初值必须小于终值 D. 初值必须大于终值
29.执行下列程序段后,变量S的值为( )。
S = 0
For I = 0 to 10 Step 2
S=S+I
Next I
A.55 B.25 C.30 D.20
30.执行下列程序段后,整型变量N的值为( )。
N = 0
For I = 1 to 10
If I Mod 2 = 1 Then N = N + 1
Next I
A.1 B.5 C.10 D.50
31.执行下面的程序段后,变量S的值为( )。
S=0
For I=1 to 4
T=1
For J=2 to I
T=T*J
Next J
S=S+T
Next I
A.1!+2!+3!+4! B.1^1+2^2+3^3+4^4
C.1^2+2^2+3^2+4^2 D.1^2+2^3+3^4+4^5
32.窗体Caption属性的作用是( )。
A.确定窗体的名称 B.确定窗体标题栏的内容
C.确定窗体边界的类型 D.确定在窗体输出字符的字体
33.能被对象所识别的动作与对象可执行的动作分别称为对象的( )。
A.方法、事件 B.事件、方法 C.事件、属性 D.过程、属性
34.著名的汉诺塔问题是应用哪种算法解决的( )。
A.顺序查找 B.对半查找 C.选择排序和插入排序 D.递归
35.在直角三角形中,三条边a、b、c的长度都为整数,且一条直角边a的长度已确定,斜边c的长度不能超过某数I,求满足条件的所有直角三角形。采用下列哪种方法最合理( )。
A.递归法 B.插入排序法 C.穷举法 D.解析法
36.下面说法正确的是( )。
A.算法+数据结构=程序 B.算法就是程序
C.数据结构就是程序 D.算法包括数据结构
37.一只蓝色的酒杯被摔碎了,则漂亮,酒杯,摔,碎了是( )。
A.对象,属性,事件,方法 B.对象,属性,方法,事件
C.属性,对象,方法,事件 D.属性,对象,事件,方法
38.在面向对象程序设计中,用来描述对象特征信息是( )。
A.事件 B.方法 C.代码 D.属性
39.在VB系统中,一个对象具有的内部函数或过程,称之为该对象的( )。
A.代码 B.属性 C.

方法 D.事件
40.流程图中表示判断的是( )。
A.矩形框 B.菱形框 C.圆形框 D.椭圆形框
二、多项选择题
1.下面关于顺序文件查找算法叙述正确的是( )。
A.可以通过顺序查找法一个一个往下找,直到全部元素都查完一遍
B.顺序查找法对于单元素目标适用,但多元素目标查找就比较复杂
C.数据量较大时可以采用对分查找法大大提高效率
D.对分查找法只适用于顺序文件。
2.求等差数列的和f(n)=1+2+3+……+n,可以采用的算法是( )。
A.解析法 B.穷举法 C.插入排序 D.递归法
3.已知:f(1)=1,f(2)=3,当n>2时,f(n)=2f(n-1)+3f(n-2),编程求f(100)的值可采用的算法是( )。
A.穷举法 B.递归法 C.解析法 D.排序法
4.结构化程序设计由三种基本结构组成,分别是( )。
A.顺序结构 B.输入、输出结构 C.选择结构 D.循环结构
5.多重选择语句Select Case语句中值域的表达方式正确的是( )。
A.case 1,3,5 B.case 10 to 20
C.case is>=10 D.case as 5
6.下列常量说明中,符合语法的是( )。
A.CONST a=10 B.CONST const=10
C.CONST x as single=3.9 D.CONST y as 12
7.下列for循环语句可以正确执行的是( )。

A.j=1
for i=30 to 20
Print j
Next i B.j=1
for i=20 to 30
Print j
Next i
C.j=1
for i=30 to 20 step -2
Print i
Next j D.j=1
for j=20 to 30
Print i
Next j









8.为了便于数据的表示与处理,VB提供哪几种基本数据类型( )。
A.数值型 B.字符串型 C.布尔型 D.日期型
9.现有程序如下:
k=-20
do while (k=0)
k=k+1
loop
说法不正确的是( )。
A.do while 语句执行了20次 B.While 循环是无限循环
C.循环体语句一次也不执行 D.循环体语句执行一次
10.下列哪一个是用于程序设计的软件( )。
A.BASIC B.C语言 C.Word D.Pascal
11.VB中的对象指的时( )。
A.窗体 B.添加到窗体中的控件
C.所有控件 D.以上都是
12.在调试程序过程中,可能出现的错误是( )。
A.编译错误 B.执行错误 C.逻辑错误 D.编辑错误
13.VB中的事件包括( )。
A.系统事件 B.用户事件 C.逻辑事件 D.运行事件
14.在VB应用程序设计中,以下说法正确的是( )。
A.对象包括窗体和控件
B.属性用来描述和确定对象的特征信息
C.事件是指用户操作引发或由系统引发,能被对象所识别并做出响应的动作
D.方法是指程序设计的方法
15.面向对象程序设计中,对象的三要素是指( )。
A.

属性 B.名称 C.方法 D.事件
16.算法描述可以有多种表达方法,下面哪些方法可以描述“玫瑰花数问题”的算法( )。
A.自然语言 B.流程图 C.伪代码 D.机器语言
三、判断题
1.函数或过程只有自己调用自己才是递归算法。 (F)
2.通过分析问题、建立数学模型、编写程序求解的方法都是解析算法。(F)
3.解决一个问题只能用一种算法。(F)
4.递归算法应该具备结束条件并能用递归形式表达。(T)
5.求斐波那契数列既可以采用递归算法,也可以采用解析法。(T)
6.顺序查找是指从头到尾一个一个往下寻找,此算法简单,但当数据量大时就不适用了。( T )
7.对分查找法减少了查找的次数,大大提高了查找效率。( T )
8.数组的下标是一段连续的整数,其下界默认的最小值是1。( F )
9.模块化程序设计方法反映了结构化程序设计的“自顶而下、逐步求精”的基本思想。(F)
10.在程序执行的过程中,变量的值始终保持不变,常量的值随时改变。(F)
11.在VB中,“FOR 变量=初值 TO 终值 [STEP 步长]”语句中的“步长”不能为0,否则造成死循环。( T )
12.在VB中运算优先级别从高到低的顺序为:算术运算、关系运算、逻辑运算。( F )
13.程序代码的基本结构有三种:顺序结构、选择结构和过程结构。( T )
14.条件语句在执行过程中将由电脑随机选择执行哪部分语句。( F )
15.print是vb语言的标准输出函数。( T )
16.在表达式中,运算符两端的数据类型要求一致。( F )
17.Visual Basic是美国微软公司于1991年推出的基于Basic的可视化程序设计语言。( T )
18.在面向对象程序设计中,一个程序对象的属性用变量来表示;而对象的行为用对象中的代码段来实现。( T)
19.在VB程序设计中,对象的行为称为方法。(T)
20.VB中的事件只能由用户引发。( F )
21.解析法的四个环节:分析具体问题——抽取数学模型——解析表达式——解决问题。
22.把一组数据整理为顺序的算法称为排序算法。一般从小到大称为顺序,从大到小称为逆序。
23.假设定义数组Dim Cscore (1 to 40 ) As Single,那么它是一个一维数组,有39个分量。
24.在面向对象程序设计中,类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的属性。(T)
25.在VB程序设计中,Form(窗体)只是进行图形界面设计的窗口,它本身不属于一个对象。(F )
26.在VB程序设计中,对象的行为称为方法。( T)
四、操作题
1.输入正方体的边长a,编程求该正方体的表面积S和

体积V。要求:
(1) 打开文件“zft.vbp”,完善程序;
(2) 将正方体的边长输入到文本框text1中;
(3) 将正方体的表面积S输出到label1中,正方体的体积输出到label2中;
(4) 单击“结束”按钮时能结束程序运行。
2.寻找“水仙花数”。水仙花数是满足每一位上数字的立方之和恰好等于它自己一组三位的正整数,例如:153就是一个水仙花数,13+53+33=153。请找出所有的水仙花数及个数。要求:
(5) 打开文件“sxhs.vbp”,完善程序;
(6) 将每一个水仙花数sxh输出到窗体,将个数sum输出到label1中;
(7) 单击“结束”按钮时能结束程序运行。
3.编写程序求下列函数第n项的值。
0 n=1
F(n)= 4 n=2
F(n-1)+f(n-2)-1 n>2
要求:
a) 打开文件“dn.vbp”,完善程序;
b) 输入n到text1中;
c) 将结果输出到text2中;
单击“结束”按钮时能结束程序运行。
4.下列程序的功能是从键盘上任意输入一个数,判断这个数是正数、负数、还是零,并输出判断结果。程序中有三处错误,请调试程序,使其运行正确。
程序如下:
Private Sub Command1_Click()
Dim a As Single
Dim py As String
If a>0 Then py="正数"
If a=0 Then py="零"
If a<=0 Then py="负数"
print a
End Sub
5.根据要求补全VB程序:
①下列程序段的功能是将a,b两个变量的值相互交换,请完善程序。
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
_____________
a = b
_____________
end sub
②下列程序段的功能是输入一元二次方程ax2+bx+c=0(a<>0)的三个系数,判断它的根的情况。请将程序补充完整。
Private Sub Command1_Click()
a=inputbox(“输入a的值”)
b= inputbox(“输入b的值”)
c= inputbox(“输入c的值”)
d=____________________
If d>0 then
Print “有两个不相等的实数根”
Else
If _________________ Then
Print “有两个相等的实数根”
Else
Print “没有实数根”
_____________
End If
End sub

③下面的程序是求100以内奇数积s的值(S=1*3*5*7...*99)。
Private Sub Command1_Click()
Dim i As integer
Dim s As _____________
_____________
For i=1 to 100 ____________
___________
Next _________
Print ___________
End Sub
④输入一个学生的成绩(0-100的整数),对其进行等级评定。100- 80分为“良好",79-60分为"及格",60分以下为"不及格".超出范围的数值为"超出范围"
Private Sub Command1_Click()
Dim x As integer
x =_______________
Select Case x
Case _____________
print “良好"
Case ______________
print "及格"
Case _____________
print "不及格"
_______________
Print "超出范围"
_______

________
End sub
⑤求解“百鸡问题”:已知公鸡每只3元,母鸡每只5元,每3只小鸡1元。用100元钱买100只鸡,问每种鸡应各买多少?
完善下面程序的空白部分:
Dim a As Integer, b As Integer, c As Integer
a = 0: b = 0: c = 0
For a = 0 To 33
For b = 0 To 20
For c = 0 To 100
If ____________ And ______________ Then
Print a; b; c
End If
Next c
Next b
Next a

相关文档
最新文档