江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2011春)
二级 Visual Basic语言 (试卷代号VB03)
(本试卷完成时间 70分钟)
【考试须知】
1. 改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考; 2. 考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不
予评分;
3. 程序代码书写应呈锯齿形。 一、改错题(14分)
【题目】本程序的功能是,输入整数n,在小于等于n的素数序列中,找出所有接连3个素数之和也是素数的子序列。 Private Sub Command1_Click()
Dim n As Integer, pn() As Integer, k As Integer Dim i As Integer, sum As Integer, st As String n = Text1 k = 2 Do
If prime(k) Then i = i + 1
ReDim pn(i) pn(i) = k End If k = k + 1 Loop Until k > n
For i = 1 To UBound(pn) sum = 0
For k = i To i + 2
sum = sum + pn(k) st = st & pn(k) & \ Next k
If prime(sum) Then
List1.AddItem Left(st, Len(st) - 1) & \ End If st = \ Next i End Sub
Private Function prime(n As Integer) As Boolean Dim i As Integer For i = 2 To Sqr(n)
If n Mod i = 0 Then Exit For Next i
prime = True End Function
2011年春VB03-1
【要求】
1. 新建工程,输入上述代码,改正程序中的错误;
2. 改错时,不得增加或删除语句,但可适当调整语句位置;
3. 将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。 二、编程题(26分)
【题目】编写程序,找出数组中的最大元素值,把最大元素与数组首元素位置对调;然后再 找出数组中的最小元素值,把最小元素与数组末尾元素位置对调。(若存在多个相等的最大元素,只对调其中一个即可,最小元素亦然) 【编程要求】
1. 程序参考界面如图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界
面元素大小适中,且均可见;
2. 运行程序,按“生成数组”按钮,出现如图的InputBox函数窗口,输入数据个数(或
使用缺省值)后按“确定”,则生成两位数的随机整数数组并显示在文本框Text1中;按“运行”按钮,找出数组最大元素和最小元素后,分别与数组首元素位置对调和与末尾元素位置对调,并将位置对调后的数组元素显示在文本框Text2中;按“清除”按钮,将两个文本框清空,焦点置于“生成数组”按钮上;
3. 程序中应定义一个通用过程,用于求一维数组的最大元素及最小元素。 【要求】
将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。
2011年春VB03-2