min=a(i,j)
EndIf
Nextj
Nexti
Picture2.Print"最小值=";min
EndSub
二、简单应用题
1.某应用的运行窗口如下:
当用户单击“开始”按钮后,文本框中就会显示计数值的变化(每隔0.3秒增加1);当单击“暂停”按钮时,文本框中的计数就会停止;当单击“清除”按钮时,文本框中的计数值就会清0。
界面(二,1)
PrivateSubCommand1_Click()
Timer1.Enabled=True
Text1.Text=Text1.Text+1
Timer1.Interval=300
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubCommand3_Click()
Timer1.Enabled=False
Text1.Text="0"
i=0
EndSub
PrivateSubTimer1_Timer()
Timer1.Enabled=True
Text1.Text=Text1.Text+1
Text1.Text=Str(Text1.Text)
EndSub
2.在窗体有三个复选框,名称分别为Ch1、Ch2和Ch3,标题依次为"体育"、"音乐"、"美术",还有一个命令按钮,名称为C1,标题为"显示"。
要求程序运行后,如果选中某个复选框,则当单击"显示"命令按钮时,则显示相应的信息。
例如,如果选取中"体育"和"音乐"复选框,则单击"显示"命令按钮后,在窗体上显示"我的爱好是体育音乐";而如果选中"体育"、"音乐"和"美术"复选框,则单击"显示"按钮后,在窗体上显示"我的爱好是体育音乐美术"。
界面(二,2)
PrivateSubc1_click()
Label1.Caption="我的爱好是:
"
Ifch1.Value=1Andch2.Value=0Andch3.Value=0Then
Label1.Caption=Label1.Caption&ch1.Caption
ElseIfch1.Value=1Andch2.Value=1Andch3.Value=0Then
Label1.Caption=Label1.Caption&ch1.Caption&ch2.Caption
ElseIfch1.Value=1Andch2.Value=0Andch3.Value=1Then
Label1.Caption=Label1.Caption&ch1.Caption&ch3.Caption
ElseIfch1.Value=1Andch2.Value=1Andch3.Value=1Then
Label1.Caption=Label1.Caption&ch1.Caption&ch2.Caption&ch3.Caption
ElseIfch1.Value=0Andch2.Value=1Andch3.Value=0Then
Label1.Caption=Label1.Caption&ch2.Caption
ElseIfch1.Value=0Andch2.Value=1Andch3.Value=1Then
Label1.Caption=Label1.Caption&ch2.Caption&ch3.Caption
ElseIfch1.Value=0Andch2.Value=0Andch3.Value=1Then
Label1.Caption=Label1.Caption&ch3.Caption
Else
Label1.Caption=0
EndIf
EndSub
3.在窗体上建立一个名称为Text1的文本框和一个名称为Cmd1,标题为"计算"的命令按钮。
程序运行后,单击"计算"命令按钮,通过在对话框输入整数12,放入整形变量a中,然后计算a!
,(提示:
运算结果应放入double型变量中)
界面(二,3)
PrivateSubcmd1_Click()
DimjcAsDouble
DimiAsInteger
DimjAsInteger
DimnAsInteger
n=InputBox("请输入n=")
jc=1
Fori=1Ton
jc=jc*i
Next
Text1=jc
EndSub
4.在窗口中有两个名称分别为COMSTART,COMEXIT,标题分别为"开始"、"退出"的命令按钮。
要求程序运行后,单击"开始"按钮后,能在窗体中打印出如下图所示的三角形,执行完毕"开始"按钮,变成"完成",且无效(变灰)。
界面(二,4)
PrivateSubCommand2_Click()
End
EndSub
PrivateSubCOMSTART_Click()
Dima(4)AsString
Dimb(4)AsString
DimkAsInteger
Fork=1To4
a(k)=String$(k*2-1,"A")
b(k)=String$(k*2-1,"B")
Nextk
Fork=1To4
Print,a(k)
Nextk
Fork=4To1Step-1
Print,b(k)
Nextk
Close#1
COMSTART.Caption="完成"
COMSTART.Enabled=False
EndSub
5.模拟打字机过程。
单击窗体,程序按每秒2个字符的速度,逐个地将“2010级上机实习”显示在标签Label1中。
当所有字符全部显示以后,将其清除,重复以上过程。
(注:
所有控件的属性都必须在程序代码中设置,打字速度由定时器控制)
界面(二,5)
DimsAsString:
DimiAsInteger
PrivateSubForm_Load()
Timer1.Interval=500
s="2010级上机实习"
EndSub
PrivateSubTimer1_Timer()
i=i+1
Label1.Caption=Left(s,i)
Ifi>Len(s)Then
i=0
Label1.Caption=""
EndIf
EndSub
6.在窗体中左右两边各放置一个列表框ListBox的控件List1和List2,在List1中竖排显示内容“第一题、第二题、第三题、第四题、第五题”这五项。
在两个列表框中间竖排四个命令按钮,标题分别为“<”、“>”、“<<”、“>>”。
界面如下图所示,实现程序功能:
1)点击“<”将List1中所选中的项添加到List2中,并将List1中的项删除。
2)点击“>”将List2中所选中的项添加到List1中,并将List2中的项删除。
3)点击“<<”将Lixt1中所有的选项添加到List2中,并将List1中的项清空。
4)点击“>>”将List2中所有的选项添加到List1中,并将List2中的项清空。
界面(二,6)
PrivateSubCommand1_Click()
IfList1.Text<>""Then
List2.AddItemList1.Text
List1.RemoveItemList1.ListIndex
EndIf
EndSub
PrivateSubCommand2_Click()
IfList2.Text<>""Then
List1.AddItemList2.Text
List2.RemoveItemList2.ListIndex
EndIf
EndSub
PrivateSubCommand3_Click()
Fori=0ToList1.ListCount-1
List2.AddItemList1.List(0)
List1.RemoveItem0
Next
EndSub
PrivateSubCommand4_Click()
Fori=0ToList2.ListCount-1
List1.AddItemList2.List(0)
List2.RemoveItem0
Next
EndSub
PrivateSubForm_Load()
List1.AddItem"第一题"
List1.AddItem"第二题"
List1.AddItem"第三题"
List1.AddItem"第四题"
List1.AddItem"第五题"
List1.AddItem"第六题"
EndSub
三、综合应用题
1.设计一个“简单通讯录”程序,用Access数据库存储数据,数据库中包含两张表,人员基本信息表:
人员编号、姓名、部门、住宅电话、移动电话、工作单位地址、家庭地址等;部门信息表:
部门编号、部门名称;两张表的关系如图1-1,
图1-1
程序界面可参考图1-2,也可自行设计,编程实现以下基本功能:
从数据库中取得部门信息填入下拉列表框中,当用户在下拉列表框中选择某一部门后,将该部门所属人员加入下面的列表框中,从列表框中选中一个人员后,将其基本信息显示在下面的各文本框中,其显示的基本信息由选项中的复选框是否选中来决定。
例如,当用户选择或者取消“住宅电话”复选框后,将显示或隐藏“住宅电话”文本框和标签。
界面(三,1)
◆程序调试分析
起初在编写程序时非常顺利,特别是前面几个基础题,但是在简单应用题中就往往会出现那种程序只有一部分能运行,经过反复的调试,才发现原来犯了几个很基本的错误,比如说忘记修改窗口中相应控件的名称,导致程序出错;还有就是对if语句的使用出现错误等,结果当然也调试成功了。
◆测试结果
所有题目做完之后存在少部分程序出错,而经过不断的调试后,除了最后一题还存在一点问题之外,其他的程序都能够正常运行。
◆实验心得体会以及建议
一、心得体会
通过一学期《VB程序设计》的理论学习以及多次系统化的实验训练,我深刻地体会到“理论与实践相结合”的重要性。
起初,我只注重《VB程序设计》的理论课程,而且是仅仅关注其中的几个章节。
当一遇到需要自己动手编写程序的题目时就显得很苍白无力。
每次上机操作又不好好把握时机请教老师,时间也就这样浪费掉了,直到上学期二级考试才从中体会到上机操作的乐趣,当然也从一个个程序的成功运行中找到了学习的乐趣,也就是从那一刻起,我迷恋上了程序设计。
之后便是经常练习VB操作,当然期末考试的VB机考也是轻松通过,但是理论课程的分数却并不怎么好,这让我想起自从迷恋VB上机操作后,就忽略了理论课程的学习,所以才酿成了这样的结果。
VB程序设计本身并不复杂,主要研究的就是变量,函数,条件语句,循环语句等概念。
但要真正能进行程序设计,需要必须深入理解这些概念。
因此,在程序入门阶段我们应该重视相关概念的学习。
程序设计入门及后期都要注重上机实践操作的能力的培养,只有自己亲自操作过实验,才能从中明白哪些知识是自己掌握了的,哪些又是自己还未曾掌握到的。
总之,学习VB程序设计必须将理论和实际操作相结合,这样才能达到预期的效果,否则只会是空谈。
保持良好的学习心态有助于克服畏难情绪,树立良好的学习程序设计的信心,养成良好的学习习惯。
在实验上机操作中,我们还要多思考,多练习,所谓没有做不到,只有想不到就是这个道理了。
二、建议
1、首先,学习态度必须得端正。
2、不要盲目地进行程序编写,一定得在理解的基础上操作。
3、勤加练习,每个程序的成功编制都是靠积累起来的。