〔考试须知〕
1. 改错题的界面不作要求,主要用来调试程序,若题目中有参考界面,则仅供参考。
2. 考试结束后,文件必须存放在指定位置,否则适当扣分;考试盘中若无指定文件,则不予评分。
3. 程序代码书写应呈现锯齿形。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
一.改错题(17分)
一.改错题(17分)
〔题目〕
Euler函数ф(n)是表示不大于n且与n互质的正整数的个数。例如,与3互质的术有1和2两个,与4互质的数有1和3两个,因此,ф(3)=ф(4)=2。下面程序的功能是:找出100以内相邻数n和n+1,使得ф(n)=ф(n+1)
(下图为执行画面)。
含有错误源程序如下:
含有错误源程序如下:
Option Explicit
Private Sub Command1_Click()
Dim N As Integer, K As Integer, F1 As Integer, F2 As Integer
For N = 1 To 100
Call Euler(N, F1)
Call Euler(N + 1, F2)
If F1 = F2 Then
Text1 = Text1 & "(" & CStr(N) & "," & CStr(N + 1) & "):"
Text1 = Text1 & Str(F1) & Chr(13) & Chr(10)
End If
Next N
End Sub
Private Sub Euler(N As Integer, P As Integer)
Dim I As Integer, J As Integer
I = 2
Do Until I <= N – 1
P = 1
For J = 2 To 1
If I Mod J = 0 And N Mod J = 0 Then Exit For
Next J
P = P + 1
I = I + 1
Loop
End Sub
〔要求〕
1. 新建工程,输入上述代码,改正程序中的错误。
2. 改错时,不得增加或删除语句,但可适当调整语句位置。
3. 将窗体文件和工程文件分别命名为F1.frm和P1.Vbp,并保存到软盘A的根目录下。
-------------------------------------------------------------------------------------------------------------------------------------------------
二、编程题(23分)
〔题目〕
找出所有三位数的幸运数对。所谓幸运数对是指差为3,且每个数之和都能被6整除的一对数。例如,189、192就是一对幸运数。
〔编程要求〕
1. 程序参考界面如下图所示,编程时不得增加或减少界面对象或改变对象的种类,窗体及界面元素大小适中,且均可见。
2.按“查找幸运数”按钮,则运行程序,生成并显示幸运数;按“清除列表框”按钮,则列表框清空;按“结束”按钮则结束
程序运行。
3.程序要有一个生成幸运数对的通用过程。
〔要求〕