VB实验报告模板.docx
《VB实验报告模板.docx》由会员分享,可在线阅读,更多相关《VB实验报告模板.docx(20页珍藏版)》请在冰点文库上搜索。
VB实验报告模板
内蒙古工业大学信息工程学院
实验报告
课程名称:
高级语言程序设计(VB)Ⅱ
实验名称:
选择、循环、数组和过程综合程序设计
实验类型:
验证性□综合性√设计性□
实验室名称:
校计算中心
班级:
英语-国贸学号:
姓名:
乘舟归梦组别:
同组人:
成绩:
实验日期:
2012.6.10
实验报告撰写要求
一、实验前用预习报告纸撰写预习报告,预习报告包括以下内容
1.实验目的
2.实验用仪器设备、器材或软件环境
3.实验原理、方案设计、程序框图、预编程序等
4.实验过程中需要记录的实验数据表格
二、实验过程中,要认真观察,仔细记录
三、完成实验后用实验报告纸撰写实验报告,包括以下内容
1.仪器设备型号及编号
2.实验器材或软件环境
3.实验步骤、程序调试方法
4.实验数据处理及结果分析
5.实验中存在的问题
6.体会及思考题
四、报告撰写时,要求格式规范、书写整齐
预习报告成绩:
指导教师审核(签名):
年月日
预习报告
(一)实验目的
学会综合运用选择结构、循环结构、数组和过程进行程序设计的方法。
(2)实验用仪器设备、器材或软件环境
1.实验用仪器设备:
校计算中心计算机8B58号
2.软件环境windowxpMicrosoftVisualBasic6.0
(3)实验原理
根据以下要求:
实验要求
1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.奇数也存入另一个数组,将排好序的奇数输出到窗体或文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.界面和属性由学生自行设计和设置。
应运用的实验原理是:
实验原理
1.利用Rnd函数产生80个随机整数,再利用For循环将产生的随机整数存入到数组中,最后利用if语句按每行十个数输出到第一个文本框中;
2.用if语句和mod函数判断是否为奇数,然后运用选择排序法,将奇数从小到大排序输出到第二个文本框中;
3.调用function函数判断素数,利用for循环和if函数每10个数输出到第三个文本框中。
(4)方案设计
1.程序窗体设计
2.属性设置
控件
属性
属性值
Command1
caption
随机产生80个元素组成的数组
Command2
caption
从小到大排列数组中奇数元素
Command3
caption
选出其中的素数
Text1
Multiline
true
Text2
Multiline
true
Text3
Multiline
true
Label1
caption
随机产生的数组
Label2
caption
将上述数组中的奇数从小到大排列
Label3
caption
其中的素数
(五)程序框图
开始
开始
i=1
输入zk(i),k,i
zk(i)=int(rnd*90+10)
k=0,i=1
Text1.text=text1.text&""&zk(i)
zk(i)mod2=1
否
i=i+1
imod10=0
i=i+1
是
k=k+1
是
Text1.text=text1.text&vbcrlf
sj(k)=zk(i)
i<=80
是
i<=80
是
否
结束
否
g=k
结束
开始
开始
输入zk(i),l
输入sj(k),g
l=0,i=1
k=1,j=2
调用sushu(zk(i))函数
sj(k)>sj(j)
否
否是
是
l=l+1
t=sj(k)
yj(l)=zk(i)
j=j+1
sj(k)=sj(j)
Text2.text=text2.text&""&sj(k)
sj(j)=t
k=k+1
i=i+1
i=i+1
lmod10=0
j<=g
否
是
是
Text2.text=text2.text&vbcrlf
Text2.text=text2.text&""&sj(k)
kmod10=0
i<=80
否是
是
Text2.text=text2.text&vbcrlf
否
结束
k<=g-1
是
结束
否
开始
开始
输入m
随机产生80个两位数并每十个一行输入到文本框中
d=2
找出上述80个数中的奇数并从小到大排列,同时每十个一行输出到第二个文本框中
mmodd=0
是
找出其中的素数并每十个一行输出到第三个文本框中
不是素数
否
d=d+1
d>m-1
否
结束
是
是素数
结束
(六)预编程序
OptionBase1
Dimzk(80)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Randomize
Fori=1To80
zk(i)=Int(90*Rnd+10)
Text1.Text=Text1.Text&""&zk(i)
IfiMod10=0Then
Text1.Text=Text1.Text&vbCrLf
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
Dimsj()AsInteger
Show
ReDimsj(80)
k=0
Fori=1To80
Ifzk(i)Mod2=1Then
k=k+1
sj(k)=zk(i)
EndIf
Nexti
g=k
DimjAsInteger
Fork=1To(g-1)
Forj=k+1Tog
Ifsj(k)>sj(j)Then
daihuan=sj(k):
sj(k)=sj(j):
sj(j)=daihuan
EndIf
Nextj
Text2.Text=Text2.Text&""&sj(k)
IfkMod10=0Then
Text2.Text=Text2.Text&vbCrLf
EndIf
Nextk
EndSub
PrivateSubCommand3_Click()
Dimh()AsInteger,lAsSingle
Show
ReDimjy(80)
l=0
Fori=1To80
Ifsushu(zk(i))Then
l=l+1
jy(l)=zk(i)
Text3.Text=Text3.Text&""&jy(l)
IflMod10=0Then
Text3.Text=Text3.Text&vbCrLf
EndIf
EndIf
Nexti
EndSub
Functionsushu(mAsInteger)AsBoolean
DimdAsInteger,suAsBoolean
su=True
Ford=2Tom-1
IfmModd=0Then
su=False
EndIf
Nextd
sushu=su
EndFunction
实验报告成绩:
指导教师审核(签名):
年月日
实验报告
一、实验目的
学会综合运用选择结构、循环结构、数组和过程进行程序设计的方法。
二、实验内容
利用随机函数产生80个10~99之间的随机整数,将其中的奇数按由小到大的顺序排列并输出;在产生的80个随机整数中,找出其中的素数。
三、实验要求
1.将随机产生的80个整数存入数组,按每行10个数输出到窗体或文本框中。
2.奇数也存入另一个数组,将排好序的奇数输出到窗体或文本框中。
3.用Sub子过程或Function函数过程判断随机整数是否为素数。
4.将素数按每行10个数在窗体或文本框中输出。
5.界面和属性由学生自行设计和设置(界面设计要合理、美观,属性设置用表格完成,包括对象名、属性名和属性值)。
四、实验报告,包括以下内容
(1)仪器设备型号及编号
校计算机中心计算机8B58号
(二)实验器材或软件环境
1.实验用仪器设备:
校计算中心计算机
2.软件环境windowxpMicrosoftVisualBasic6.0
(3)实验步骤、程序调试方法
1.设置窗体界面
2.更改标签属性
控件
属性
属性值
Command1
caption
随机产生80个元素组成的数组
Command2
caption
从小到大排列数组中奇数元素
Command3
caption
选出其中的素数
Text1
Multiline
true
Text2
Multiline
true
Text3
Multiline
true
Label1
caption
随机产生的数组
Label2
caption
将上述数组中的奇数从小到大排列
Label3
caption
其中的素数
3.绘构程序框图
开始
开始
i=1
输入zk(i),k,i
zk(i)=int(rnd*90+10)
k=0,i=1
Text1.text=text1.text&""&zk(i)
zk(i)mod2=1
否
i=i+1
imod10=0
i=i+1
是
k=k+1
是
Text1.text=text1.text&vbcrlf
sj(k)=zk(i)
i<=80
是
i<=80
是
否
结束
否
g=k
结束
开始
开始
输入zk(i),l
输入sj(k),g
l=0,i=1
k=1,j=2
调用sushu(zk(i))函数
sj(k)>sj(j)
否
否是
是
l=l+1
t=sj(k)
yj(l)=zk(i)
j=j+1
sj(k)=sj(j)
Text2.text=text2.text&""&sj(k)
sj(j)=t
k=k+1
i=i+1
i=i+1
lmod10=0
j<=g
否
是
是
Text2.text=text2.text&vbcrlf
Text2.text=text2.text&""&sj(k)
kmod10=0
i<=80
否是
是
Text2.text=text2.text&vbcrlf
否
结束
k<=g
是
结束
否
开始
开始
随机产生80个两位数并每十个一行输入到文本框中
输入m
d=2
找出上述80个数中的奇数并从小到大排列,同时每十个一行输出到第二个文本框中
mmodd=0
是
找出上述80个数中的素数并每十个一行输出到第三个文本框中
不是素数
否
d=d+1
d>m-1
否
结束
是
是素数
结束
4.编写程序代码
OptionBase1
Dimzk(80)AsInteger
PrivateSubCommand1_Click()
DimiAsInteger
Randomize
Fori=1To80
zk(i)=Int(90*Rnd+10)
Text1.Text=Text1.Text&""&zk(i)
IfiMod10=0Then
Text1.Text=Text1.Text&vbCrLf
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
Dimsj()AsInteger
Show
ReDimsj(80)
k=0
Fori=1To80
Ifzk(i)Mod2=1Then
k=k+1
sj(k)=zk(i)
EndIf
Nexti
g=k
DimjAsInteger
Fork=1To(g-1)
Forj=k+1Tog
Ifsj(k)>sj(j)Then
daihuan=sj(k):
sj(k)=sj(j):
sj(j)=daihuan
EndIf
Nextj
Text2.Text=Text2.Text&""&sj(k)
IfkMod10=0Then
Text2.Text=Text2.Text&vbCrLf
EndIf
Nextk
EndSub
PrivateSubCommand3_Click()
Dimjy()AsInteger,lAsSingle
Show
ReDimjy(80)
l=0
Fori=1To80
Ifsushu(zk(i))Then
l=l+1
jy(l)=zk(i)
Text3.Text=Text3.Text&""&jy(l)
IflMod10=0Then
Text3.Text=Text3.Text&vbCrLf
EndIf
EndIf
Nexti
EndSub
Functionsushu(mAsInteger)AsBoolean
DimdAsInteger,sAsBoolean
s=True
Ford=2Tom-1
IfmModd=0Then
s=False
EndIf
Nextd
sushu=s
EndFunction
(4)实验数据处理及结果分析
结果分析:
程序运行正常,输出结果符合要求。
(5)实验中存在的问题
1.无法将产生的80个随机数每十个输出到一行。
原因在于没有充分利用好zk(i)的下标值i
2.产生的素数可以输出,但无法每十个一行输出。
查找原因是:
在把每个素数赋给新的数组yj(l)时,下标l的值没有逐个累加,根本原因在于累加程序代码l=l+1写错位置。
3.在运行时,产生错误“子程序或函数未定义”。
原因在于没有把zk(i)数组设置为全局变量。
4.无法把产生的数组从文本框里输出。
根本原因在于忘记用连接符“&”。
同时注意在运用连接符时应该链接一个空格。
最关键的一点就是修改Multiline属性值为true
(6)体会及思考题
编写程序首先要深刻理解实验目的,并根据目的,挖掘其中每一步的实验原理。
在实验中注意“自顶而上的设计”,在设计时注重每一个设计对于程序实现的作用;“在下而上的编码”,这就要求在实验设计时的每一步如何运用程序代码来逐步进行实现。
程序编写的逻辑性要求相当高,可以培养学生的逻辑思维能力。
同时,每个代码的确定性也考察了同学们的细心程度与熟练程度。
构划程序框图可以学生更为深刻的领会每一个步骤的流程的目的,深化对程序的理解。
在每一次的调试及验证中,我们逐步纠正其中的错误,优化程序格式,美化窗体外观,让我们明白程序编码并不枯燥,与此同时提高我们对于程序编程的审美水准。
编写好程序代码,需要细心、耐心,更主要的熟练地基础知识。