Visual Basic环境和简单程序设计.docx
《Visual Basic环境和简单程序设计.docx》由会员分享,可在线阅读,更多相关《Visual Basic环境和简单程序设计.docx(43页珍藏版)》请在冰豆网上搜索。
![Visual Basic环境和简单程序设计.docx](https://file1.bdocx.com/fileroot1/2023-2/23/4c4c674c-57d3-4d19-8cb8-5eee71591cbf/4c4c674c-57d3-4d19-8cb8-5eee71591cbf1.gif)
VisualBasic环境和简单程序设计
实验一 VisualBasic环境和简单程序设计
一、实验目的
1.掌握VisualBasic启动和退出的方法。
2.熟悉VisualBasic的集成开发环境。
3.掌握VisualBasic程序设计的基本步骤。
4.掌握基本控件(标签、命令按钮和文本框)的基本使用方法。
二、实验内容
1启动VisualBasic,然后创建一个“标准EXE”工程。
了解VisualBasic集成开发环境下各组成部分及其作用。
【要求】
(1)在集成开发环境中分别寻找“窗体窗口”、“属性窗口”、“工程资源管理器”、“窗体布局窗口”、“工具箱窗口”,熟悉它们的默认位置。
(2)在“视图”或“工程资源管理器”中切换显示“代码窗口”和“窗体窗口”。
(3)在“视图”菜单中点击“立即窗口”,观察刚刚显示出来的“立即窗口”。
(4)尝试分别将各部分关闭,然后再用“视图”菜单中对应的菜单命令将其显示。
2编写一个简单的应用程序。
要求窗体的标题为“简单VB实验”;窗体中有一个标题为“显示”的按钮;单击该按钮后在窗体上显示红色的“广西师范学院”。
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1、一个标签Label1。
(2)设置对象的属性
对象名称
属性名称
属性值
Form1
Caption
简单VB实验
Label1
ForeColor
红色
Command1
Caption
显示
(3)编写事件代码:
PrivateSubCommand1_Click()
Label1.Caption="广西师范学院"
EndSub
(4)程序的运行及保存。
【提示】
在窗体上显示“广西师范学院”有两种方法:
(1)用Print方法:
设置窗体的前景色为红色。
(2)用一个标签控件:
设置标签控件的前景色为红色。
【思考】为什么在以上两种方法中在颜色的设置问题上有所不同?
3通过编程修改控件的属性。
【要求】
(1)进入程序设计的界面如图1-1(a)。
(2)点击“单击此处”按钮后程序运行的界面如图1-1(b)。
【步骤】
(1)在窗体中创建一个标签Label1、一个命令按钮Command1。
(2)在属性窗口中设置对象的属性:
对象名称
属性名称
属性值
Form1
Caption
设计界面
Label1
Caption
请留意此处
Command1
Caption
单击此处
(3)在Command1的Click事件中编写程序代码:
PrivateSubCommand1_Click()
Form1.Caption="编程后界面"
Label1.Caption="欢迎您使用VB6.0"
Command1.Caption="运行结果"
EndSub
【提示】
可以通过两种方法设置对象的属性:
(1)在程序设计状态,通过属性窗口对该属性进行修改或设置。
(2)在程序运行状态,通过程序中的语句动态地更改对象的属性。
修改对象属性的语句格式:
对象名.属性名称=新设置属性值
实验二 顺序结构程序设计
一、实验目的
1.掌握常量和变量、表达式的基本概念和正确书写格式。
2.掌握赋值语句和常用函数的正确使用方法。
3.掌握输入、输出对话框(InputBox和MsgBox)的基本使用方法。
二、实验内容
1假设有变量a=2,b=5,c=4,d=3,e=6,编写程序,计算表达式a+b>candd*a=e的值,将结果打印在窗体上。
【提示】
注意复合表达式的运算顺序。
【思考】复合表达式按什么样的顺序运算?
2 编写程序,界面如图2-1所示。
使得单击一次按钮可以产生一个[60,90]之间的随机数并显示在标签Label1上,再求出该数的正弦值,将结果写在标签Label2上。
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1、两个标签Label1和Label2。
(2)设置对象的属性
对象名称
属性名称
属性值
Form1
Caption
随机数的正弦值
Command1
Caption
下一个随机数
Label1
Caption
Label2
Caption
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimx!
y!
Randomize
x=Rnd*31+60
y=Sin(x)
Label1.Caption="随机数(60-90):
"&Str(x)
Label2.Caption="正弦值 :
"&Str(y)
EndSub
(4)程序的运行及保存。
【提示】
(1)使用Rnd函数产生随机数,注意,为了防止两次运行程序的随机数序列相同,调用Rnd之前先用Randomize语句进行初始化。
(2)产生某闭区间内的随机数的公式为:
(上限-下限+1)*rnd+下限。
(3)求正弦值函数为:
sin()。
【思考】怎样产生一个[60,90]之间的随机数?
3编写一个华氏温度F与摄氏温度C之间转换的应用程序,界面如图2-2所示。
其中F与C之间的关系为:
。
【步骤】
(1)设计应用程序的界面:
在窗体上创建两个命令按钮Command1和Command2、两个标签Label1和Label2、两个文本框Text1和Text2。
(2)设置对象的属性
对象名称
属性名称
属性值
Form1
Caption
温度转换
Command1
Caption
>
Command2
Caption
<
Label1
Caption
华氏温度
Label2
Caption
摄氏温度
Text1
Text
Text2
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimf!
c!
f=Val(Text1.Text)
c=(f-32)*5/9
Text2=Str(c)
EndSub
PrivateSubCommand2_Click()
Dimf!
c!
c=Val(Text2.Text)
f=9/5*c+32
Text1=Str(f)
EndSub
(4)程序的运行及保存。
4求圆的面积及圆柱体的体积,界面如图2-3所示。
【步骤】
(1)设计应用程序的界面:
在窗体上创建两个命令按钮Command1和Command2,四个标签Label1、Label2、Label3和Label4,四个文本框Text1、Text2、Text3和Text4。
(2)设置对象的属性
对象名称
属性名称
属性值
Command1
Caption
求圆的面积
Command2
Caption
求圆柱的体积
Label1
Caption
圆的半径
Label2
Caption
圆柱的高
Label3
Caption
圆的面积
Label4
Caption
圆柱的体积
Text1、Text2、Text3、Text4
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
DimrAsSingle,sAsSingle
r=Val(Text1.Text)
s=3.14159*r*r
Text3.Text=Str(s)
EndSub
PrivateSubCommand2_Click()
Dimr!
h!
v!
r=Val(Text1.Text)
h=Val(Text2)
v=3.14159*r*r*h
Text4=v
EndSub
(4)程序的运行及保存。
实验三 选择结构程序设计
一、实验目的
1.掌握逻辑表达式的正确使用方法。
2.掌握单分支、双分支和多分支条件语句结构的使用方法。
二、实验内容
1有函数:
写一个程序,输入x值后,则输出相应y值。
要求用“If…ElseIf…EndIf”和用“SelectCase”两种方法完成该题目。
【提示】
注意区分1≤x<10和1<=xAndx<10有什么不同。
2编写一个判断给定坐标在第几象限的程序,界面如图3-1所示。
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1,三个标签Label1、Label2和Label3,两个文本框Text1和Text2。
(2)设置对象的属性
对象名称
属性名称
属性值
Form1
Caption
象限判断
Command1
Caption
判断
Label1
Caption
X=
Label2
Caption
Y=
Label3
Caption
Text1、Text2
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimx!
y!
x=Val(Text1)
y=Val(Text2)
Ifx>0Then
Ify>0Then
Label1.Caption="在第一象限"
Else
Label1.Caption="在第四象限"
EndIf
Else
Ify>0Then
Label1.Caption="在第二象限"
Else
Label1.Caption="在第三象限"
EndIf
EndIf
EndSub
(4)程序的运行及保存。
3编写一个网吧收费程序。
【要求】
(1)运行界面如图3-2所示。
(2)网吧基本收费为2元/小时。
(3)根据不同的上机时数x,上机费用y可以按以下公式计算收费:
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1,两个标签Label1和Label2,两个文本框Text1和Text2。
(2)设置对象的属性
对象名称
属性名称
属性值
Command1
Caption
计费
Label1
Caption
上机时数
Label2
Caption
上机费用
Text1、Text2
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimx!
y!
x=Val(Text1)
Ifx<3Then
y=2*x
ElseIfx<5Then
y=2*0.9*x
ElseIfx<10Then
y=2*0.8*x
Else
y=2*0.75*x
EndIf
Text2=Str(y)
EndSub
(4)程序的运行及保存。
4输入某学生的某科目考试成绩(100分制),输出该学生的成绩等级。
90分以上为“优秀”,80~89分为“良好”,70~79分为“中等”,60~69分为“及格”,60分以下为“不及格”。
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1,两个标签Label1和Label2,两个文本框Text1和Text2,如图3-3所示。
(2)设置对象的属性
对象名称
属性名称
属性值
Command1
Caption
成绩等级
Label1
Caption
请输入成绩
Label2
Caption
成绩等级为
Text1、Text2
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimcj!
djAsString
cj=Val(Text1.Text)
SelectCaseVal(Text1)\10
Case9,10
Text2="优秀"
Case8
Text2="良好"
Case7
Text2="中等"
Case6
Text2="及格"
CaseElse
Text2="不及格"
EndSelect
EndSub
(4)程序的运行及保存。
实验四 循环结构程序设计
一、实验目的
1.掌握循环的基本概念。
2.掌握For循环。
3.掌握Do...While循环和DoWhile...Loop循环,注意区分两种循环。
4.了解Do...LoopUntil循环和DoUntil...Loop循环。
5.掌握如何利用循环条件来控制循环,防止死循环的出现。
二、实验内容
1编写一个程序,当程序运行时,单击窗体后,用单循环在窗体上输出规则字符图形,如图4-1所示。
【步骤】
(1)编写事件代码:
PrivateSubForm_Click()
Dimi%
Cls
Fori=1To10
PrintString(i,"*")
Nexti
EndSub
(2)程序的运行及保存。
【提示】
使用String()函数,String()函数可以重复显示某个字符串。
例如,String(4,"*")可以生成4个连续的“*”,即“****”。
2编写程序,用单循环在窗体上实现如图4-2所示的图形。
【步骤】
(1)编写事件代码:
PrivateSubForm_Click()
Dimi%
Cls
Fori=9To0Step-1
PrintSpc(10-i);String(2*i+1,Trim(Str(i)))
Nexti
EndSub
(2)程序的运行及保存。
【提示】
(1)注意观察图形的规律:
第I行在输出时是m个空格+n个字符x,其中m、n、x均和I有关系。
(2)配合Print方法使用Spc(n)函数,其作用是产生n个连续的空格。
(3)使用Str()函数和Trim()函数。
Str(f)函数是将数值f转换为相同形式的字符串;Trim(s)函数可将字符串s的最前和最后的空格(称为前导和后导空格,可为多个空格)剪切掉,字符串中的空格不受影响。
当I为7时,Trim(Str(I))则是字符串"7"。
(4)结合(3),当I为1时,String(2*I+1,Trim(Str(I)))则生成字符串"111"。
3编写程序,求1+2+3+...+100的和,将结果打印在窗体上。
4编写程序,计算Sum=1+2+3+...,的值,直到Sum>6000为止。
5计算
的值,当第i项
时结束。
6已知工厂去年的年产值为300万元,年增长率为15%。
试问经过多少年后,该工厂的年产值可以翻一番?
翻一番后的实际产值是多少?
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1,八个标签Label1~Label8,四个文本框Text1~Text4,如图4-3。
(2)设置对象的属性
对象名称
属性名称
属性值
Command1
Caption
翻一番
Label1
Caption
现有产值
Label2
Caption
元
Label3
Caption
年增长率
Label4
Caption
%
Label5
Caption
经过
Label6
Caption
年
Label7
Caption
产值为:
Label8
Caption
元
Text1~Text4
Text
(3)编写事件代码:
PrivateSubCommand1_Click()
Dimp!
s!
y%,r!
p=Val(Text1)
r=Val(Text2)/100
y=0
s=0
Do
y=y+1
s=p*(1+r)^y
LoopWhiles<2*p
Text3=Str(y)
Text4=Str(s)
EndSub
PrivateSubForm_click()
Text1=""
Text2=""
Text3=""
Text4=""
EndSub
(4)程序的运行及保存。
图4-4实验4-7程序运行界面
7使用双重循环,输出“九九乘法表”,如图4-4所示。
【步骤】
(1)界面设计:
在属性窗口将窗体Form1的Caption属性设置为“九九乘法表”。
(2)编写事件代码:
PrivateSubForm_Click()
Dimi%,j%
DimstrAsString
Picture1.Print
Fori=1To9
Forj=1Toi
str=i&"¡Á"&j&"="&i*j
Picture1.PrintTab((j-1)*9+1);str;
Nextj
Picture1.Print
Nexti
EndSub
(3)程序的运行及保存。
【提示】
(1)注意行号和该行乘法单元的个数之间的关系。
(2)注意乘法单元的规律:
“4×3=12”中4为行号,3为列号,且列号不大于行号。
(3)乘号“×”可从汉字输入法软键盘菜单的“数学符号”中找到;或从Word中菜单【插入】->【符号】中找到,再从Word中剪切或复制到VB代码中。
(4)可以将窗体的AutoRedraw属性设为True,以防初始大小的窗体显示不下全部内容。
8显示所有的水仙花数。
所谓水仙花数,就是指一个3位正整数,其各位数字的立方和等于该数本身。
例如,
,153即为水仙花数。
【步骤】
(1)界面设计:
在窗体上创建一个图形框Picture1。
(2)编写事件代码:
PrivateSubPicture1_Click()
Dimi%
Picture1.Cls
Picture1.Print"ËùÓеÄË®ÏÉ»¨ÊýΪ£º"
Fori=100To999
a=i\100
b=i\10Mod10
c=iMod10
Ifi=a^3+b^3+c^3ThenPicture1.Printi;
Nexti
EndSub
(3)程序的运行及保存。
【提示】
本题目解法有两种:
(1)对3位数的各位数组合进行穷举:
利用3重循环,将3个个位数组成一个3位数进行判断。
例如,3位数的各位数从高位到低位依次为a、b、c,则对应的3位数为a*100+b*10+c。
(2)对所有3位数进行穷举:
利用单循环对所有3位数进行穷举,循环内将一个3位数拆成3个个位数进行判断。
例如,对s=678进行拆解时:
个位数=sMod10;十位数=(s\10)Mod10;百位数=s\100。
当然,也可以将上述拆解过程写为一个循环(这时就是利用双重循环,内层循环即为拆解过程)。
实验五 数组及其应用
一、实验目的
1.掌握数组的基本概念。
2.掌握数组的声明、引用。
3.掌握静态数组和动态数组的区别。
4.掌握控件数组。
4.掌握如何利用数组解决与数组相关的常用算法(特别是排序算法)。
二、实验内容
1随机产生10个0~100之间(包括0和100)的整数,存放在一个数组中,然后求各元素之和、平均值,统计大于平均值的元素个数并把它们打印出来,如图5-1所示。
【步骤】
(1)设计应用程序的界面:
在窗体上创建三个命令按钮Command1、Command2和Command3,四个标签Label1、Label2、Label3和Label4,两个文本框Text1和Text2,两个图形框Picture1和Picture2。
(2)设置对象的属性
对象名称
属性名称
属性值
Command1
Caption
求和
Command2
Caption
求平均值
Command3
Caption
统计
Label1
Caption
10个随机整数分别为:
Label2
Caption
各元素之和为:
Label3
Caption
平均值为:
Label4
Caption
大于平均值的元素为:
Text1、Text2
Text
(3)编写事件代码:
OptionBase1
Dima(10)AsInteger
PrivateSubCommand1_Click()
Dimi%,sum%
sum=0
Fori=1To10
sum=sum+a(i)
Nexti
Text1=Str(sum)
EndSub
PrivateSubCommand2_Click()
Text2=Val(Text1)/10
EndSub
PrivateSubCommand3_Click()
Dimi%
Fori=1To10
Ifa(i)>Val(Text2)ThenPicture2.Printa(i);
Nexti
EndSub
PrivateSubForm_click()
Dimi%
Randomize
Picture1.Cls
Picture2.Cls
Text1=""
Text2=""
Fori=1To10
a(i)=Int(Rnd*101)
Picture1.Printa(i);
Nexti
EndSub
(4)程序的运行及保存。
2编写一个程序,删除数组中某个元素,如图5-2所示。
【步骤】
(1)设计应用程序的界面:
在窗体上创建一个命令按钮Command1,三个标签Label1、Label2和Label3,一个文本框Text1,两个图形框Picture1和Picture2