1、专业课程实验报告三专 业:10 通信工程 姓 名:罗斌 学号:7020806093 图(1) 图 2实验日期: 2011-11-17 实验类型: 设计 (演示、验证、综合、设计)实验名称 函数、过程、方法的使用实验目的1 掌握函数及过程的定义方法。2 理解和掌握常用的内部函数和方法的功能、使用。3 掌握函数及过程的实参与形参的对应关系,理解“值传递”、 “地址传递”的概念。4. 掌握递归的概念和使用方法5. 熟悉程序设计中的常用方法。实验原理 采用面向对象、事件驱动编程机制。实验内容(步骤、方法)题目: 设计一个小学生做算术练习程序。计算机连续地随机给出两位数的加、减、乘、除算术题,要求学生回
2、答,答对的打“” ,答错的打“” 。将做过的题目存放在组合框(下拉列表框)中备查,并随时给出答案的正确率。说明: 为了让小学生在愉快中学习和玩耍,故乘法、除法均是两位数与个位数相乘或相除,对于除不尽的保留 1 位小数。 密码最多只能输 3 次。1 建立用户界面如图(1)、图(2)所示。2窗体上设置主要对象属性值设置如下表 1:其他控件属性设置如上图 1、图 2 所示。实验内容(步骤、方法)表 1 属性设置控件类型 属性名 属性值 说明标签 1 Name Label1 显示题目caption 清空文本框 Name Text1 输入答案caption 清空标签 3 Name Label3 显示答题
3、caption 欢迎使用简易计算器 总数正确率组合框 Name Combo1 Style 2 下拉列表框Tag 0.0 存放答对题数计时器 Enabled FalseInterval 1000 3. 编写程序代码在窗体 Form1 的窗体模块中,设计密码代码。Private Sub Form_Load()Text1 = “End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)Static n As IntegerIf KeyAscii = 13 ThenIf LCase(Text1.Text) = “805098“ ThenLabel1.C
4、aption = “系统正在进入请稍后“Timer1_TimerElsen = n + 1If n = 3 ThenMsgBox “对不起,你无权使用本系统。“, 0, “密码错误!“Text1.Enabled = FalseElseMsgBox “你还有“ & Str(3 - n) & “次机会“, 0, “对不起,密码错误“Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)End IfEnd IfEnd IfEnd SubPrivate Sub Timer1_Timer()Static i%Timer1.Enabled = TrueIf
5、i = 5 ThenForm10.ShowElsei = i + 1End IfEnd Sub实验内容(步骤、方法)Unload MeLoad Form10在窗体 Form2 的窗体模块中:设出题部分由窗体的激活(Activate)事件完成,代码为:Private Sub Form_Activate()Dim a, b As IntegerDim p, tRandomize (Time)a = Int(10 + 90 * Rnd)b = Int(10 + 90 * Rnd)p = Int(4 * Rnd)Select Case pCase 0Label1.Caption = a & “+“ &
6、 b & “=“Text1.Tag = a + bCase 1If a = 10 And b = 10 Then b = b 10If b = 10 Then b = b 10If a Mod b ThenLabel1.Caption = a & “ & b & “=“Text1.Tag = Format(a / b, “.#“)ElseLabel1.Caption = a & “ & b & “=“Text1.Tag = a / bEnd IfEnd SelectForm10.Tag = Form10.Tag + 1Text1.SelStart = 0Text1.Text = “End Su
7、b答题部分由文本框的按键(KeyPress)事件完成,代码为:Private Sub Text1_KeyPress(KeyAscii As Integer)Dim fm, itemIf KeyAscii = 13 Then实验内容(步骤、方法)fm = “!“If Val(Text1.Text) = Text1.Tag Thenitem = Format(Label1.Caption & Text1.Text, fm) & “Combo1.Tag = Combo1.Tag + 1Elseitem = Format(Label1.Caption & Text1.Text, fm) & “End
8、IfCombo1.AddItem item, 0Combo1.ListIndex = 0Label2.Caption = “共“ & Form10.Tag & “题,正确率为:“Label3.Caption = Format(Combo1.Tag / Form10.Tag, “#0.0#%“)Form_ActivateEnd IfEnd Sub“关闭” 按钮的 Click 事件代码为:Private Sub Command2_Click()Unload MeEnd Sub“重置” 按钮的 Click 事件代码为:Private Sub Command1_Click()Form10.Tag = 0#Combo1.Tag = 0#Combo1.ClearLabel2.Caption = “欢迎重新开始!“Label3.Caption = “Form_ActivateText1.SetFocusEnd Sub4.调试直至得出正确的结果,并保存该结果。运行时的主要界面如图(1) 图(5)所示:图(1)图(2)成绩评定实验内容(步骤、方法)图(3)图(4) 图(5)附:登陆框不正确对的界面如下图(6) 图(8)所示图(6) 图(7) 图(8)实验总结成绩: 指导教师:周权来日 期: