当前位置:首页 >> 能源/化工 >>

选修模块算法与程序设计等级考试试题

选修模块算法与程序设计等级考试试题 胡永跃
第一卷( 第一卷(4 页)
一、单项选择题(共 20 个空,每空 2 分,共 40 分) 1.人们利用计算机解决问题的基本过程一般有如下五个步骤(①~⑤) ,请按各步 骤的先后顺序在下列选项(A~D)中选择正确的答案( ) ①调试程序 ②分析问题 ③设计算法 ④构建数学模型 ⑤编写程序 (A)①②③④⑤ (B)②④③⑤① (C)④②③⑤① (D)②③④①⑤ 2.下列各种基本数据类型说明符中表示整数型的是( ) (A) Integer (B) Boolean (C) Single (D) String 3.下列各项中,合法的变量名是( ) (A) &90 (B) abc=9 (C) hello (D) 888.f 4.有两个条件 P 、Q,只要有一个条件为真时,结果一定为真的是( ) 。 (A)Not P (B)P And Q (C)P OR Q (D)NOT P AND NOT Q 5.下列代数式的 Visual Basic 表达式是( ) x 5 ? cos 29° e x + ln y + 5 (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)的值为( ) (A)sic 6.0 (B)asic 6.0 (C)Visual (D)ic 6.0 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、 1、 2、 -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(第四 天吃完后剩下的桃子数) 为天数(初始值为 5) ,D 。请在下面的①和②(对应流 程图中相应空缺位置)填入相应选项(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
Begin

M=1

D=5



D=D-1 N ② Y 输出 M

End

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