VB实验指导例题.docx
- 文档编号:2908248
- 上传时间:2023-05-05
- 格式:DOCX
- 页数:52
- 大小:186.87KB
VB实验指导例题.docx
《VB实验指导例题.docx》由会员分享,可在线阅读,更多相关《VB实验指导例题.docx(52页珍藏版)》请在冰点文库上搜索。
VB实验指导例题
实验AVB环境和可视化编程基础
1.
(1)运行界面
(2)参考代码:
PrivateSubCommand1_Click()
label3.Caption=text1.Text
EndSub
2.模仿教材例1.1,将事件过程中自上而下移动改为自右向左移动,也要考虑文字出窗体边界的情况。
(1)运行界面
(2)参考代码:
PrivateSubCommand1_Click()
Timer1.Interval=0
Callmymove
EndSub
Submymove()
Label1.MoveLabel1.Left-20
IfLabel1.Left=0ThenLabel1.Left=Form1.Width
EndSub
PrivateSubCommand2_Click()
Timer1.Interval=200
EndSub
PrivateSubTimer1_Timer()
Callmymove
EndSub
3.编写一程序,在文本框中统计在该窗口上鼠标单击的次数。
(1)运行界面:
(2)编写代码:
PrivateSubForm_Click()
Text1=Val(Text1)+1
EndSub
PrivateSubForm_Load()
Text1.Text=""
EndSub
4.代码:
PrivateSubForm_Click()
Form1.Caption="鼠标单击"
Form1.Picture=LoadPicture("d:
\1.jpg")
EndSub
PrivateSubForm_DblClick()
Form1.Caption="鼠标双击"
Form1.Picture=LoadPicture("d:
\2.jpg")
EndSub
PrivateSubForm_Load()
Form1.Picture=LoadPicture("d:
\3.jpg")
EndSub
5.命令按钮、字号、内容和格式的复制练习
(1)运行界面
(2)参考代码:
PrivateSubCommand1_Click()
Text1.FontName="黑体"
Text1.FontSize=25
EndSub
PrivateSubCommand2_Click()
Text2.Text=Text1.SelText
Text2.FontName=Text1.FontName
Text2.FontSize=Text1.FontSize
Text1.SetFocus
EndSub
实验B顺序结构
1.编一个华氏温度与摄氏温度之间转换的程序,要求用按钮实现转换。
既单击“华氏转摄氏”按钮,则将华氏温度转换为摄氏温度;同样,单击“摄氏转华氏”按钮,则将摄氏温度转换为华氏温度。
代码:
PrivateSubCommand1_Click()
Dimf!
c!
f=Val(Text1.Text)
c=5/9*(f-32)
Text2.Text=Format(c,"0.00")
EndSub
PrivateSubCommand2_Click()
Dimf!
c!
c=Val(Text2.Text)
f=9/5*c+32
Text1.Text=Format(f,"0.00")
EndSub
2.
(1)运行界面
(2)参考代码
PrivateSubCommand1_Click()
r=Text1.Text
Label1.Caption=Format(3.14*r*r,".00")
Text1.SetFocus
EndSub
PrivateSubCommand2_Click()
r=Val(Text1.Text)
Label2.Caption=Format(3.14*2*r,".00")
Text1.SetFocus
EndSub
PrivateSubText1_KeyPress(KeyAsciiAsInteger)
IfKeyAscii=13Then
IfNotIsNumeric(Text1)Then
MsgBox"输入有误,请重输入"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndIf
EndIf
EndSub
PrivateSubText1_LostFocus()
IfNotIsNumeric(Text1)Then
MsgBox"输入有非数字字符,请重新输入",,"2-2"
Text1.SetFocus
Text1.SelStart=0
Text1.SelLength=Len(Text1.Text)
EndIf
EndSub
3.我国有13亿人口,按人口增长0.8%计算,多少年后我国人口超过26亿。
(1)运行界面
(2)参考代码
PrivateSubCommand1_Click()
a=Int(Log
(2)/(Log(1+0.008)))+1
Text1.Text=a&"年后,我国人口超过26亿"
EndSub
4.输入一字符串,分别调用Ucase、Len函数将其转换成大写字母并显示其字符串长度
(1)
运行界面
(2)参考代码
PrivateSubCommand1_Click()
Text2.Text=UCase(Text1.Text)
Text3.Text=Len(Text1.Text)
EndSub
5.随机产生一个3位正整数,然后逆序输出,产生的随机数与逆序数同时显示。
例如,产生735,输出是537
(1)运行界面
(2)参考代码:
PrivateSubCommand1_Click()
x=Int((899+1)*Rnd+100)
a=x\100
b=(xMod100)\10
c=xMod10
Text1.Text=x
Text2.Text=c*100+b*10+a
EndSub
6.使用Mid、Left、Right函数。
在Text1文本框中输入一字符串,在label1、Label2、Label3中显示如图的效果。
(1)
运行界面
(2)参考代码:
PrivateSubForm_Click()
Text1.FontSize=16
Label1.FontSize=16
Label2.FontSize=16
Label3.FontSize=16
Text1.Text="VisualBasic程序设计教程(第三版)"
Label1.Caption=Left(Text1.Text,11)
Label2.Caption=Mid(Text1.Text,12,6)
Label3.Caption=Right(Text1.Text,5)
EndSub
7.Print方法练习,显示字符图形。
(1)运行界面
(2)参考代码:
(a)
PrivateSubCommand1_Click()
Fori=1To5
PrintTab(13-2*i);String(2*i-1,"★");Spc(22-4*i);String(2*i-1,"★")
Nexti
EndSub
PrivateSubCommand2_Click()
Form1.Cls
EndSub
(b)
PrivateSubCommand1_Click()
Fori=1To5
PrintTab(13-2*i);String(2*i-1,"★");String(11-2*i,"☆");String(2*i-1,"★")
Nexti
EndSub
PrivateSubCommand2_Click()
Form1.Cls
EndSub
8.
用InputBox输入一个正实数,用Print方法在一行上显示出它的平方和平方根、立方和立方根,每个数保留三位小数,其间有间隔。
(1)运行界面
(2)参考代码:
PrivateSubCommand1_Click()
x=Val(InputBox("输入一个正实数"))
Form1.PrintFormat(x*x,".000");Spc(5);Format(Sqr(x),".000");Spc(5);Format(x*x*x,".000");Spc(5);Format(x^(1/3),".000")
EndSub
实验C选择结构
一、实验目的
1掌握逻辑表达式的正确书写形式
2掌握单分支与双分支条件语句的使用。
3掌握多分支条件语句的使用。
4掌握情况语句的使用及其与多分支条件语句之间的区别。
二、实验内容
1、在购买某物品时,若所标明的价钱x在下述范围内,所付钱y按对应所扣支付:
提示:
此题用多分支结构实现,注意计算公式和条件表达式的正确书写。
实验目的:
掌握多边if语句的正确使用
实验步骤:
1新建新工程
2要求单击窗体提示物品的价钱,最后在窗体上显示所付钱y
代码如下:
PrivateSubForm_Click()
DimxAsSingle,yAsSingle
x=Val(InputBox("请输入物品价钱:
"))
Ifx<1000Then
y=x
ElseIfx>=1000Andx<2000Then
y=0.9*x
ElseIfx>=2000Andx<3000Then
y=0.8*x
ElseIfx>=3000Then
y=0.7*x
EndIf
Print"所付钱为:
";y
EndSub
2、编一程序输入上网的时间并计算上网费用,计算的方法如下:
同时为了鼓励多上网,每月收费最多不超过150元。
提示:
首先利用多分支条件更具三个时间段算出费用,然后再用if语句对超过150元的费用设置为150元。
略:
提示和第一题类似
3、输入x,y,z三个数,按从大到小的次序显示。
实验目的:
掌握单边或嵌套if语句的使用
实验步骤:
1新建工程
2代码如下:
PrivateSubForm_click()
DimxAsInteger,bAsInteger,zAsInteger,dAsInteger
dimx!
y!
z!
x=InputBox("请输入第一个数")
y=InputBox("请输入第二个数")
z=InputBox("请输入第三个数")
Print"排序前";x;Spc(5);y;Spc(5);z
Ifx d=x: x=y: y=d EndIf Ify d=y: y=z: z=d EndIf Ifx d=x: x=y: y=d EndIf Print"排序后";x;Spc(5);y;Spc(5);z EndSub 4、利用实验c的思想,随机产生3个整数,按从小到大的顺序显示。 PrivateSubForm_click() DimxAsInteger,yAsInteger,zAsInteger,dAsInteger Randomize x=Int(Rnd*101): y=Int(Rnd*101): z=Int(Rnd*101) Print"排序前";x;Spc(5);y;Spc(5);z Ifx>yThen d=x: x=y: y=d EndIf Ify>zThen d=y: y=z: z=d EndIf Ifx>yThen d=x: x=y: y=d EndIf Print"排序后";x;Spc(5);y;Spc(5);z EndSub 5、利用计算机解决古代数学问题“鸡兔同笼问题”。 即已知在同一笼子里有总数为m只鸡和兔,鸡和兔的总脚数为n只,求鸡和兔各有多少只? 实验目的: 掌握if语句使用,分析解题中出现的可能情况,避免出现不合理的结果,提高解决实际问题的能力。 实验步骤: 1创建新工程界面如上 2代码如下: PrivateSubForm_Load() Label1.Caption="输入总只数" Label2.Caption="输入总脚数" Label3.Caption="求得鸡数" Label4.Caption="求得兔数" Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" EndSub PrivateSubForm_Load() Label1.Caption="输入总只数" Label2.Caption="输入总脚数" Label3.Caption="求得鸡数" Label4.Caption="求得兔数" Text1.Text="" Text2.Text="" Text3.Text="" Text4.Text="" EndSub PrivateSubText2_LostFocus() Dimm%,n%,y% m=Val(Text1) n=Val(Text2) IfnMod2<>0Then MsgBox("脚数必定为偶数") Text2="" Text2.SetFocus Else y=n/2-m Ify<0Then MsgBox"脚数必须>=2倍的头数,",vbOKOnly,"sy2-5" Text2="" Text2.SetFocus Else x=m-y Text3=x Text4=y EndIf EndIf EndSub 6、输入一元二次方程ax2+bx+c=0的系数a,b,c,计算并输出一元二次方程的连个根x1,x2. 实验步骤: 1创建一个新的工程 2代码如下: PrivateSubCommand1_Click() DimaAsSingle,bAsSingle,cAsSingle a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) Ifa<>0Then delta=b^2-4*a*c re=-b/(2*a) Ifdelta>0Then sb=Sqr(delta)/(2*a) Text4.Text=Str(re+sb) Text5.Text=Str(re-sb) ElseIfdelta=0Then Text4.Text=Str(re) Text5.Text=Str(re) Else xb=Sqr(-delta)/(2*a) Text4.Text=Str(re)&"+"&Str(xb)&"i" Text5.Text=Str(re)&"-"&Str(xb)&"i" EndIf Else Ifb<>0Then ygz=-b/c Text4.Text=Str(ygz) Else Text4.Text="方程无意义! " EndIf EndIf EndSub PrivateSubCommand2_Click() End EndSub PrivateSubForm_Load() Text1="": Text2="" Text3="": Text4="" Text5="" EndSub 7、编一模拟袖珍计算器的完整程序,。 要求: 输入两个操作数和一个操作符,根据操作符决定所做的运算。 实验目的: 掌握selectcase语句的使用 1新建一个工程 2代码如下: PrivateSubCommand1_Click() op=Trim(Text3.Text) SelectCaseop Case"+" Text4.Text=Val(Text1)+Val(Text2) Case"-" Text4.Text=Val(Text1)-Val(Text2) Case"*" Text4.Text=Val(Text1)*Val(Text2) Case"/" IfVal(Text2)=0Then MsgBox"除数不能是零! ,重新输入" Text2="" Text2.SetFocus Else Text4.Text=Val(Text1)/Val(Text2) EndIf EndSelect EndSub PrivateSubCommand2_Click() End EndSub PrivateSubForm_Load() Text1.Text="": Text2.Text="" Text3.Text="": Text4.Text="" EndSub PrivateSubCommand2_Click() End EndSub PrivateSubForm_Load() Text1.Text="": Text2.Text="" Text3.Text="": Text4.Text="" EndSub 8、输入一个数字(1~7),分别通过select语句和choose函数两种方法用英文显示对应的星期一~星期日 略: 参考书上例子4.10 实验D循环结构 一、实验目的 1掌握for语句的使用 2掌握Do语句的各种形式的使用 3掌握如何控制循环条件,防止死循环或不循环 二、实验内容 实验目的: 掌握单循环结构以及tab、trim函数的使用。 1、利用单循环结构显示如图所示的界面 实验步骤: 1创建一个新的工程 2代码如下 PrivateSubForm_Click() Fori=1To9 PrintTab(10-i);String(2*i-1,Trim(Str(i))) Nexti EndSub 2、用单循环实现如图的界面 实验步骤 1创建一个新的工程 2主要代码如下: Fori=1To9 PrintTab(i);String(2*(10-i),Trim(Chr(i+64))) Nexti 3、计算s=1+1/2+1/4+1/7+1/11+1/16+1/22+1/29+…..当第i项的值<10-4时结束。 提示: 找出规律,第i项的分母是前一项的分母加i开始计数。 可利用for循环结构的循环控制变量获得项数,当某项达到规定的精度时退出循环。 实验目的: 利用循环,计算部分级数和。 实验步骤: 1创建一个新的工程,窗体布局如右图 2代码如下: PrivateSubCommand1_Click() Dims! t! i& s=1: t=1: i=i DoWhile1/t>0.00001 t=t+i s=s+1/t i=i+1 Loop Print"Dowhile结构";s,i-1;"项" EndSub PrivateSubCommand2_Click() Dims! t! i& s=1: t=1 Fori=1To100000 t=t+i s=s+1/t If1/t<0.00001ThenExitFor Nexti Print"for结构";s,i;"项" EndSub 4、计算 的近似值, 的计算公式为: = 实验步骤: 1新建一个工程 2代码如下: 注意溢出问题 PrivateSubForm_Click() DimiAsLong,sAsDouble s=2 n%=Val(InputBox("输入n的值: ")) Fori=1Ton s=s*(((2*i)^2)/((2*i-1)*(2*i+1))) Nexti Print"当n为: ";n;"时计算结果为";s EndSub 5、求sn=a+aa+aaa+aaaa+....+aaa(n个a),其中a是一个随机数产生的1~9(包括1,9)中的一个正整数,n是一个随机产生的5~10(包括5,10)中的一个数。 实验目的: 学会根据问题的要求找规律、写通项;掌握循环的正确使用。 实验步骤: 1新建一个工程 2代码如下: PrivateSubForm_Click() Dims! t! i! a%,n% a=Int(Rnd*9+1) n=Int(Rnd*6+5) Print"a="&a;"n="&n t=0: s=0 Fori=1Ton t=t*10+a s=s+t Printt; Nexti Print"s=";s EndSub 6、编一程序,显示出所有的水仙花数。 所谓水仙花数,是指一个3位数,其各位数字立方和等于数字本身。 提示: 解该题的方法有两种: 1利用三重循环,将三个数连接成一个3位数进行判断。 实验步骤: 1新建一个工程 2代码如下: PrivateSubForm_Click() Dimi%,j%,k% Fori=1To9 Forj=0To9 Fork=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 实验 指导 例题