VB实验指导例题.docx

上传人:b****6 文档编号:7584764 上传时间:2023-01-25 格式:DOCX 页数:51 大小:658.86KB
下载 相关 举报
VB实验指导例题.docx_第1页
第1页 / 共51页
VB实验指导例题.docx_第2页
第2页 / 共51页
VB实验指导例题.docx_第3页
第3页 / 共51页
VB实验指导例题.docx_第4页
第4页 / 共51页
VB实验指导例题.docx_第5页
第5页 / 共51页
点击查看更多>>
下载资源
资源描述

VB实验指导例题.docx

《VB实验指导例题.docx》由会员分享,可在线阅读,更多相关《VB实验指导例题.docx(51页珍藏版)》请在冰豆网上搜索。

VB实验指导例题.docx

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()

Print

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()

Print

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=0To9

a=i

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1