1、vb综合上机实验报告 实 验 报 告实验课程名称 实验项目名称 年 级 班 级 学生姓名 学 号 学 院: 实验时间: 年 月 日实验相关信息实习主题VB综合教程实验时间 学年 学期 周 学生姓名学号班级实验地点设备号指导教师界面及源代码 主界面 Private Sub Form_Load()End SubPrivate Sub no1_Click()Form2.ShowEnd SubPrivate Sub no2_Click()Form3.ShowEnd SubPrivate Sub no3_Click()Form4.ShowEnd SubPrivate Sub no4_Click()For
2、m5.ShowEnd SubPrivate Sub no5_Click()Form6.ShowEnd SubPrivate Sub no6_Click()Form7.ShowEnd SubPrivate Sub no7_Click()Form8.ShowEnd SubPrivate Sub no8_Click()Form9.ShowEnd SubPrivate Sub no9_click()Form10.ShowEnd SubPrivate Sub no10_Click()Form11.ShowEnd SubPrivate Sub no11_Click()Form12.ShowEnd SubP
3、rivate Sub no12_Click()Form13.ShowEnd SubPrivate Sub no13_Click()Form14.ShowEnd SubPrivate Sub no14_Click()Form15.ShowEnd SubPrivate Sub no15_Click()Form16.ShowEnd Sub一、 基础题1. 编程实现在包含10个元素的一维数组中寻找前n(n= 2 Then N = Val(InputBox(请输入n的值, N) End If For i = 1 To 10 a(i) = Int(Rnd * 100) Print a(i); If a(i
4、) Max Then Max = a(i) k = i End If Next i Label1.Caption = 最大值: & 第 & k & 个 End Sub2. 求出10000以内的所有完数,并显示在窗体上。所谓完数,是指一个数恰好等于它的所有因子之和,例如:6的所有因子为1,2,3,而6=1+2+3,所以6是完数。界面(一,2) Private Sub Command1_Click() Print 10000以内的所有完数: Dim b As Double Dim i As Double, j As Double, k As Double For i = 2 To 10000 k
5、= 0 For j = 2 To Sqr(i) If i Mod j = 0 Then k = k + i / j + j Next j k = k + 1 If k = i Then Print Print CStr(i) & =; fenjie (i) End If DoEvents Next i End Sub Function fenjie(n As Double) Dim j As Double For j = 1 To n 2 If n / j = n j Then Print CStr(j) & IIf(j = n 2, , +); End If Next j End Funct
6、ion3. 随机生成10个20到50范围内的正整数,显示它们的最大值和平均值。界面(一,3) Private Sub Form_Click()Dim a(10) As Integers = 0: ave = 0For i = 1 To 10 a(i) = Int(Rnd * 30 + 20)Print a(i) s = s + a(i)Next imax = a(1)For i = 1 To 10 If a(i) max Then max = a(i) End IfNext i ave = s / 10Print 最大值:; maxPrint 平均值: ; aveEnd Sub4. 设计程序,
7、求出S=(1+1)+(1+2)+(1+2+3)+。(1+2+3+4。+N)的值。界面(一,4) Private Sub Command1_Click() Dim N As Integer N = Val(InputBox(请输入N:) Dim s As Long, i As Integer, St As Long s = 1 a = 0 For i = 1 To N a = a + i s = s + a Next Print s End Sub5. 程序启动运行时,显示画面如图1;单击“开始”按钮Command1之后,在窗体上显示一个矩形,矩形那的填充颜色按每秒1次的速度随机变化,如图2所示
8、;单击窗体,恢复到图1。界面(一,5) Dim i As Integer Private Sub Command1_Click() Timer1.Interval = 1000 Timer1.Enabled = True End Sub Private Sub Form_Click() Form1.Cls Timer1.Enabled = False End Sub Private Sub Timer1_Timer() i = Int(Rnd * 16) Line (1000, 1000)-(2000, 1700), QBColor(i), BF End Sub6. 程序启动运行时,显示画面如
9、图1:单击“开始”按钮Command1之后,在标签Label1中显示当前时间性,并按每秒1次的速度随机变化文字颜色,如图2所示:单击窗体,恢复到图1界面(一,6) Dim i As Integer Private Sub Command1_Click() Timer1.Interval = 1000 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Label1.Caption = Time i = Int(Rnd * 256) Label1.ForeColor = RGB(i, i, i) End Sub Private Sub
10、 Form_Click() Timer1.Enabled = False Form1.Cls End Sub7. 编写下图所示的四则运算程序,输入第一个数和第二个数之后,单击图中任意一个单选按钮,就能按单选按钮的指示完成计算,并在“计算结果”文本框中输出结果(当第二个数为0,并且选择除法运算时,则在“计算结果”文本框中显示“除数为0,计算无效”)。界面(一,7) Private Sub Option1_Click() Text3.Text = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub Option2_Click() Text3.
11、Text = Val(Text1.Text) - Val(Text2.Text) End Sub Private Sub Option3_Click() Text3.Text = Val(Text1.Text) * Val(Text2.Text) End Sub Private Sub Option4_Click() If Val(Text2.Text) 0 Then Text3.Text = Val(Text1.Text) / Val(Text2.Text) Else Text3.Text = 除数为零,计算无效 End If End Sub 8. 设计程序界面如图所示,程序运行时,单击“生
12、成矩阵”按钮Command1,在图片框picture1中生成2位正整数的57矩阵;随后单击“查找最小值”按钮command2,在图片框picture2中生成矩阵的最小值。界面(一,8) Dim i As Integer, j As Integer Dim a(1 To 5, 1 To 7) As Integer Private Sub Command1_Click() For i = 1 To 5 For j = 1 To 7 a(i, j) = Int(Rnd * 90 + 10) Picture1.Print a(i, j); Next j Picture1.Print Next i En
13、d Sub Private Sub Command2_Click() Dim min As Integer min = 100 For i = 1 To 5 For j = 1 To 7 If a(i, j) Len(s) Then i = 0 Label1.Caption = End If End Sub6. 在窗体中左右两边各放置一个列表框ListBox的控件List1和List2,在List1中竖排显示内容“第一题、第二题、第三题、第四题、第五题”这五项。在两个列表框中间竖排四个命令按钮,标题分别为“”、“”、“”、“”。界面如下图所示,实现程序功能:1)点击“”将List1中所选中的项
14、添加到List2中,并将List1中的项删除。 2)点击“”将List2中所选中的项添加到List1中,并将List2中的项删除。 3)点击“”将Lixt1中所有的选项添加到List2中,并将List1中的项清空。 4)点击“”将List2中所有的选项添加到List1中,并将List2中的项清空。界面(二,6) Private Sub Command1_Click() If List1.Text Then List2.AddItem List1.Text List1.RemoveItem List1.ListIndex End If End Sub Private Sub Command2_C
15、lick() If List2.Text Then List1.AddItem List2.Text List2.RemoveItem List2.ListIndex End If End Sub Private Sub Command3_Click() For i = 0 To List1.ListCount - 1 List2.AddItem List1.List(0) List1.RemoveItem 0 Next End Sub Private Sub Command4_Click() For i = 0 To List2.ListCount - 1 List1.AddItem Lis
16、t2.List(0) List2.RemoveItem 0 Next End Sub Private Sub Form_Load() List1.AddItem 第一题 List1.AddItem 第二题 List1.AddItem 第三题 List1.AddItem 第四题 List1.AddItem 第五题 List1.AddItem 第六题 End Sub三 、 综合应用题1. 设计一个“简单通讯录”程序,用Access数据库存储数据,数据库中包含两张表,人员基本信息表:人员编号、姓名、部门、住宅电话、移动电话、工作单位地址、家庭地址等;部门信息表:部门编号、部门名称;两张表的关系如图1
17、-1,图1-1程序界面可参考图1-2,也可自行设计,编程实现以下基本功能:从数据库中取得部门信息填入下拉列表框中,当用户在下拉列表框中选择某一部门后,将该部门所属人员加入下面的列表框中,从列表框中选中一个人员后,将其基本信息显示在下面的各文本框中,其显示的基本信息由选项中的复选框是否选中来决定。例如,当用户选择或者取消“住宅电话”复选框后,将显示或隐藏“住宅电话”文本框和标签。界面(三,1)程序调试分析 起初在编写程序时非常顺利,特别是前面几个基础题,但是在简单应用题中就往往会出现那种程序只有一部分能运行,经过反复的调试,才发现原来犯了几个很基本的错误,比如说忘记修改窗口中相应控件的名称,导致
18、程序出错;还有就是对if语句的使用出现错误等,结果当然也调试成功了。测试结果 所有题目做完之后存在少部分程序出错,而经过不断的调试后,除了最后一题还存在一点问题之外,其他的程序都能够正常运行。实验心得体会以及建议一、心得体会 通过一学期VB程序设计的理论学习以及多次系统化的实验训练,我深刻地体会到“理论与实践相结合”的重要性。 起初,我只注重VB程序设计的理论课程,而且是仅仅关注其中的几个章节。当一遇到需要自己动手编写程序的题目时就显得很苍白无力。每次上机操作又不好好把握时机请教老师,时间也就这样浪费掉了,直到上学期二级考试才从中体会到上机操作的乐趣,当然也从一个个程序的成功运行中找到了学习的
19、乐趣,也就是从那一刻起,我迷恋上了程序设计。之后便是经常练习VB操作,当然期末考试的VB机考也是轻松通过,但是理论课程的分数却并不怎么好,这让我想起自从迷恋VB上机操作后,就忽略了理论课程的学习,所以才酿成了这样的结果。 VB程序设计本身并不复杂,主要研究的就是变量,函数,条件语句,循环语句等概念。但要真正能进行程序设计,需要必须深入理解这些概念。因此,在程序入门阶段我们应该重视相关概念的学习。程序设计入门及后期都要注重上机实践操作的能力的培养,只有自己亲自操作过实验,才能从中明白哪些知识是自己掌握了的,哪些又是自己还未曾掌握到的。 总之,学习VB程序设计必须将理论和实际操作相结合,这样才能达到预期的效果,否则只会是空谈。保持良好的学习心态有助于克服畏难情绪,树立良好的学习程序设计的信心,养成良好的学习习惯。在实验上机操作中,我们还要多思考,多练习,所谓没有做不到,只有想不到就是这个道理了。二、建议1、首先,学习态度必须得端正。2、不要盲目地进行程序编写,一定得在理解的基础上操作。3、勤加练习,每个程序的成功编制都是靠积累起来的。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1