刘永宏.docx
《刘永宏.docx》由会员分享,可在线阅读,更多相关《刘永宏.docx(12页珍藏版)》请在冰豆网上搜索。
刘永宏
内蒙古工业大学信息工程学院
实验报告
课程名称:
高级语言程序设计(VB)Ⅰ
实验名称:
选择、循环、数组和过程综合程序设计
实验类型:
验证性□综合性√设计性□
实验室名称:
校计算中心
班级:
金属13-2学号:
201320402006
姓名:
刘永宏组别:
同组人:
成绩:
实验日期:
2014-5-25
实验报告撰写要求
一、实验前用预习报告纸撰写预习报告,预习报告包括以下内容
1.实验目的
2.实验用仪器设备、器材或软件环境
3.实验原理、方案设计、程序框图、预编程序等
4.实验过程中需要记录的实验数据表格
二、实验过程中,要认真观察,仔细记录
三、完成实验后用实验报告纸撰写实验报告,包括以下内容
1.仪器设备型号及编号
2.实验器材或软件环境
3.实验步骤、程序调试方法
4.实验数据处理及结果分析
5.实验中存在的问题
6.体会及思考题
四、报告撰写时,要求格式规范、书写整齐
预习报告成绩:
指导教师审核(签名):
年月日
预习报告
实验报告成绩:
指导教师审核(签名):
年月日
实验报告
一、实验目的
学会综合运用三种基本控制结构、数组和过程进行程序设计的方法。
二、实验内容
随机产生n个(20≤n≤100)两位整数,找出其中的奇数、偶数和素数,并将奇数按升序排序,将偶数按降序排序,将素数求和。
三、实验要求
1.将随机产生的n个整数存入一维数组中,按每行10个数输出到窗体上。
2.将找出的奇数和偶数分别存入2个一维动态数组中。
用Sub过程分别对奇数和偶数进行排序,奇数用选择法排序,偶数用冒泡法排序,然后在调用过程内,将排好序的奇数和偶数按每行10个数分别输出到图片框和标签中。
3.用Function过程判断随机整数是否为素数。
在调用过程内,将找出的素数(按每行10个数)及求和结果输出到文本框中。
4.Sub过程和Function过程均建立在标准模块中。
5.界面可参照如图所示的运行结果进行设计,要求在窗体上添加的各个控件布局合理、大小适中。
对象属性的设置要求用表格填写,包括对象名、属性名、属性值和说明(可参照前面章节的实验内容)。
6.程序运行后,若在输入对话框中输入随机产生的整数个数n为50,单击“产生随机整数”命令按钮,则在窗体上输出50个随机整数;单击“找奇偶数并排序”命令按钮,则分别在图片框和标签中输出排好序的奇数和偶数;单击“找素数并求和”命令按钮,则在文本框和顺序文件中输出素数和素数的和;单击“结束”命令按钮,结束程序的运行。
运行结果如图所示。
7.实验报告主要包括实验目的、实验内容、实验要求、界面设计(包括各对象及其属性设置)、源程序代码、运行结果(要求截图)、实验中存在的问题、体会和思考等内容。
一界面设计
二属性设置
控件
属性
属性值
说明
Command1
Caption
产生随机整数
Command2
Caption
找奇偶数并排序
Command3
Caption
找素数并求和
Command4
Caption
结束
Text1
Multline
True
让文本框能多行输出
Label1
Caption
Label1
BorderStyle
1
Label2
Caption
Label3
Caption
Label4
Caption
Picture
三程序代码
窗体模块代码:
OptionBase1
Dima(),jssz(),ossz(),os,js,osgs,jsgs,N,m,sum,x
PrivateSubCommand1_Click()
N=InputBox("请输入N(20-100):
")
ReDimPreservea(N)
PrintN+"个随机整数";
Print
Fori=1ToN
Randomize
a(i)=Int(Rnd*90+10)
Printa(i);
IfiMod10=0Then
Print
EndIf
Nexti
EndSub
PrivateSubCommand2_Click()
Fori=1ToN
Ifa(i)Mod2=0Then
os=os+1
osgs=os
ReDimPreserveossz(os)
ossz(os)=a(i)
Else
js=js+1
jsgs=js
ReDimPreservejssz(js)
jssz(js)=a(i)
EndIf
Nexti
Callmppos(ossz,osgs)
Label3.Caption=Str(osgs)+"个偶数"
Fori=1Toosgs
Label1.Caption=Label1.Caption&ossz(i)&""
IfiMod10=0Then
Label1.Caption=Label1.Caption&vbCrLf
EndIf
Nexti
Callxzpjs(jssz,jsgs)
Label2.Caption=Str(jsgs)+"个奇数"
Fori=1Tojsgs
Picture1.Printjssz(i);
IfiMod10=0Then
Picture1.Print
EndIf
Nexti
EndSub
PrivateSubCommand3_Click()
Fori=1ToN
x=a(i)
Ifss(x)Then
m=m+1
Text1.Text=Text1.Text&a(i)&""
IfmMod10=0Then
Text1.Text=Text1.Text&vbCrLf
EndIf
sum=sum+a(i)
EndIf
Nexti
Label4.Caption=m&"个素数"
Text1.Text=Text1.Text&vbCrLf
Text1.Text=Text1.Text&"素数的和是:
"&Str(sum)
EndSub
PrivateSubCommand4_Click()
End
EndSub
标准模块代码:
PublicFunctionss(y)AsBoolean
ss=False
p=2
DoWhilepIfyModp=0Then
ExitDo
EndIf
p=p+1
Loop
Ifp=yThen
ss=True
EndIf
EndFunction
PublicSubxzpjs(jssz(),jsgs)
Forjs=1Tojsgs-1
Forxu=js+1Tojsgs
Ifjssz(js)>jssz(xu)Then
t=jssz(js)
jssz(js)=jssz(xu)
jssz(xu)=t
EndIf
Nextxu
Nextjs
EndSub
PublicSubmppos(ossz(),osgs)
Foros=osgsTo2Step-1
Forxu=1Toos-1
Ifossz(xu)t=ossz(xu)
ossz(xu)=ossz(xu+1)
ossz(xu+1)=t
EndIf
Nextxu
Nextos
EndSub
四运行结果
(一)运行前的界面
(二)产生随机数按钮
(三)产生随机数
(四)找奇偶数并排序
(五)找素数并求和
(六)单击结束
五实验心得体会
VB在我心目中一直感觉是一门特别高深的课程,经过这段时间的学习我对这门课程有了新的认识,我觉得这门课特别有趣,像是在玩游戏一样,需要费好大劲才能调试好一个复杂一点的程序。
在完成这个实验题的过程中我遇到了许多问题,刚开始自己根本无从下手,感觉这道题特别难,在上机调试前我的程序代码写的错误很多,在听了老师的讲解后我改动了我原来的程序代码,在课余时间我又反复运行调试了我的程序,还找了同学来帮忙,最后终于完成了。
在事后我想原来只要我愿意去完成它,无论有什么样的困难我们都可以去克服,自己欠缺的知识还很多,我需要继续努力。