您的当前位置:首页正文

2014VB考试题型说明及样例(含参考答案)

来源:帮我找美食网
2013-2014-2《程序设计与数据处理》课程期末考试题型及样例说明

一、程序阅读,写结果(3个程序,10小题,共20分)

1、阅读下列程序,回答问题。 Private Sub Form_Click() Dim X%, Y% X=7 Y=2 X=X+Y Y=X-Y X=X-Y Print X Print Y End Sub 【问题】 (1)程序运行后,变量X的输出结果是: (2)程序运行后,变量Y的输出结果是: 2 7

2、阅读下列程序,回答问题。 Private Sub Form_Click() Dim X!, Y! Y = 1 X = InputBox(\"X=?\") If X < 5.5 Then Y = Int(X) If X < 3 Then Y = X + 1 End If Else Y = Fix(X + 0.5) If Y > 9.5 Then Y = Y - 0.1 End If End If Print Y End Sub 3、阅读下列程序,回答问题。 Private Sub Form_Click() Dim S As Integer Dim J As Integer S = 0 For J = 1 To 5 Step 1 S = S + J Next J Print S Print J End Sub 【问题】 (8)S和J的输出结果分别为 15 、 6 ; (9)如果把STEP 1改成STEP 2,则S和J的输出结果分别为 9 、 7 ; (10)如果把STEP 1改成STEP -1,则S和J的输出结果分别为 0 、 1 ; (11)如果STEP 1不变,在S=0后增加一条语句J=7,则S和J的输出结果分别为 15 、 6 。 【问题】 (3)当输入X的值为2.5时,输出Y的值为:___3.5______; (4)当输入X的值为4.4时,输出Y的值为:___4_____; (5)当输入X的值为5.5时,输出Y的值为:____6________; (6) 当输入X的值为9.3时,输出Y的值为:___9________。 (7) 当输入X的值为9.8时,输出Y的值为:____9.9_____。 1 / 9

二、

程序填空题(在给出的多个语句中填空,3个程序,12个空,共24分)

下列程序根据输入的公元年号(Y),判断该年是否是闰年。判断闰年可以参考以

下规则:

1)能被400整除的年是闰年;

2)能被100整除,但不能被400整除的年不是闰年; 3)能被4整除,但不能被100整除的年是闰年; 4)不能被4整除的年不是闰年。

例如1990、1900年不是闰年,1980、2000年是闰年。

注意:程序中不允许使用NOT、AND、OR等逻辑运算符号。 [程序] [选项] Private Sub Form_Click() A. IF Y MOD 4 =0 THEN Dim Y% B. IF Y MOD 4 <>0 THEN Y = InputBox(\"Y=?\") C. IF MOD(Y,4)=0 TEHN (1) B (不能被4整除) D. IF INT(Y)/4<>Y/4 THEN Print \"不是闰年\" E. IF Y MOD 400=0 THEN Else F. IF Y MOD 400<>0 THEN If Y Mod 100 <> 0 Then G. IF Y MOD 100=0 THEN Print \"是闰年\" H. IF Y MOD 100<>0 TEHN Else I. LOOP (2)F (不能被100整除) J. END IF Print \"不是闰年\" K. END FOR Else L. EXIT IF Print \"是闰年\" M. EXIT FOR (3) J N. EXIT DO End If End If End Sub

5、求S=1!+2!+...+10! 6、求斐波那契数列(1、1、2、3、5、Private Sub Command2_Click() 8...)的第3到10项的值 S = 0 Private Sub Command3_Click() For I = 1 To 10 A = 1: B = 1: I = 3 T = 1 Do While I <= 10 FOR J=1 TO I C = A + B T = T * J Print \"第\" & I & \"项为:\"; C Next J A = B S = S + T B = C NEXT I I = I + 1 Print S Loop End Sub End Sub

三、

控件代码选择填空(2个程序,共30分)

2 / 9

【程序功能】模拟QQ登录界面。在组合框中选择账号,查找对应的密码,如果密码正确,

则对话框输出“欢迎使用!”,如果密码错误,则对话框弹出“密码错误”。

【程序说明】已知数据控件Data1已经设置好DatabaseName和recordsource属性,连接至“用户.xls”表,用户表中有两个字段:账号、口令。 1) 设计状态如图1所示;

2) 初始运行状态中,组合框中添加“用户”表的所有“账号”,数据控件data1不可见,

如图2所示;

3) 单击“登录”按钮时,进行口令验证。在用户表中查找,如果账号对应的口令正确,

则弹出“欢迎使用!”对话框,如果口令错误,则弹出“密码错误”。 4) 单击“注册账号”,则将注册成功的账号信息加入组合框和“用户”表中,并弹出“注

册成功”;

5) “显示密码“选项框选中,则text2中显示输入的密码。 6) 单击“退出”按钮,则弹出确认退出的提示框,单击“是”,则退出,如图4所示。

图1 设计状态

图2 初始运行状态

图3 “显示“密码

【程序代码】

图4 “退出’按钮

3 / 9

Private Sub Form_Activate() 以下代码实现功能:

Private Sub Command1_Click() 以下代码实现功能:

1.设置文本框Text2和组合框Combo1内容为将输入的账号和口令分别存入变量a和b,两空;文本框Text2的内容用“*”保护;数据个查询条件分别存入t1和t2,然后在data1控件Data1不可见;

2.用Do循环把“用户.xls”中的所有账号加入到Combo1中备选。 Text2.Text = \"\" Combo1.Text = \"\"

(1) A /C DATA1.VISIBLE=FALSE

中查询,根据查询结果,显示相应的信息 Dim a$,b$,t1$,t2$

(8) J a = Combo1.Text (9) L b = Text2.Text (10) M t1 = \"账号 = '\" & a & \"' \"

(11) N t2= \" AND密码 = '\" & b & \"'\"

(2) C /A TEXT2.PASSWORDCHAR=”*”

(12) O Data1.Recordset.FindFirst t1 & t2

(3) E DATA1.RECORDSET.MOVEFIRST

(13) P If Data1.Recordset.NoMatch Then

(4) F Do Until data1.recordset.eof MsgBox (\"错误!\") If Trim(Data1.Recordset(\"账号\")) = \"\" Then Else Exit Do MsgBox (\"欢迎!\") end if

End If

(5) G Combo1.AddItem Data1.Recordset(\"账号\")

End Sub

(6) H Data1.Recordset.MoveNext

Private Sub Label1_Click()

(7) U Loop

以下代码实现功能:

End Sub

设置查询条件为t1,然后在data1中查询,如

Private Sub Check1_Click()

果没有找到该账号,将其对应的信息加入”用

以下代码实现功能:

户.xls”表中。

Check1选中时,文本框Text2的内容恢复到

(14) J a = Combo1.Text

正常状态;未选中时,文本框Text2的内容

(15) L b = Text2.Text 用“*”保护。

(16) M t1 = \"账号 = '\" & a& \"' \" If Check1.Value = 0 Then

Data1.Recordset.FindFirst T1

(22) C TEXT2.PASSWORDCHAR=”*”

(17) P If Data1.Recordset.NoMatch Then Else

(18) Q Data1.Recordset.AddNew (23) D TEXT2.PASSWORDCHAR=”” End If End Sub

(19) R Data1.Recordset(\"账号\") = a (20) S Data1.Recordset(\"密码\") = b (21) T Data1.Recordset.Update Combo1.AddItem a Combo1.Text = \"\" Text2.Text = \"\"

MsgBox (\"注册成功!\") Else

MsgBox (\"用户名重复!\") End If End Sub

4 / 9

参考选项

A) Data1.Visible = False B) Data1.Enabled= False C) Text2.PasswordChar = \"*\" D) Text2.PasswordChar = \"\" E) Data1.Recordset.MoveFirst

F) Do While (Not Data1.Recordset.EOF)

G) Combo1.AddItem Data1.Recordset(\"账号\") H) Data1.Recordset.MoveNext I) Combo1.Text=a J) a = Combo1.Text K) Text2.Text=b L) b = Text2.Text

M) t1 = \"账号 = '\" & a & \"' \" N) t2= \" AND密码 = '\" & b & \"'\" O) Data1.Recordset.FindFirst t1 & t2 P) If Data1.Recordset.NoMatch Then Q) Data1.Recordset.AddNew R) Data1.Recordset(\"账号\") = a S) Data1.Recordset(\"密码\") = b T) Data1.Recordset.Update U) Loop V) End if

另:

1、设计一个QQ登录程序。窗体设计界面如图1所示,“登录”和“退出”按钮的控件名称分别为“Command1”和“Command2”。 “注册账号”标签控件名称为Lable1。“显示密码”控件名称为Check1,“记住密码”控件名称为Check2。现有Excel数据库文件“用户.xls”,其“用户”表中存放所有用户的账号和口令(见图2)。数据控件Data1的相关属性已经设置好。

图1

图2

图3

图4

程序功能:

1)程序初始运行时如图3所示,组合框Combo1和文本框Text2中的内容为空,程序设置Text2中的内容用口令字符“*”保护,Data1不可见,并且“用户”表中的所有账号都自

5 / 9

动加入到Combo1中备选;

2)在Combo1中输入或者选择一个账号,然后在Text2中输入口令后,单击“登录”按钮时,程序自动到“用户.xls”中查询对应的账号和口令是否正确。如果正确,用消息框显示“欢迎!”,否则显示“错误!”,如图4所示;

3)在Combo1中输入或者选择一个账号,然后在Text2中输入口令后,单击“注册账号”标签时,程序到“用户.xls”中查询对应的账号是否存在。如果存在,显示“用户名重复!”,如果不存在,在“用户.xls”中添加账号密码,在Combo1中添加账号,并把Combo1和Text1清空,最后显示“注册成功!”;

4)如果控件记住密码被打钩,当单击Combo1时,从“用户.xls”中读出此用户的密码填在Text1中。 Private Sub Combo1_Click() Private Sub Form_Activate() If Check2.Value = 1 Then (1) B/P (8)E Text2.Text = \"\" Tmp = \"账号 = '\" & Uid & \"'\" Combo1.Text = \"\" (9) D (2)O Text2.Text = Data1.Recordset(\"密码\") Data1.Recordset.MoveFirst End If (3)F End Sub (4)M Combo1.AddItem Data1.Recordset(\"账Private Sub Label1_Click() 号\") Uid = Combo1.Text (5)G Psw = Text2.Text Loop Tmp = \"账号= '\" & Uid & \"'\" End Sub Data1.Recordset.FindFirst Tmp (10) H Private Sub Command1_Click() Data1.Recordset.AddNew Uid = Combo1.Text Data1.Recordset(\"账号\") = Uid (6) C (11) I (7) L Data1.Recordset.Update Data1.Recordset.FindFirst Tmp Combo1.AddItem Uid If Data1.Recordset.NoMatch Then (12) N MsgBox (\"错误!\") Text2.Text = \"\" Else (13)J MsgBox (\"欢迎!\") Else End If (14)K End Sub End If End Sub Private Sub Command2_Click()

If MsgBox(\"确定退出吗?\Private Sub Check1_Click() vbYes Then (15) A End (16) B/P End If Else End Sub Text2.PasswordChar = \"\" End If End Sub

6 / 9

5)把下面的代码编号选择合适的填入对应空白处。

A. B. C. D. E. F. G. H. I.

If Check1.Value = 0 Then Text2.PasswordChar = \"*\" Psw = Text2.Text

Data1.Recordset.FindFirst Tmp Uid = Combo1.Text

Do While (Not Data1.Recordset.EOF) Data1.Recordset.MoveNext

If Data1.Recordset.NoMatch Then Data1.Recordset(\"密码\") = Psw

J. MsgBox (\"注册成功!\") K. MsgBox (\"用户名重复!\")

L. Tmp = \"账号 = '\" & Uid & \"' AND 密

码 = '\" & Psw & \"'\"

M. If Trim(Data1.Recordset(\"账号\")) =

\"\" Then Exit Do N. Combo1.Text = \"\"

O. Data1.Visible = False P. Text2.PasswordChar = \"*\"

四、

程序设计(共26分)

1、下列程序输入任意两个正整数,求这两个数的最大公约数。窗体设计界面如图1所示,“求解”和“退出”按钮的控件名称分别为“Command1”和“Command2”。

要求:1)程序初始运行时如图2所示,3个文本框的内容为空,Text3中的内容不能手工修改;

2)当在Text1和Text2中输入数据后,单击“求解”按钮时,程序求出两个数的最大公约数,并在Text3中显示,如图3所示; 3)单击“退出”按钮时,程序结束。

图1 图2 图3

设计程序代码:

Private Sub Form_Load() Text1.Text = \"\" Private Sub Command1_Click() Text2.Text = \"\" '提示: Text3.Text = \"\" '程序中可能用到的变量已经定义好; Text3.Locked = True '变量A、B存放任意两个正整数; '用for循环求出最大公约数; Dim A%, B%, T%, J%, K% A = Text1.Text B = Text2.Text End Sub T = IIf(A < B, A, B) For J = T To 1 Step -1 Private Sub Command2_Click() If A Mod J = 0 And B Mod J = 0 End Then Exit For Next J Text3.Text = J End Sub End Sub

7 / 9

3、学校举办歌手大赛,评委现场打分,分数范围0-100。每个歌手唱完后,7个评委各给出一个分数。按要求设计一个评分程序。(本题13分)

图1 图2 图3

要求:

1)窗体设计界面如图1所示,“累加”和“得分”按钮的控件名称分别为“Command1”和“Command2”。

2)程序初始运行时如图2所示,Text1、Text4的内容为空,Text2、Text3中的内容为0,“累加”按钮可用,

“得分”按钮不可用; 图4 图5

3)在Text1中输入一个评委的打分后,单击“累加”按钮,在Text2、Text3中分别显示当前的最高分、总分,并把分数加入列表框List1中,如图3所示; 4)当第7个分数输完后,自动实现“累加”按钮不可用,“得分”按钮可用,如图4所示; 5)单击“得分”按钮,按照去掉一个最高分的规则计算平均分,并在Text4中显示,如图5所示。根据以上功能要求编写程序代码。提示:程序中用到List1.ListCount属性。 Private Sub Form_Load() Private Sub Command1_Click() Text1.Text = \"\" Dim A%, G%, S% Text2.Text = 0 a = Text1.Text Text3.Text = 0 g = Text2.Text Text4.Text = \"\" List1.AddItem a Command1.Enabled = True If g < a Then Command2.Enabled = False Text2.Text = a End Sub End If s = 0 Private Sub Command2_Click() s = s + a Dim G%, S%, P! Text3.Text = s G = Text2.Text If List1.ListCount = 7 Then S = Text3.Text Command1.Enabled = False P = (S - G) / (List1.ListCount - 1) Command2.Enabled = True Text4.Text = P End If End Sub End Sub

8 / 9

9 / 9

因篇幅问题不能全部显示,请点此查看更多更全内容

Top