2011春江苏省计算机二级VB上机真题2 |
2011年(春)江苏省高校计算机等级VB上机试卷(02) (本试卷完成时间为70分钟) 【考试须知】 1.改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅作参考。 2.考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。 3.程序代码应缩行书写(呈锯齿形)。 一、改错题(14分) 【题目】 本程序的功能是:找出使用公式m^2-m+41(m=1~100)生成的一个数据序列中的所有 非素数,分别输出这些非素数的全部真因子。所谓数n的真因子是指除1和n之外的因子。 程序界面参见下图。 Option Explicit Private Sub Command1_Click() Dim m As Integer,p As Long Dim st1 As String st1="" For m=1 To 100 p=m*m-m+41 If Not prime(p) Then Call fac(p,st1) List1.AddItem "第" & m & "项" & p & ":" & st1 End If Next m End Sub Private Function prime(n As Long) As Boolean Dim k As Integer For k=2 To Sqr(n) If n Mod k=0 Then Exit For Next k prime=True End Function Private Sub fac(n As L0ng,st As String) Dim i As Integer For i=2 To n\2 If n Mod i=0 Then st=st & i & "," End If Next i st=Right(st,Len(st)一1) End Sub 【要求】 1.新建工程,输入上述代码,改正程序中的错误。 2.改错时,不得增加或删除语句,但可适当调整语句位置。 3.将窗体文件和工程文件分别命名为F1和P1,并保存到T盘的根目录下。 二、编程题(26分) 【题目】 编写程序,在一个数组中找出比第一个数组元素的值大的所有数组元素中值最小的元素。如果第一个数组元素值本身为最大数,则输出"无"。 【编程要求】 1.程序界面参见下图,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。 2.运行程序,按"处理"按钮,则生成由10个两位随机数组成的数组并显示在文本框Text1中,找出比第一个数组元素a(1)大的最小元素输出在文本框Text2中,若没有比a(1)大的数组元素,则在Text2中输出"无";按"清除"按钮,将所有文本框清空,焦点置于"处理"按钮上;按"结束"按钮,结束程序运行。 3.程序中应定义一个通用过程,用于求一维数组中比a(1)大的最小元素。 【算法提示】 先找出所有比数组原第一个元素大的元素存入一新数组,再找出其中的最小元素即可。 【要求】 将窗体文件和工程文件分别命名为F2和P2,并保存到T盘的根目录下。 |