资源描述
选修模块算法及程序设计等级考试试题
胡永跃
第一卷〔4页〕
一、单项选择题〔共20个空,每空2分,共40分〕
1.人们利用计算机解决问题的根本过程一般有如下五个步骤〔①~⑤〕,请按各步骤的先后顺序在以下选项〔A~D〕中选择正确的答案〔 〕
①调试程序 ②分析问题 ③设计算法 ④构建数学模型 ⑤编写程序
〔A〕①②③④⑤ 〔B〕②④③⑤① 〔C〕④②③⑤① 〔D〕②③④①⑤
2.以下各种根本数据类型说明符中表示整数型的是〔 〕
〔A〕 Integer 〔B〕 Boolean 〔C〕 Single 〔D〕 String
3.以下各项中,合法的变量名是〔 〕
4.有两个条件P 、Q,只要有一个条件为真时,结果一定为真的是〔 〕。
〔A〕Not P 〔B〕P And Q 〔C〕P OR Q 〔D〕NOT P AND NOT Q
5.以下代数式的Visual Basic表达式是〔 〕
〔A〕(x^5-cos(29*3.14/180))/(sqr(exp(x)+log(y) +5))
〔B〕(x^5-cos(29))/(sqr(exp(x)+ln(y))+5)
〔C〕(x^5-cos(29*3.14/180))/(sqr(exp(x)+ln(y))+5)
〔D〕(x^5-cos(0.506))/(sqr(exp(x)+log(y))+5)
6.在VB中,表达式〔18+25/3〕Mod 5 的值是〔 〕。
〔A〕0 〔B〕1 〔C〕2 〔D〕3
7.VB函数InStr ()检查是否包含另一子串:含有子串那么返回值为子串在父串中第一次出现的位置,不包含子串那么返回值为0。InStr("CATbCACBC", "BC")的值为〔 〕
〔A〕0 〔B〕4 〔C〕8 〔D〕1
8.VB函数Right ()从字串右端取局部字串:将某一字串从结尾开场取固定长度的字串。Right("Visual Basic 6.0",6)的值为〔 〕
9.程序如下:
k=-20
do while (k=0)
k=k+1
loop
以下说法正确的选项是〔 〕
〔A〕do while 语句执行了20次;〔B〕 While 循环是无限循环
〔C〕循环体语句一次也不执行 〔D〕 循环体语句执行一次
10.VB中将两个字符串连接起来的运算符有:+和&,那么 "123"+45结果是〔 〕
〔A〕168 〔B〕12345 〔C〕"123" 〔D〕45
11.A,B,C,D是简单变量,且都已有互不一样的值,执行语句B=8:A=C:D=A:D=B后,其值相等的变量是〔 〕
〔A〕A,D 〔B〕A,C 〔C〕C,B 〔D〕B,A
12.要交换变量A和B之值,应使用的语句组是〔 〕
〔A〕A=B:B=C:C=A 〔B〕C=A:A=B:B=C 〔C〕A=B:B=A 〔D〕C=A:B=A:B=C
13.模块化程序设计方法主要通过〔 〕来实现。
〔A〕递归算法和递归程序 〔B〕过程和函数的定义和调用
〔C〕程序的循环构造 〔D〕对象
14.在窗体上画一个命令按钮,然后编写如右方所示事件过程。程序运行后,单击命令按钮,程序打印的结果为〔 〕
〔A〕76 〔B〕10 〔C〕72 〔D〕48
Private Sub Command1_Click()
Dim I As Integer, j As Integer, x As Integer
x = 4
For I = 1 To 4
For j = 1 To 3
x = x + 6
Next j
Next I
Print x
End Sub
15.在窗体上画一个命令按钮,然后编写如右方所示事件过程。程序运行后,单击命令按钮,依次在输入对话框中输入5、4、3、2、1、-1,那么输出结果为〔 〕〔A〕2 〔B〕3 〔C〕14 〔D〕15
Prevate Sub Command1_Click()
Dim a as integer,b as integer, x as integer
x=0
Do Until x=-1
a = InputBox(“请输入A的值〞)
a = Val(a)
b = InputBox(“请输入B的值〞)
b = Val(b)
x = InputBox(“请输入x的值〞)
x = cint(x)
a = a+b+x
Loop
Print a
End Sub
16.在窗体上画一个文本框〔其中Name属性为Text1〕,然后编写如右方所示事件过程。运行程序的结果是〔 〕
(A) 在文本框Text1中输出aaa〔B〕在文本框Text1中输出55
〔C〕编译错误 〔D〕在文本框Text1中没有输出
Private Sub Form_Load()
Dim i As Integer, sum As Integer
Text1.Text = "aaa"
For i = 1 To 10
sum = sum + i
Next i
Text1.Text = sum
End Sub
17."猴子吃桃"问题:一天,有一只猴子从树上摘下假设干个桃子,当即吃了一半,觉得不过瘾,又吃了一个。第二天小猴子接着吃剩下的一半,还觉得不过瘾,又吃了一个。以后每天都是吃前一天剩下的一半并再吃多一个。到第四天,猴子按规那么吃完桃子后,只剩一个桃子。问小猴子第一天摘了多少个桃子。右图所示是根据分析所画出的局部流程图。采用倒推算法,其中设定M的初始值为1〔第四天吃完后剩下的桃子数〕,D为天数〔初始值为5〕。请在下面的①和②〔对应流程图中相应空缺位置〕填入相应选项〔A~D〕:
①〔 〕〔A〕M=M*2 〔B〕M=M*2+1 〔C〕M=2*(M+1) 〔D〕M=2M+1
②〔 〕〔A〕D=1 〔B〕D>1 〔C〕D<1 〔D〕D=0
Y
Begin
D=5
①
输出M
End
D=D-1
M=1
N
②
18.由10个数组成的数列:12、5、15、20、46、98、75、36、13、57,如果用顺序查找法从左边第一个数开场找出数据75的查找次数是①〔 〕;如果将数列从大到小排序后再用折半查找法找到数据75的最少查找次数是②〔 〕。
〔A〕7 〔B〕4 〔C〕3 〔D〕2
二、判断题〔对打√,错打×〕。〔每题1分,共15分〕
1.一个算法至少有一个输入。〔 〕
2.任何一个算法所包含的计算步骤都是有限的。〔 〕
3.算法可以不输出任何结果。〔 〕
4.机器语言是能够被计算机直接承受和执行的计算机语言。〔 〕
5.如果用某种高级语言编写的程序中只有第N行的一个语句有语法错误,用编译程序翻译时,计算时机先翻译前面的N-1行程序并由计算机执行前N-1行程序,直到第N行有语法错误的语句才停顿执行并等待用户修改。〔 〕
6.解释程序将某个高级语言编写的程序全部解释为机器语言程序后才由计算机执行该程序。〔 〕
7.从本套试题的第一大题〔选择题〕的第3小题中的流程图我们可以看出,它既包含了程序的顺序构造、循环构造,也包含了分支构造。〔 〕
8.当a=5,b=7,c=-2,d=1时,逻辑表达式:A+b>c+d AND a>=5 OR NOT c>0 OR D<0的运算结果为True。〔 〕
9.模块化程序设计方法反映了构造化程序设计的"自顶而下、逐步求精"的根本思想。也就是说,将一个大而复杂的问题,由总体到局部,逐步分解为假设干个小的可解的根本问题,再通过求解这些根本问题最终求得原问题的解。〔 〕
10.递归算法就是一种直接或间接地调用自身的算法。〔 〕
11.构造化程序设计方法是一种面向过程的设计思想,它把程序定义为"数据构造+算法" 。〔 〕
12.在面向对象程序设计中,一个程序对象的属性用变量来表示;而对象的行为用对象中的代码段来实现。〔 〕
13.在面向对象程序设计中,类表达的是一种抽象的概念,它描述了该类对象的共同特征;而对象是具体事物,以类为模板来生成,它具有自己的属性。〔 〕
14.通过分析问题中各要素之间的关系,用最简练的语言或形式化的符号来表达它们的关系,得出解决问题所需的表达式,然后设计程序求解问题的方法称为穷举法。
著名的"百鸡问题"求解,一般采用穷举法将所有可能列出来并判断其是否符合条件,15.如果符合就将其打印出来,否那么继续判断下一组数据。〔 〕
三、阅读以下两段程序代码,写出运行结果:〔每题5分,共10分〕
1、 Private Sub Command1_Click()
For i = 2 To 9
a = (i * i) Mod 10
If a = i Then Print i * i
Next i
End Sub
当运行程序点击按钮Command1时,将出现结果为:____________________
2、运行时,单击窗体然后在输入框中依次输入10、37、50、55、64、20、28、-19、0,写出运行结果___________________________________________
Private Sub Form_Click()
Dim x As Integer
Do
x = Val(InputBox("x="))
If (x Mod 10) + Int(x / 10) = 10 Then Print x;
Loop Until x = 0
End Sub
第二卷
四、程序设计。〔第一题15分,第二题20分,共35分〕
1、公元6世纪,中国的?张丘建算经?有一道著名的百鸡问题:公鸡5钱1只,母鸡3钱1只,小鸡3只1钱,有人用100钱买了100只鸡。请编写一段代码求其中公鸡,母鸡,小鸡各多少只?
2、把11~20这10个自然数的平方的最后两位截出后用插入排序方法找出前五个最小的数〔按从小到大排列〕。注意:一维数组下标最大只能定义到5。
选修模块"算法及程序设计"等级考试试题答案
一、选择填空题〔共20个空,每空2分,共40分〕
1 2 3 4 5 6 7 8 9 10
B A C C A B C D C A
11 12 13 14 15 16 17① 17② 18① 18②
B B B A A B C A A C
二、判断题〔对打√,错打×〕。〔每题1分,共15分〕
1 2 3 4 5 6 7 8 9 10
× √ × √ × × × √ √ √
11 12 13 14 15
√ √ √ × √
三、阅读以下两段程序代码,写出运行结果:〔每题5分,共10分〕
1、 25
36
2、37 55 64 28
四、程序设计。〔第一题15分,第二题20分,共35分〕
1、Private Sub Command1_Click()
For i = 0 To 20
For j = 0 To 33
k = 100 - i - j
If 5 * i + 3 * j + k / 3 = 100 Then Print i, j, k
Next j
Next i
End Sub
2 Private Sub Form_Click()
Dim x(0 To 5) As Integer
For i = 1 To 5
x(i) = 100
Next i
For i = 11 To 20
a = (i * i) Mod 100
k = 5
Do While k > 1 And x(k - 1) > a
x(k) = x(k - 1)
k = k - 1
Loop
x(k) = a
Next i
For i = 1 To 5
Print x(i);
Next i
End Sub
展开阅读全文