1、江苏省计算机二级 Visual+Basic 上机考试真题 2011 年秋及答案解析(总分:40.00,做题时间:120 分钟)一、考试须知:(总题数:2,分数:40.00)1.改错题(14 分) 【题目】 本程序的功能是:找出 100999 之间的回文数,且其对应的 8 进制数也是回文数的整数。所谓回文数,是指正读与倒读都相同的数。 1 Option Explicit 2 Private Sub Command1_Click() 3 Dim i As Integer,m As Integer 4 For i=100 To 999 5 m=d2Q(i) 6 If m And Reverse(i)
2、Then 7 List1.AddItem CStr(i) 8 List2.AddItem CStr(m) 9 End If 10 Next i 11 End Sub 12 Private Function d2Q(n As Integer)As String 13 Dim P As Integer 14 Do 15 P=n Mod 8 16 d2Q=CStr(p) 按“清除“按钮,将三个文本框与列表框清空,焦点置于第一个文本框上;按“结束“按扭,结束程序运行。 3程序中应定义一个判断素数的通用过程。 【要求】 将窗体文件和工程文件分别命名为 F2 和 P2,并保存到 T 盘的根目录下。(分数:
3、26.00)_江苏省计算机二级 Visual+Basic 上机考试真题 2011 年秋答案解析(总分:40.00,做题时间:120 分钟)一、考试须知:(总题数:2,分数:40.00)1.改错题(14 分) 【题目】 本程序的功能是:找出 100999 之间的回文数,且其对应的 8 进制数也是回文数的整数。所谓回文数,是指正读与倒读都相同的数。 1 Option Explicit 2 Private Sub Command1_Click() 3 Dim i As Integer,m As Integer 4 For i=100 To 999 5 m=d2Q(i) 6 If m And Reve
4、rse(i)Then 7 List1.AddItem CStr(i) 8 List2.AddItem CStr(m) 9 End If 10 Next i 11 End Sub 12 Private Function d2Q(n As Integer)As String 13 Dim P As Integer 14 Do 15 P=n Mod 8 16 d2Q=CStr(p) 按“清除“按钮,将三个文本框与列表框清空,焦点置于第一个文本框上;按“结束“按扭,结束程序运行。 3程序中应定义一个判断素数的通用过程。 【要求】 将窗体文件和工程文件分别命名为 F2 和 P2,并保存到 T 盘的根目录
5、下。(分数:26.00)_正确答案:(Option Explicit Private Sub CmdFind_Click() Dim n1 As Integer, n2 As Integer, i As Integer Dim k As Integer, js As Integer, st As String n1 = Text1: n2 = Text2 For i = n1 To n2 k = Padovan(i) st = st & Str(k) js = js + 1 If js Mod 10 = 0 Then st = st & vbCrLf End If If prime(k) Th
6、en List1.AddItem k & “-(“ & i & “)“ End If Next i Text3 = st End Sub Private Function Padovan(n As Integer) As Integer If n = 0 Or n = 1 Or n = 2 Then Padovan = 1 Else Padovan = Padovan(n - 2) + Padovan(n - 3) End If End Function Private Function prime(n As Integer) As Boolean Dim i As Integer If n = 1 Then Exit Function For i = 2 To Sqr(n) If n Mod i = 0 Then Exit Function Next i prime = True End Function Private Sub CmdClear_click() Text1 = “: Text2 = “: Text3 = “ List1.Clear Text1.SetFocus End Sub Private Sub CmdExit_click() End End Sub)解析: