VB实验.docx
《VB实验.docx》由会员分享,可在线阅读,更多相关《VB实验.docx(22页珍藏版)》请在冰点文库上搜索。
VB实验
实验报告要求
实验题目(如实验一VB环境和可视化编程基础)
一、实验目的
二、实验内容
三、实验步骤(要求学生上机前准备完毕)
1.题目,如:
编写一程序,在文本框中统计在该窗体上单击鼠标的次数。
1)创建界面(简单画出界面,标明所用控件)
2)属性设置(写出所有非默认属性值的设置)
3)代码设计(标明重点语句代码的作用)
2.题目,如:
单击窗体上的“开始计算”按钮,从键盘上输入球的半径,计算球的体积和表面积。
1)创建界面(简单画出界面,标明所用控件)
2)以表格形式进行属性设置(写出所有非默认属性值的设置),参见教材p17上的表1-2
3)代码设计(标明重点语句代码的作用)
…….
四、调试过程记录(可写实验结果或结果分析、错误情况及改正方法,不得少于三条)
1、
2、
3、
4、
五、教师批阅
实验一VB环境和可视化编程基础(4个学时)
一、实验目的
1.掌握VisualBasic集成开发环境的使用。
2.掌握建立、编辑和运行一个简单的VisualBasic应用程序的全过程。
3.掌握VB中常用的数据类型、表达式、常量及变量的使用。
4.掌握inputbox和msgbox输入输出函数的用法。
5.掌握基本控件(窗体、文本框、标签、命令按钮、框架)的创建和应用。
二、实验内容
1.编写一程序,在文本框中统计在该窗体上单击鼠标的次数,效果如下图所示。
2.单击窗体上的“开始计算”按钮,从键盘上输入球的半径,计算球的体积和表面积,结果显示在由msgbox产生的对话框中。
3.设计一个窗体,窗体内有1个文本框和3个命令按钮控件。
当按“显示”按扭时,在文本框内显示“走进VisualBasic程序设计乐园!
”一串字符;当按“清除”按钮时,清除文本框内全部信息;当按“退出”按钮时,结束程序运行。
程序运行结果如下图。
(参考教材P15例1.3)
4.设计一个窗体,利用随机函数产生3个数字在指定区间的随机数字,程序的运行结果如下图。
三、实验方式
一人一机
四、实验预作
1.
PrivateSubForm_Click()
Text1.Text=Val(Text1.Text)+1
EndSub
2.
PrivateSubCommand1_Click()
Constpi=3.14
DimrAsSingle
DimsAsSingle
DimvAsSingle
r=InputBox("请输入球的半径:
")
s=4*pi*r^2
v=4/3*pi*r^3
MsgBox"球的表面积为:
"&s&",球的体积为:
"&v&"!
"
EndSub
3.
PrivateSubCommand1_Click()
Text1.Text=""&vbCrLf&"走进VisualBasic程序设计乐园!
"
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
4.
PrivateSubForm_Load()
Show
Text1.Text=""
Text2.Text=""
Text3.Text=""
Text4.Text=""
Text5.Text=""
Text1.SetFocus
EndSub
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
Randomize
x=Val(Text1.Text)
y=Val(Text2.Text)
Text3.Text=Int(Rnd*(y-x)+x)
Text4.Text=Int(Rnd*(y-x)+x)
Text5.Text=Int(Rnd*(y-x)+x)
EndSub
实验二基本内部控件及程序控制结构(4个学时)
一、实验目的
1.掌握常用基本内部控件(图片框、时钟及形状)的创建和使用。
2.掌握顺序结构语句(赋值、输出、注释、程序终止等)的使用。
3.掌握单分支、双分支、多分支条件语句的使用。
4.掌握For语句、While语及Do语句的各种形式的使用。
5.掌握如何控制循环条件,防止死循环或不循环。
二、实验内容
1.创建一个窗体,按“开始计时”按钮后,在图片框中每隔1秒钟显示一次系统的时间,按“停止计时”按钮,图片框中计时停止。
效果如下图所示。
2.创建一个窗体,通过文本框接收数据,计算期末总成绩、平均成绩,再评定等级。
等级评定标准是:
平均分90~100为“优秀”,平均分81~90为“良好”,平均分60~80为“中等”,平均分60以下为“差”,程序运行结果如下所示。
(参考教材P87例5.3)
3.创建一个窗体,通过循环变量的变化,产生多个随机数,控制输出字符的颜色,同时利用循环变量的变化,确定输出字符的位置,程序运行结果如下图。
(参考教材P90例5.4)
4.在Form_Click()事件中编程实现:
输出10个数中最大的数。
(参考教材P994.1)
5.在Form_Click()事件中编程实现:
输出任意N个整数中大于零的个数,偶数的个数,奇数的个数。
(参考教材P994.2)
6.在Form_Click()事件中编程实现:
输出1到100自然数中被7整除的数据个数及它们的和。
(参考教材P994.5)
三、实验方式
一人一机
四、实验预作
1.
PrivateSubCommand1_Click()
Timer1.Enabled=True
EndSub
PrivateSubCommand2_Click()
Timer1.Enabled=False
EndSub
PrivateSubForm_Load()
Timer1.Interval=1000
EndSub
PrivateSubTimer1_Timer()
Picture1.Cls
Picture1.PrintTime
EndSub
2.参考教材P87例5.3
3.参考教材P90例5.4
4.参考教材P994.1
实验三数组、过程及常用内部控件的应用(4个学时)
一、实验目的
1.掌握常用内部控件(图像框、单选按钮、复选框、列表框、组合框、滚动条)的创建及使用。
2.掌握数组的声明、数组元素的引用。
3.掌握静态数组和动态数组的使用及它们之间的不同。
4.掌握数组常用的操作和算法。
5.掌握自定义函数过程和子过程的定义和调用方法。
6.掌握形参和实参之间的对应关系。
7.掌握值传递和地址传递的传递方式。
二、实验内容
1.创建一个窗体,将已知数列(89,76,98,90,67,95,74,89,93,77)从大到小排序后输出。
(参考教材P112例6.6)
2.设计一个窗体,在Form_Click()事件中编程实现:
输出6行6列方阵,使对角线上元素为1,其他元素为0。
(参考教材P1214.2)
3.编写一求两个正整数m,n最小公倍数的函数过程f(m,n);主调过程在两个文本框接受输入数据,在窗体上显示结果。
4.创建一个窗体,分类向学生提供必选课程和选修课程,选定后在列表框中显示已选择的课程信息。
程序运行结果如下所示。
(参考教材P186例9.6)
三、实验方式
一人一机
四、实验预作
1.参考教材P112例6.6
2.参考教材P1214.2
3.
PrivateSubCommand1_Click()
DimxAsInteger,yAsInteger
x=InputBox("")
y=InputBox("")
Label1.Caption=x&"与"&y&"的最小公倍数是:
"&f(x,y)
EndSub
PrivateFunctionf(ByValxAsInteger,ByValyAsInteger)AsInteger
DimmAsInteger
Ifxx=y:
y=m
m=x
WhilemMody<>0
m=m+x
Wend
f=m
EndFunction
4.参考教材P186例9.6
实验四综合实验(4个学时)
一、实验目的
1.掌握常用控件的使用,学会使用通用对话框控件进行编程。
2.掌握下拉菜单和弹出式菜单的设计方法。
3.掌握创建多重窗体程序的有关技术。
4.了解常用事件及过程。
5.掌握顺序文件的打开、关闭和读写操作。
6.掌握常用几何图形的绘制。
7.综合运用所学的知识,编写具有可视化界面的应用程序。
二、实验内容
利用菜单、对话框、选择结构语句、循环结构语句、多窗体、常用控件、过程等知识点进行综合程序设计。
具体要求:
1.在主窗体上,设计下拉式菜单:
数值计算简单动画顺序文件退出
n!
S2.3读写古诗
1+3+…+99画同心圆
S3.3
(说明:
S3.2表示第三个实验的第2题)
2.分别单击菜单项n!
(要求从键盘键入n的值),1+3+5+….99,S3.3时,要求在主窗体中设置Label1显示题目,Label2显示结果,完成S3.3时要求编写函数fact求最小公倍数。
界面如下图。
3.菜单项“S2.3”、“画同心圆”要求使用菜单控件数组。
单击“S2.3”,打开子窗体Form2,完成此项功能,单击“画同心圆”,打开Form3完成此项功能。
“画同心圆”界面如下。
4.菜单项“读写古诗”中,单击“建古诗文件”,要求从左边文本框,写入一首古诗,并将该诗写入文件名为’poem.txt’的文件中。
单击“读文件中古诗”,要求将文件名为’poem.txt’的文件中的古诗读入右边文本框中。
初始界面如下图。
5.在Form2、Form3、Form4中分别设置“返回”按钮,单击时返回主窗体。
三、实验方式
一人一机
四、实验预作
1.Form1中的代码:
PrivateSubf11_Click()
DimsAsInteger,iAsInteger
n=InputBox("")
s=1
Fori=1Ton
s=s*i
Nexti
Label1.Caption=n&"!
="
Label2.Caption=s
EndSub
PrivateSubf12_Click()
DimsAsInteger,iAsInteger
n=InputBox("")
s=0
i=1
Whilei<=99
s=s+i
i=i+2
Wend
Label1.Caption="1+2+3+...+99="
Label2.Caption=s
EndSub
PrivateSubf13_Click()
同s3.3
EndSub
PrivateSubf21_Click(IndexAsInteger)
UnloadMe
IfIndex=1ThenForm2.Show
IfIndex=2ThenForm3.Show
EndSub
PrivateSubf31_Click()
UnloadMe
Form4.Show
EndSub
PrivateSubForm_Load()
Label1=""
Label2=""
EndSub
PrivateSubexit_Click()
End
EndSub
2.Form2中的代码:
同s2.3
3.Form3中的代码:
DimrAsInteger
PrivateSubCommand1_Click()
UnloadMe
Form1.Show
EndSub
PrivateSubForm_Load()
Timer1.Interval=10
Timer1.Enabled=True
r=1
Picture1.BackColor=vbWhite
EndSub
PrivateSubTimer1_Timer()
X=Picture1.Width/2
Y=Picture1.Height/2
MAXRADIUS=IIf(X>Y,Y,X)
Picture1.Circle(X,Y),r,vbWhite
r=(r+3)ModMAXRADIUS
Picture1.Circle(X,Y),r,vbRed
EndSub
4.Form4中的代码:
PrivateSubCommand1_Click()
Open"d:
\poem.txt"ForOutputAs#1
Print#1,Text1.Text
Close#1
EndSub
PrivateSubCommand2_Click()
Dimstr1AsString
Text2.Text=""
Open"d:
\poem.txt"ForInputAs#1
WhileNotEOF
(1)
LineInput#1,str1
Text2.Text=Text2.Text&str1&Chr$(13)&Chr$(10)
Wend
EndSub
PrivateSubCommand3_Click()
UnloadMe
Form1.Show
EndSub
习题
一.选择题(每小题2分,20题,共40分)
1.后缀为frm的文件表示()
A类模块文件 B标准类模块文件
C窗体文件 D窗体二进制数据文件
2.VB集成开发中用于编写程序代码的窗口是()
A工具资源管理器 B属性窗口
C工具栏 D代码编辑器窗口
3.确定一个控件或窗体的大小的属性是()
AWidth或Height BWidth和Height
CTop或Left DTop和Left
4.确定一个控件在窗体中的位置的属性是()
AWidth或Height BWidth和Height
CTop或Left DTop和Left
5.当运行程序时,系统自动执行启动窗体()事件过程。
A Load B Click
C Unload D GotFocus
6.在VisualBasic中,变量的默认类型是()
A Integer B Variant
C Double D Currency
7.窗体Form1的Name属性为Myfrom,则它的Load事件过程名为()
A Myfrom_load B Form1_load
C Me_load D From_load
8.下列控件中,不能改变大小的是()
A TextBox B Label
CTimer D PictureBox
9.在VisualBasic中,程序执行的顺序是()
A由VisualBasic开发系统决定 B由事件驱
C由代码的顺序决定 D随意执行
10.可通过何种属性判断List列表框控件的项目总数目?
()
A ListIndex B ListText
C ListItem D ListCount
11.DimIAsInteger,则运行时变量I的初始值是()
A 0 B 1 C-1 D空值
12.Left(“cdefgh”,4)函数的返回值是()
A cd B defg C cdef D efgh
13.如果仅需要得到当前系统日期,则可以使用哪个函数?
()
A time B Year C Now D Date
14.执行语句a=9Mod2,则a的值是()
A 0 B 4 C 4.5 D 1
15.执行语句a=7\2,b=7/2,则a,b的值分别是()
A 3、3.5 B 3.5、3 C 1、3 D 1、3.5
16.下列可作为VisualBasic的变量名的是()
A4*Delta B Alpha C 4ABC D AB#
17.DimA(2To7,1To5)定义的数值包含的元素个数是()
A 30 B35 C 40 D动态变化
18.如果要在窗体代码编辑器的“通用”部分定义私有Function函数,则正确的语句是()
APublicSub BPublicFunction
CPrivateSub DPrivateFunction
19.DimB(-3To5)定义的数组的元素格式是()
A 6 B 7 C 8 D 9
20.在用菜单编辑器设计菜单时,不可缺少的项是( )
A快捷键 B名称 C索引 D标题
二.填空题(每空2分,20空,共40分)
1. 为了定义自己的鼠标光标,首先应把MousePointer属性设置为 然后把 属性设置为一个图标文件。
2. VB应用程序可以分为单窗体 、
3. VB中可以使用 方法显示弹出式菜单。
4. 执行赋值语句a=“1234”+“567”后,变量a的值是 。
5. 在过程定义中出现的变量名叫做 参数,而在调用过程时传送给过程的参数叫
参数。
6. 与式子2a(7+b)对应的VisualBasic表达式是 。
7. 以下语句的输出结果是 。
s=“China”
s=“Beijing”
Prints
8. 控件数组的名字由 属性指定,而数组中的每个元素由 属性指定。
9. 程序运行过程中,选中的复选框的Value属性值__禁用复选框的Value属性值是__
10.文本框中的每个字符显示为*,则改变文本框的______属性。
11.设置两个计时事件之间发生的时间间隔使用Timer控件的______属性。
12.窗体Form1模态显示的命令语句是:
13.执行完下面的程序段后,s的值为
s=5
Fori=2.6To4.9step0.6
s=s+1
Nexti
14.有时候需要暂时关闭计时器,这可以通过 属性实现。
15.如果要将某个菜单项设计为分隔线。
则该菜单项的标题应设置为
16.表达式4+5\11*4/8Mod9的值是
三.编程题
1.编写程序,利用三种循环结构计算1+2+3+…+50.(12分)
2.在窗体上建立3个文本框和一个命令按钮。
程序运行后,单击命令按钮,在第一个文本框中显示由Command1_Click事件过程设定的内容(例如:
MicrosoftVisualBasic),同时在第二、第三个文本框中分别用小写字母和大写字母显示第一个文本框中的内容。
(8分)
习题
一.选择题(每小题2分,20题,共40分)
1.后缀为frm的文件表示()
A类模块文件 B标准类模块文件
C窗体文件 D窗体二进制数据文件
2.VB集成开发中用于编写程序代码的窗口是()
A工具资源管理器 B属性窗口
C工具栏 D代码编辑器窗口
3.确定一个控件或窗体的大小的属性是()
AWidth或Height BWidth和Height
CTop或Left DTop和Left
4.确定一个控件在窗体中的位置的属性是()
AWidth或Height BWidth和Height
CTop或Left DTop和Left
5.当运行程序时,系统自动执行启动窗体()事件过程。
A Load B Click
C Unload D GotFocus
6.在VisualBasic中,变量的默认类型是()
A Integer B Variant
C Double D Currency
7.窗体Form1的Name属性为Myfrom,则它的Load事件过程名为()
A Myfrom_load B Form1_load
C Me_load D From_load
8.下列控件中,不能改变大小的是()
A TextBox B Label
CTimer D PictureBox
9.在VisualBasic中,程序执行的顺序是()
A由VisualBasic开发系统决定 B由事件驱
C由代码的顺序决定 D随意执行
10.可通过何种属性判断List列表框控件的项目总数目?
()
A ListIndex B ListText
C ListItem D ListCount
11.DimIAsInteger,则运行时变量I的初始值是()
A 0 B 1 C-1 D空值
12.Left(“cdefgh”,4)函数的返回值是()
A cd B defg C cdef D efgh
1