最新版VB程序设计实验报告.docx

上传人:b****7 文档编号:15331228 上传时间:2023-07-03 格式:DOCX 页数:40 大小:31.03KB
下载 相关 举报
最新版VB程序设计实验报告.docx_第1页
第1页 / 共40页
最新版VB程序设计实验报告.docx_第2页
第2页 / 共40页
最新版VB程序设计实验报告.docx_第3页
第3页 / 共40页
最新版VB程序设计实验报告.docx_第4页
第4页 / 共40页
最新版VB程序设计实验报告.docx_第5页
第5页 / 共40页
最新版VB程序设计实验报告.docx_第6页
第6页 / 共40页
最新版VB程序设计实验报告.docx_第7页
第7页 / 共40页
最新版VB程序设计实验报告.docx_第8页
第8页 / 共40页
最新版VB程序设计实验报告.docx_第9页
第9页 / 共40页
最新版VB程序设计实验报告.docx_第10页
第10页 / 共40页
最新版VB程序设计实验报告.docx_第11页
第11页 / 共40页
最新版VB程序设计实验报告.docx_第12页
第12页 / 共40页
最新版VB程序设计实验报告.docx_第13页
第13页 / 共40页
最新版VB程序设计实验报告.docx_第14页
第14页 / 共40页
最新版VB程序设计实验报告.docx_第15页
第15页 / 共40页
最新版VB程序设计实验报告.docx_第16页
第16页 / 共40页
最新版VB程序设计实验报告.docx_第17页
第17页 / 共40页
最新版VB程序设计实验报告.docx_第18页
第18页 / 共40页
最新版VB程序设计实验报告.docx_第19页
第19页 / 共40页
最新版VB程序设计实验报告.docx_第20页
第20页 / 共40页
亲,该文档总共40页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

最新版VB程序设计实验报告.docx

《最新版VB程序设计实验报告.docx》由会员分享,可在线阅读,更多相关《最新版VB程序设计实验报告.docx(40页珍藏版)》请在冰点文库上搜索。

最新版VB程序设计实验报告.docx

最新版VB程序设计实验报告

湖北文理学院

VB程序设计课程

实验报告

 

学院物电学院

专业自动化

班级1211

学号

姓名王亮

任课教师王福林

实验一、VB控制结构

一、实验目的

1.掌握选择语句的使用

2.掌握循环语句的使用

二、实验内容

1、选择语句

程序1:

创建应用程序。

要求:

单击窗体可弹出输入框,任意输入三个数,然后按从小到大的顺序输出到窗体上。

程序2:

创建应用程序。

要求:

单击窗体可弹出一输入框,任意输入一个正整数,在窗体上显示该整数是否为素数的字样。

2、循环语句

程序3:

创建应用程序。

要求:

单击窗体可显示一个由“*”组成的平行四边形图案。

程序4:

创建应用程序,其功能是显示所有的水仙花数。

三、实验记录

程序1如下:

PrivateSubCommand1_Click()

DimaAsInteger,bAsInteger,cAsInteger,tAsInteger'定义a,b,c,t为整形变量

Cls'清屏

a=Val(InputBox("请输入第1个数:

"))'给a赋值

b=Val(InputBox("请输入第2个数:

"))'给b赋值

c=Val(InputBox("请输入第3个数:

"))'给c赋值

Ifa>bThent=a:

a=b:

b=t'如果a>b,把a的值赋给t,b的值赋给a,t的值赋给b

Ifb>cThen'嵌套,如果b>c

t=b:

b=c:

c=t'把b的值赋给t,b的值赋给c,t的值赋给c

Ifa>bThen'再次嵌套,如果a>b

t=a'把a的值赋给t

a=b'b的值赋给a

b=t't的值赋给b

EndIf

EndIf

Printa;"、";b;"、";c'输出a"、"b;"、";c

EndSub

PrivateSubCommand2_Click()

End'退出程序

EndSub

程序2如下:

PrivateSubCommand1_Click()

DimiAsInteger,kAsInteger,nAsInteger'定义整形变量i,k,n

n=Val(InputBox("任意输入一个整数:

"))'给n输入值

i=2'i初始值为2

k=Int(n/2)'为整形的二分之一n的值赋给k

DoWhilei<=k'当i小于且等于k

IfnModi=0Then'如果n模除i为0

ExitDo'退出循环

Else

i=i+1'否则i加1

EndIf

Loop

Ifi>kThenPrintn;"是素数"ElsePrintn;"不是素数"'如果i大于k,输出n的值是素数,否则输出n的值不是素数

EndSub

PrivateSubCommand2_Click()

End'退出程序

EndSub

程序3如下:

PrivateSubForm_Click()

DimmAsInteger,nAsInteger'定义整形变量m,n

Cls'清屏

Print

Form=1To6'm赋初始值为1,当m大于6停止

PrintTab(15-m);'第15-m列开始输出

Forn=1To8'n赋初始值为1,当n大于6停止

Print"*";'输出*

Nextn

Print""'输出空格

Nextm

EndSub

程序4如下:

PrivateSubCommand1_Click()

DimiAsInteger,mAsInteger,nAsInteger,kAsInteger,sxhAsIntege

'定义整形变量i,m,n,k,sxk

Fori=100To999'i赋初始值为100,当i大于999,停止循环

m=i\100'i除以100,结果赋给m

n=(iMod100)\10'i模除100后的值再除以10,最后结果赋给n

k=iMod10'i模除10后的值赋给k

sxh=m^3+n^3+k^3'sxh作算术运算

Ifsxh=iThen'如果sxh等于i

Printi,'输出i的值

EndIf

Nexti

EndSub

PrivateSubCommand2_Click()

End'程序结束

EndSub

4、实验总结

实验二、窗体和标准控件

一、实验目的

1.掌握命令按钮、标签及文本框控件的使用方法

2.掌握复选框、单选按钮及框架控件的使用方法

3.掌握列表框和组合框控件的使用方法

4.掌握滚动条和定时器控件的使用方法

二、实验内容

1、命令按钮、标签及文本框控件的使用方法

程序1:

在窗体上建立两个标签、两个文本框和两个命令按钮,运行界面如左图所示。

要求在运行时,两个文本框中的内容均不允许用户编辑;如果用户在“原文”的文本框中选定所需的内容,单击“复制”命令按钮,则在“输出”文本框中输出选定的内容;如果单击“结束”命令按钮,则结束程序的运行。

程序2:

建立如下图所示的窗体,要求程序能对输入的“性别”和“邮政编码”、“电话号码”进行校验(性别只允许输入“男”或“女”,邮政编码必须是6位数字,电话号码必须是8位数字)。

如果输入的数据不符号要求,则清空相应的文本框,并将插入点置于该框中。

所有的校验工作可以在单击“退出”按钮后进行,此时,程序检查所有文本框,如有空白或内容错误,要求继续输入,否则结束程序。

2、复选框、单选按钮及框架控件的使用

程序3:

在窗体中有一个标签,内有若干文字,要求通过窗体中的复选框或单选按钮确定标签中文字的字体(宋体或黑体)、字号(10号或12号)和字形(是否粗体、是否斜体),请建立应用程序。

3、列表框和组合框控件的使用

程序4:

编写程序。

要求:

程序运行初期,在窗体左边的列表框中生成10个由小到大排列的10到100之间的随机整数,单击窗体中“右移”按钮,则左边列表框的10个数移动到右边的列表框中,并由大到小排列,此时“左移”按钮变为有效。

单击“左移”按钮,右边列表框中的数又被移到左边的列表框中。

单击“退出”按钮或按ESC键,可退出程序。

窗体示意图如下。

程序5:

建立应用程序,窗体如下图所示,有一个简单组合框、三个命令按钮、一个文本框和一个标签。

要求:

●单击“添加”按钮可将输入的内容添加到组合框中

●单击“删除”按钮可删除组合框中选定的项目

●单击“统计人数”按钮,可将组合框中的项目总数输出到右边的文本框

●单击“退出”或按ESC键退出程序

4、滚动条和定时器控件的使用

程序6:

编写程序,运行时的界面如下图所示。

要求:

无论是拖动滚动条上的滚动框,还是单击滚动箭头(数值递增或递减1)或滚动条(数值递增或递减10),均可以在相应的标签中反映当前数值,并动态计算出均值;单击“Reset”按钮,可将各滚动条上的滚动框复位。

程序7:

利用定时器控件设计一个数字式时钟应用程序。

三、实验记录

程序1如下:

PrivateSubForm_Load()

Text1.Text="文本框是一个多功能控件,可以显示或者接收用户输入的文本信息。

"'给文本框指定内容

EndSub

PrivateSubCommand1_Click()

Text2.Text=Text1.SelText'在Text1中选定文本赋给Text2

EndSub

PrivateSubCommand2_Click()

End'程序结束

EndSub

程序2如下:

PrivateSubCommand1_Click()

IfText1=""Then

'如果Text1没有输入,当前的激活文本区(焦点)在Text1

Text1.SetFocus

ExitSub'退出过程

EndIf

IfText2=""Then

'如果Text2没有输入,当前的激活文本区(焦点)在Text2

Text2.SetFocus

ExitSub'退出过程

EndIf

IfText3=""Then

'如果Text3没有输入,当前的激活文本区(焦点)在Text3

Text3.SetFocus

ExitSub'退出过程

EndIf

IfText4=""Then

'如果Text4没有输入,当前的激活文本区(焦点)在Text4

Text4.SetFocus

ExitSub'退出过程

EndIf

IfText5=""Then

'如果Text5没有输入,当前的激活文本区(焦点)在Text5

Text5.SetFocus

ExitSub'退出过程

EndIf

End'退出程序

EndSub

PrivateSubText2_LostFocus()

IfText2.Text<>""Then'如果Text2有输入

IfText2.Text<>"男"AndText2.Text<>"女"Then

'如果Text2输入的内容不是“男”和“女”

Text2.Text=""'则Text2不输出

Text2.SetFocus'当前的激活文本区(焦点)在Text2

EndIf

EndIf

EndSub

PrivateSubText4_LostFocus()

IfText4.Text<>""Then'如果Text4有输入

IfLen(Text4.Text)<>6OrNotIsNumeric(Text4.Text)Then

'如果Text4输入的内容不是数值或者字符串的长度不为6

Text4.Text=""'则Text4不输出

Text4.SetFocus'当前的激活文本区(焦点)在Text4

EndIf

EndIf

EndSub

PrivateSubText5_LostFocus()

IfText5.Text<>""Then'如果Text5有输入

IfLen(Text5.Text)<>8OrNotIsNumeric(Text5.Text)Then

'如果Text5输入的内容不是数值或者字符串的长度不为8

Text5.Text=""'则Text5不输出

Text5.SetFocus'当前的激活文本区(焦点)在Text5

EndIf

EndIf

EndSub

程序3界面设计(程序设计界面和运行结果界面):

程序3如下:

PrivateSubOption1_Click()

Text1.FontName="宋体"'Text1中的内容为宋体

EndSub

PrivateSubOption2_Click()

Text1.FontName="黑体"'Text1中的内容为黑体

EndSub

PrivateSubOption3_Click()

Text1.FontSize=10'Text1中的内容为字号大小为10号

EndSub

PrivateSubOption4_Click()

Text1.FontSize=12'Text1中的内容为字号大小为12号

EndSub

PrivateSubCheck1_Click()

IfCheck1.Value=1Then'如果Check1被选中

Text1.FontBold=True'Text1中的内容变为粗体

Else

Text1.FontBold=False'Text1中的内容不变

EndIf

EndSub

PrivateSubCheck2_Click()

IfCheck2.Value=1Then'如果Check2被选中

Text1.FontItalic=True'Text1中的内容变为斜体

Else

Text1.FontItalic=False'Text1中的内容不变

EndIf

EndSub

程序4如下:

PrivateSubCommand1_Click()

DimiAsInteger,LastAsInteger'定义i和Last为整型变量

Last=List1.ListCount-1

'将List1.ListCount-1中被选中的内容赋給Last

Fori=0ToLast'统计i大于Last时停止循环

List2.AddItemList1.List(Last-i)

'将List2中被选中的内容添加到List1中

List1.RemoveItemLast-i'将List1中被选中的内容删除Last-i个

Nexti

Command1.Enabled=False'Command1按钮无效

Command2.Enabled=True'Command2按钮有效

EndSub

PrivateSubCommand2_Click()

DimiAsInteger,LastAsInteger'定义i和Last为整型变量

Last=List2.ListCount-1

'将List2.ListCount-1中被选中的内容赋給Last

Fori=0ToLast'统计i大于Last时停止循环

List1.AddItemList2.List(Last-i)

'将List1中被选中的内容添加到List2

List2.RemoveItemLast-i'将List2中被选中的内容删除Last-i个

Nexti

Command1.Enabled=True'Command1按钮有效

Command2.Enabled=False'Command2按钮无效

EndSub

PrivateSubCommand3_Click()

UnloadMe'程序退出

EndSub

PrivateSubForm_Load()

DimiAsInteger

Fori=0To9'统计i大于9时停止循环

Randomize

List1.AddItemInt((90*Rnd)+10)'给List1中添加内容

Nexti

EndSub

程序5如下:

PrivateSubCombo1_Change()

IfCombo1.Text<>""Then'如果Combo1输入内容不为空

Command1.Enabled=True'Command1按钮点击有效

Command1.Default=True'Command1为默认按钮

Else

Command1.Enabled=False'否则,Command1按钮点击无效,成灰色状态

EndIf

EndSub

PrivateSubCombo1_Click()

Command2.Enabled=True'Command2按钮点击有效

Command2.Default=True'Command2为默认按钮

Combo1.SetFocus'赋焦点光标在停放Combo1里

EndSub

PrivateSubCommand1_Click()

Combo1.AddItemCombo1.Text'添加内容到Combo1中

Combo1.Text=""'Combo1输入内容为空

Combo1.SetFocus'赋焦点光标在停放Combo1里

EndSub

PrivateSubCommand2_Click()

x=Combo1.ListIndex'将Combo1中的内容赋給x

Combo1.RemoveItemx'将Combo1中的内容中的x删除

Ifx

Combo1.ListIndex=x'将x中的内容赋給Combo1

Else

Ifx>0Then'否则,如果x大于0

Combo1.ListIndex=x-1'x-1赋给Combo1

Else

Command2.Enabled=False'否则,Command2按钮点击无效Command2.Default=False'Command2不为默认按钮

EndIf

EndIf

Text1.SetFocus'赋焦点光标在停放text1里

EndSub

PrivateSubCommand3_Click()

Text1.Text=Combo1.ListCount'将Combo1中的内容赋給Text1

Combo1.SetFocus'赋焦点光标在停放Combo1里

EndSub

PrivateSubCommand4_Click()

End'程序结束

EndSub

程序6如下:

PrivateSubCommand1_Click()

HScroll1.Value=0'将数值0赋给滚动条HScroll1

HScroll2.Value=0'将数值0赋给滚动条HScroll2

HScroll3.Value=0'将数值0赋给滚动条HScroll3

EndSub

PrivateSubHScroll1_Change()

Label5.Caption=HScroll1.Value

'滚动条HScroll的数值显示在标签Label5上

Average'求其平均值

EndSub

PrivateSubHScroll2_Change()

Label6.Caption=HScroll2.Value

'滚动条HScrol2的数值显示在标签Label6上

Average'求其平均值

EndSub

PrivateSubHScroll3_Change()

Label7.Caption=HScroll3.Value

'滚动条HScrol3的数值显示在标签Label7上

Average'求其平均值

EndSub

PrivateSubAverage()

DimTempAsDouble'定义双精度变量Temp

Temp=(HScroll1.Value+HScroll2.Value+HScroll3.Value)/3

'将滚动条HScroll,HScroll2,HScroll3的平均值之和除以3,结果赋给Temp

Label8.Caption=CStr(Temp)'Temp的均值显示在标签Label8上

EndSub

程序7如下:

PrivateSubForm_Load()

Label1.Caption=Time'在窗体上,将现在的时间赋给标签Label1

EndSub

PrivateSubTimer1_Timer()

Label1.Caption=Time

'在时间控件Time1把现在的时间显示在标签Label1上

EndSub

4、实验总结

实验三、过程

一、实验目的

1.掌握过程的定义和调用的方法

2.掌握典型问题的算法求解

二、实验内容

1、过程的定义和调用

程序1:

创建应用程序,要求对输入的非负整数m和n,如果m>=n,则显示组合数的值,否则显示数据出错。

二、典型问题的算法

程序2:

利用下列两式求得圆周率π的近似值,忽略级数式中绝对值小于0.000001的项。

以及

程序3:

如下图所示,求2-200之间的所有素数,要求每输出五个数据换一行。

程序4:

利用随机函数产生20个-500到500的随机整数(包括-500和500),单击窗体时,在窗体上输出这20个数,同时在窗体上显示输出从大到小排好序的这些数。

要求以每行5个数的格式显示,如下图所示。

三、实验记录

程序1如下:

PrivateSubCommand1_Click()

IfText1.Text=""OrNotIsNumeric(Text1.Text)Then

'如果Text1没有输入或者不是字符串

MsgBox"请输入一个非负整数!

",,"提示"

'弹出消息框标题为“提示”,内容为"请输入一个非负整数!

"

ExitSub'退出过程

EndIf

IfText2.Text=""OrNotIsNumeric(Text2.Text)Then

'如果Text2没有输入或者不是字符串

MsgBox"请输入一个非负整数!

",,"提示"

'弹出消息框标题为“提示”,内容为"请输入一个非负整数!

"

Text2.SetFocus'此刻焦点指在Text2

ExitSub'退出过程

EndIf

IfCInt(Text1.Text)>CInt(Text2.Text)Then

'如果输入Text1的整形函数值大于Text2的整形函数值

MsgBox"数据出错,请重新输入!

",,"警告"

'弹出消息框标题为“警告”,内容为"数据出错。

请重新输入!

"

Text1.Text=""'Text1不输出

Text2.Text=""'Text1不输出

Text1.SetFocus'此刻焦点指在Text1

ExitSub'退出过程

EndIf

n=CInt(Text1.Text)'Text1的整形函数值赋给n

m=CInt(Text2.Text)'Text2的整形函数值赋给m

Text3.Text=CStr(Fac(m)/Fac(n)/Fac(m-n))

'组合数做运算,利用阶乘

EndSub

PrivateFunctionFac(ByValnAsInteger)AsDouble

'函数的调用,定义双精度变量Fac(),整形变量n

DimiAsInteger,TempAsDouble'定义整形变量i,Temp

Temp=1'Temp初值为1

Fori=1Ton'做循环

Temp=Temp*i'做乘积运算

Nexti

Fac=Temp'把Temp的值赋给Fac

EndFunction'结束函数

PrivateSubCommand2_Click()

End'结束程序

EndSub

程序2如下:

PrivateSubForm_Click

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2