Visua lBasic实验实训指导书Word格式文档下载.docx
- 文档编号:19694685
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:37
- 大小:464.06KB
Visua lBasic实验实训指导书Word格式文档下载.docx
《Visua lBasic实验实训指导书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Visua lBasic实验实训指导书Word格式文档下载.docx(37页珍藏版)》请在冰豆网上搜索。
1.掌握VB数据类型的基本概念。
2.掌握变量、常量的定义方法、各种运算符和表达式的使用。
[实验内容]
1.先手工计算下列表达式的值,然后上机验证(在立即窗口中完成)。
(1)8Mod3*2/5
(2)7/3*3*(4^3)Mod5
(3)”abc”+”123”&
”456”
(4)297.5+”0.5”
(5)4<
8and5<
>
6
(6)flaseornot(3+4>
=7)
(7)(falseandtrue)ornot(trueorfalse)
(8)1/3*3<
1
2.当
(1)a=27,b=4
(2)a=27,b=-4(3)a=-27,b=4(4)a=-27,b=-4,分别求a/b,a\b,aModb的值,并总结运算符/、\、Mod的区别
3.设a,b,c为布尔型变量,且a=true,b=false,c=true,求下列表达式的值(先手工计算,后上机验证)
(1)aAndNotbImpc
(2)NotaEquNotb
(3)notaandb
(4)(notbOrc)and(bOrc)
(5)not(aOrb)and(bandc)
(6)aXorbOrc
[问题讨论]
1.简述各种运算符、表达式综合使用的运算顺序。
2.区别运算符/、\、Mod。
3.如何在立即窗口中验证表达式的值。
三种程序设计结构
1.掌握Let语句、Print方法、InputBox函数、MsgBox函数及过程、注释语句的用法。
2.熟悉选择结构程序设计,灵活使用有关选择结构语句(行If语句、块If语句、情况语句、选择结构的嵌套)解决实际问题。
3.熟悉循环结构程序设计,灵活使用各种循环语句解决实际问题。
1.顺序结构
编制程序:
自由落体运动的位移公式为:
S=1/2*g*t^2+V0t。
其中V0为初始速度;
g为重力加速度;
t为经历的时间;
求位移量S。
要求:
将g定义成符号常量,V0和t的值用InputBox函数输入。
代码如下:
PrivateSubForm_click()
DimV0assingle,tassingle
Constg=9.8
V0=Val(InputBox(”请输入初速度”,”输入对话框”))
S=1/2*g*t^2+V0t
Print“位移为:
”;
S
EndSub
2.选择结构
编程序求一元二次方程:
a*x^2+b*x+c=0的两个根。
Dima,b,c,det,x1,x2
a=Val(InputBox(“请输入二次项系数”,”输入数据”))
b=Val(InputBox(“请输入一次项系数”,”输入数据”))
c=Val(InputBox(“请输常数项”,”输入数据”))
ifa=0Then
Print”二次项系数不能为0”
Else
det=b*b-4*a*c
Ifdet>
=0Then
x1=(-b+sqr(det))/(2*a)
x2=(-b-sqr(det))/(2*a)
Print“x1=”;
x1
Print“x2=”;
x2
Print“x1=”;
str((-b)/(2*a));
”+”str(Abs(sqr(-det))/2*a)&
”i”
Print“x2=”;
”-”str(Abs(sqr(-det))/2*a)&
EndIf
EndIf
3.循环结构
编程乘法口诀表:
Dimiasinteger,jasinteger
Fori=1to9
Forj=1toI
Printi;
”*”;
j;
”=”;
i*j
Next
1.试分析If—Then—Else结构和SelectCase结构的异同点。
2.在For…Next循环中,试分析循环初值、终值和步长的关系。
3.ExitDo语句的作用是什么?
它可以在哪些循环中使用?
4.练习
(1)设计一个程序显示10个两位整数的随机数。
(2)用InputBox$函数输入一个正整数,若输入正确,计算其平方根
(3)求百钱买百鸡问题。
数组的应用
1.掌握数组的定义方法。
2.正确理解和使用数组元素的下标,掌握数组元素的使用、赋值、输入和输出。
3.使用数组解决实际问题。
1.静态数组
随机产生10个两位整数,找出其最大值、最小值和平均值
设计步骤如下:
建立应用程序用户界面与设置对象属性。
编写代码。
考虑到要在不同的过程中使用数组,所以首先在模块的通用段声明数组:
Dima(1To10)AsInteger
随机整数的生成由窗体的Load事件代码完成:
PrivateSubForm_Load()
DimpAsString
Randomize
p="
"
Fori=1To10
a(i)=Int(Rnd*90)+10
p=p&
Str(a(i))&
"
"
Label1.Caption=LTrim(Left(p,Len(p)–1))
“重置”按钮Command1的Click事件代码:
PrivateSubCommand1_Click()
Form_Load
Text1.Text="
Text2.Text="
Text3.Text="
求最大、最小以及平均值由“确定”按钮Command2的Click事件代码完成:
PrivateSubCommand2_Click()
DimnAsInteger,mAsInteger,sAsSingle
min=100:
max=10:
s=0
Ifa(i)>
nThenmax=a(i)
Ifa(i)<
mThenmin=a(i)
s=s+a(i)
Text1.Text=max
Text2.Text=min
Text3.Text=s/10
最后是“关闭”按钮Command3的Click事件代码:
PrivateSubCommand3_Click()
UnloadMe
(1)在“重置”按钮的Click事件代码中,通过调用窗体的Load事件过程来重新产生随机数。
(2)如果要求产生的随机整数互不相同,应改写窗体的Load事件代码:
Do
x=Int(Rnd*90)+10
yes=0
Forj=1Toi-1
Ifx=a(j)Thenyes=1:
ExitFor'
如与前面的元素相同,则返回到Do循环
Next'
重新产生随机数
LoopWhileyes=1
a(i)=x
Label1.Caption=LTrim(Left(p,Len(p)-1))
2.动态数组
编程序,输出杨辉三角形(国外称Pascal三角形)
编写代码。
在模块的通用段声明数组一个动态数组:
Dima()
为了使输入所需项数并按回车后可以得到各项,编写文本框Text1的按健(KeyPress)事件代码:
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
DimnAsInteger
IfKeyAscii=13Then
n=Val(Text1.Text)
Ifn>
16Then
MsgBox"
请不要超过16"
ExitSub
ReDima(n,n)
Fori=1Ton
a(i,1)=1:
a(i,i)=1
p=Format(1,"
!
@@@@"
)&
Chr(13)
Format(1,"
@@@@@"
Fori=3Ton
Format(a(i,1),"
)
Forj=2Toi–1
a(i,j)=a(i–1,j–1)+a(i–1,j)
Format(a(i,j),"
Format(a(i,i),"
MsgBoxp,0,"
杨辉三角形"
1.静态数组与动态数组的使用。
2.常用数组解决的问题有那些?
基本控件的属性、方法与事件及其应用
1.图片框、图像框、单选钮、复选钮、组合框、列表框的练习和比较。
2.掌握定时器、框架、滚动条的应用。
1.设计程序,利用图片框的属性和方法加载、清除图形。
如图所示
2.定时器
利用定时器显示当前系统时间,同时用图像框显示三个笑脸。
3.单选按钮、复选按钮、框架
PrivateSubCheck1_Click()
IfCheck1.ValueThen
Text1.FontBold=True
Else
Text1.FontBold=False
EndIf
PrivateSubCheck2_Click()
IfCheck2.ValueThen
Text1.FontItalic=True
Text1.FontItalic=False
PrivateSubCheck3_Click()
IfCheck3.ValueThen
Text1.FontUnderline=True
Text1.FontUnderline=False
PrivateSubOption1_Click()
Text1.FontName="
宋体"
PrivateSubOption2_Click()
楷体_gb2312"
PrivateSubOption3_Click()
Text1.FontSize=18
PrivateSubOption4_Click()
Text1.FontSize=36
4.列表框、组合框
代码:
Dimpos(7)AsString
Command1.Font.Size=12
Command1.Caption="
退出"
WithList1
.FontSize=12
.AddItem"
东岳泰山"
南岳衡山"
中岳嵩山"
西岳华山"
北岳恒山"
五台山山"
黄山"
峨眉山"
.Selected(0)=True
EndWith
pos(0)="
在山东泰安市境内"
pos
(1)="
在湖南衡山县境内"
pos
(2)="
在河南登封县境内"
pos(3)="
在陕西华阴县境内"
pos(4)="
在山西浑源县境内"
pos(5)="
在山西五台山境内"
pos(6)="
在安徽南部境内"
pos(7)="
在四川乐山地区"
Text1.FontSize=12
Text1=List1.Text+pos(0)
PrivateSubList1_Click()
DimiAsInteger
Fori=0To(List1.ListCount-1)
IfList1.Selected(i)=TrueThen
Text1=List1.Text+pos(i)
NextI
EndSub
5.计时器、滚动条
OptionExplicit
DimrAsInteger,gAsInteger,bAsInteger
Timer1.Enabled=True
Timer1.Enabled=False
PrivateSubTimer1_Timer()
RandomizeTimer
r=Int(Rnd*256)
g=Int(Rnd*256)
b=Int(Rnd*256)
HScroll1.Value=r
Label4.Caption=r
HScroll2.Value=g
Label5.Caption=g
HScroll3.Value=b
Label6.Caption=b
Text1.ForeColor=RGB(r,g,b)
1.列表框与组合框有什么区别?
2.单选按钮与复选按钮的区别?
3.什么是容器控件,它有什么样的特点?
4.滚动条的
Change事件与Scroll事件有什么不同?
文件系统控件的使用
1.掌握驱动器列表框、目录列表框、文件列表框三个文件系统控件的使用。
2.掌握三个文件系统控件的组合方法。
3.图像框的使用。
制作一个如下图所示的图片查看器:
1。
驱动器列表框、目录列表框、文件列表框必须配合使用,并且在目录名位置显示路径。
2.能够通过列表框中文件类型的选择可使在文件列表框中显示该类型的文件。
3.图片在图像框中显示
PrivateSubCombo1_Click()
File1.Pattern=Combo1.Text
File1.Path=Dir1.Path
PrivateSubDir1_Change()
Label4.Caption=Dir1.Path
PrivateSubDrive1_Change()
Dir1.Path=Drive1.Drive
PrivateSubFile1_Click()
Text1.Text=File1.FileName
Image1.Picture=LoadPicture(File1.Path+"
\"
+Text1.Text)
Combo1.AddItem("
*.jpg"
*.ico"
Combo1.Text="
File1.Pattern="
EndSub
1.驱动器列表框、目录列表框、文件列表框三个文件系统控件如何配合使用。
2.文件列表框Pattern属性的使用。
3.讨论一下能否用图片框代替图像框。
菜单编辑器的使用及菜单的设计
1.熟练掌握窗口菜单的规划、设计和使用方法。
2.掌握弹出式菜单设计和使用方法。
3.掌握工具栏设计和应用方法。
1.菜单
(1)菜单编辑器的使用
(2)下拉式菜单
利用菜单来控制标题板的内容、字体、字体风格等,如图所示
打开菜单编辑器设计菜单。
写菜单项代码。
编写“文本内容”项Txt的Click事件代码:
PrivateSubTxt_Click()
temp=InputBox("
请输入标题板的新内容"
"
输入"
Label1.Caption)
Iftemp<
Then
Label1.Caption=temp
编写“文本字体”中4个菜单选项的Click事件代码:
PrivateSubsong_Click()
Label1.FontName="
PrivateSubli_Click()
隶书"
PrivateSubkai_Click()
楷体"
PrivateSubhei_Click()
黑体"
编写“文本风格”中3个菜单选项的Click事件代码:
PrivateSubbld_Click()
bld.Checked=Notbld.Checked
Label1.FontBold=bld.Checked
PrivateSubItl_Click()
Itl.Checked=NotItl.Checked
Label1.FontItalic=Itl.Checked
PrivateSubUndrln_Click()
Undrln.Checked=NotUndrln.Checked
Label1.FontUnderline=Undrln.Checked
(3)菜单控件数组
(4)菜单项的可用与不可能
(5)弹出式菜单
语法为:
[〈窗体名〉.]PopupMenu〈菜单名〉[,flags[,x[,y[,boldcommand]]]]
将上例用弹出式菜单实现,(如图所示)。
只需增加标签和窗体的MouseDown事件代码:
PrivateSubLabel1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenuStyl,6
PrivateSubForm_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)
IfButton=2Then
PopupMenuNam,6
2.工具栏
(1)用手工方式制作工具栏
(2)使用Toolbar控件与ImageList控件
设计如下程序:
修改应用程序用户界面
通过“属性页”对话框来设置工具栏控件与图像列表控件的属性
(3)修改及编写程序代码。
修改窗体的事件代码:
PrivateSubForm_Resize()
WithText1
.Top=Toolbar1.Height
.Left=0
.Height=Form1.ScaleHeight-Toolbar1.Height
.Width=Form1.ScaleWidth
EndWith
编写工具栏按钮的事件代码:
PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)
n=Button.Index
SelectCasen
Case2,3,4
File_Click(n-2)
具有Office97风格的工具栏
Case6
Text1.FontBold=Button.Value
Case7
Text1.FontItalic=Button.Value
Case8
Text1.FontUnderline=Button.Value
EndSelect
1.菜单栏、工具栏在创建时应注意哪些问题?
2.弹出式菜单创建的语法格式。
实验七
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visua lBasic实验实训指导书 lBasic 实验 指导书