监控系统程序设计.docx
- 文档编号:8654710
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:34
- 大小:1.04MB
监控系统程序设计.docx
《监控系统程序设计.docx》由会员分享,可在线阅读,更多相关《监控系统程序设计.docx(34页珍藏版)》请在冰豆网上搜索。
监控系统程序设计
北京林业大学工学院
实验报告
课程名称____监控系统程序设计___
班 级_______自动化XXXX___
姓 名_XXXX_学号_XXXXXXXXXX_
实验地点_____学研XX机房____
指导教师___张超一、罗琴娟__成绩________
实验一
一.实验目的:
1.了解VB系统对计算机软件、硬件的要求。
2.掌握启动和退出VB的方法。
3.了解和使用VB集成开发环境各窗口、菜单的一般功能。
4.熟悉建立、编辑、运行、保存一个简单的VB应用程序的全过程。
5.了解文本框、标签框、命令按钮的构造及其属性、事件和方法。
二.实验内容:
题目1
编写一个应用程序,界面如下图所示
1.界面上有3个按钮,一个是“显示”按钮,一个是“清除”按钮,一个是“结束”按钮。
把文本框的内容设置为空白。
2.程序运行后,如果点击“显示”按钮,则在文本框中显示“欢迎使用VisualBasic6.0”,如下图所示:
3.点击“清除”按钮,则清除文本框中显示的内容。
如下图所示:
4.点击“退出”按钮,则结束程序。
题目2
在窗体上画两个文本框和一个命令按钮,然后在代码窗口中编写如下事件过程:
PrivateSubCommand1_Click()
Text1.Text=“VBProgramming”
Text2.Text=“Text1.Text”
Text1.Text=“ABCD”
EndSub
程序运行后,单击命令按钮,在两个文本框中各显示什么内容?
题目3
在窗体上画一个文本框和两个命令按钮,并把两个命令按钮的标题分别设置为“显示”和“清除”。
程序运行后,在文本框中输入一行文字(例如“程序设计”),如果单击第一个命令按钮,则把文本框的内容显示为窗体标题;如果单击第二个命令按钮,则清除文本框中的内容。
三.源代码:
题目1
PrivateSubCommand1_Click()
Text1.FontSize=12
Text1.Text="欢迎使用VisualBasic6.0"
EndSub
PrivateSubCommand2_Click()
Text1.FontSize=12
Text1.Text=""
EndSub
PrivateSubCommand3_Click()
End
EndSub
题目2
PrivateSubCommand1_Click()
Text1.Text="VBProgramming"
Text2.Text="Text1.Text"
Text1.Text="ABCD"
EndSub
题目3
PrivateSubCommand1_Click()
Form1.Caption=Text1.Text
EndSub
PrivateSubCommand2_Click()
Text1.Text=""
EndSub
实验二
一.实验目的:
1.练习使用选择结构。
2.练习使用判断语句解决数学问题。
3.练习使用for循环。
4.词频统计应用。
5.***************。
二.实验内容:
题目1选择结构
编写一个应用程序,界面如下图所示
5.界面上有2个按钮,一个是“出题”按钮,一个是“答题”按钮
6.点击“出题”按钮,在两个标签上显示随机生成的数,数字范围在1~50之间
7.用户看到生成的数字后,计算2个数的和,将值填写到文本框内。
8.点击“答题”按钮。
判断答案填写是否正确。
如果填写正确,弹出“回答正确”;如果错误,也给出提示,并弹出正确答案
题目提示:
1.产生[a,b]内的随机数公式:
Int((b-a+1)*Rnd+a)
2.用户提示,可以用MsgBox
题目2五角星数
一个5位数,它的每一位数字的5次方之和,与它本身的值相等,我们称这样的数为五角数。
请输出所有的五角星数(最终结果有54748,92727,93084)。
设计界面。
例如,54748这个数:
54748=55+45+75+45+85
题目提示:
最小的五位数到最大的五位数内循环,对每一个五位数分离它各个数字,然后求各个数字的5次方之和。
题目3For语句
计算
的值(x>1)。
程序运行时通过文本框输入x和n的值,单击命令按钮,在另一个文本框中输出y的值,运行界面如下图所示。
(参考界面设计,实际结果为1+0.5+0.25+0.125=1.875)
题目4词频统计(选做题)
随机输入一个字母数字字符串(字母不区分大小写,例如A与a相同,Z与z相同),统计字母出现的频率。
例如,当输入字母数字字符串“H2e3LL4Ow5oRLd”,输出字母词频:
h出现1次
e出现1次
l出现3次
o出现2次
r出现1次
d出现1次
三.源代码:
题目1选择结构
PrivateSubCommand1_Click()
Text1.Text=""
Label3.Caption=Int((50-1+1)*Rnd+1)
Label4.Caption=Int((50-1+1)*Rnd+1)
EndSub
PrivateSubCommand2_Click()
Dimx,yAsSingle
x=Label3.Caption
y=Label4.Caption
msg1$="回答正确"
msg2$="回答错误。
正确答案是:
"&x+y
IfText1.Text=x+yThen
PrintMsgBox(msg1$)
Else
PrintMsgBox(msg2$)
EndIf
EndSub
题目2五角星数
PrivateSubCommand1_Click()
Dimi,j,k,l,mAsDouble
DimnumAsDouble
DimnAsDouble
Fori=1To9
Forj=0To9
Fork=0To9
Forl=0To9
Form=0To9
n=i^5+j^5+k^5+l^5+m^5
num=i*10000+j*1000+k*100+l*10+m
If(n=num)Then
Text1.Text=Text1.Text&""&num
EndIf
Next
Next
Next
Next
Next
EndSub
题目3For语句
实验三
一.实验目的:
1.练习while循环的使用。
2.练习滚动条控件的使用。
3.使用image控件显示图像。
4.使用ListBox控件输入输出。
5.使用数组改变数据顺序。
二.实验内容:
题目1打印菱形(while)
使用while循环打印如菱形,要求可通过输入行数n,来控制打印的层数,例如:
输入n=1,打印
*
输入n=3,打印
*
***
*
如当输入n=7,打印
*
***
*****
*******
*****
***
*
提示:
形成菱形的行数只能为奇数,n=1,3,5…,2n+1,因此当n输入不合理,需要给出提示。
题目2标准体重
设计程序实现对标准体重的判断。
程序运行时,选择性别,输入身高和体重,单击“测试”,滚动条会根据计算结果,滑动到“偏瘦”、“标准”或“偏胖”的位置,如图所示。
(1)对于标准体重的计算,公式如下:
男性:
(身高-80)×70%=标准体重
女性:
(身高-70)×60%=标准体重
(2)对于标准身材的判定方法如下:
理想身材范围:
标准体重+20%或-20%;偏胖:
理想体重>20%;偏瘦:
理想体重<20%。
提示:
(1)滚动条表示的范围分为3档,所以滚动条的Min和Max可以设置为0和2。
(2)单击“测试”时,根据身高首先计算标准体重。
利用选择结构,判断Option1的Value如果是True,就按照男性公式计算;如果Option2的Value是True,就按照女性公式计算;
(3)根据标准体重的值,与用户输入的体重值比较,设定滚动条的Value属性取值为0、1、2,分别表示“偏瘦”、“标准”、“偏胖”
题目3移动的图片
1.请先上网搜寻自己喜欢的图片。
2.要求程序运行时的初始界面如图4-17(a)所示,
3.通过拖动滚动条,移动图片位置,如图4-17(b)和4-17(c)所示。
4.提示:
利用Image显示图片,通过设定image控件的left属性移动图片。
(a)(b)(c)
5.完成实验后,窗体文件(.frm)和工程文件(.vbp)以及图片打包为zip/rar压缩文件,并将压缩文件重命名为学号后2位姓名.zip,例如,17李明.zip。
文件夹包括内容:
题目4数组逆转
1.程序运行时单击窗体,依次探出如图(a)所示的输入框(用ListBox控件来做)。
2.要求点击input后,可以依次输入6个整数,保存在一个一维数组中;
3.然后点击reverse之后,可以将数组元素的值进行逆序存放,之后输出,如图(b)所示。
提示:
逆序前数组中的第1个元素的值,在逆序后,应该变成第6个元素的值,依次类推。
(a)
(b)
三.源代码:
题目1打印菱形(while)
PrivateSubCommand1_Click()
Picture1.Cls
Dimn,m,i,XAsInteger
n=Text1.Text
If(nMod2=0)Or(n<0)Then
PrintMsgBox("n不符合要求,请重新输入!
",0,"错误")
Else
X=n
i=1
Whilen>0
Dima(100)AsString
m=0
Whilem<(i*2-1)
a(m)="*"
m=m+1
Wend
Picture1.PrintTab((n+1)/2);
Forj=0To(i*2-1)
Picture1.Printa(j);
Nextj
Picture1.Print
i=i+1
Erasea
n=n-2
Wend
X=X-2
n=3
WhileX>0
m=0
Whilem a(m)="*" m=m+1 Wend Picture1.PrintTab((n+1)/2); Forj=0To(i*2-1) Picture1.Printa(j); Nextj Picture1.Print Erasea X=X-2 n=n+2 Wend EndIf EndSub 题目2标准体重 PrivateSubCommand1_Click() Dima,b,c,x,yAsInteger x=Text1.Text y=Text2.Text IfOption1=TrueThen a=(x-80)*0.7 ElseIfOption2=TrueThen a=(x-70)*0.6 EndIf b=a*0.8 c=a*1.2 Ify HScroll1.Value=0 ElseIfy>cThen HScroll1.Value=2 Else HScroll1.Value=1 EndIf EndSub 题目3移动的图片 PrivateSubHScroll1_Change() Image1.Left=HScroll1.Value+840 EndSub 题目4数组逆转 Dima(6),tAsInteger PrivateSubCommand1_Click() List1.Clear Fori=0To5 a(i)=InputBox("请输入一位数") List1.AddItem(a(i)) Nexti EndSub PrivateSubCommand2_Click() List2.Clear Fori=0To2 t=a(i) a(i)=a(5-i) a(5-i)=t Nexti Fori=0To5 List2.AddItem(a(i)) Nexti EndSub 实验四 一.实验目的: 1.利用VB求函数值。 2.练习数组的使用。 3.练习function过程的使用。 4.分数计算。 5.表达式求值。 二.实验内容: 题目1数组练习—分数统计 单击“输入”,利用InputBox输入6个百分制成绩;单击“输出”,统计出成绩平均分,并显示来;统计出高于平均分(含等于)的学生成绩,显示出来。 题目2过程&数组练习—Fibonacci数列 自由设计界面,用数组求得Fibonacci数列(112358132134…)的前20项。 点击按钮“Fibonacci数列”,按照每行5个输出到Listbox,Fibonacci数列数学描述式为: F(i)=F(i-2)+F(i-1)。 (a)前20项,每行5个输出到Listbox中 提示: 换行符: vbCrLf 题目3过程练习—分数计算 编写一个求三个数最大值的函数 和最小值函数 。 然后调用此函数求下列表达式的值。 要求定义表达式如下: 运行界面如下图1所示,首先在文本框中输入a,b,c三个数,然后单击“表达式计算”按钮,在文本框中输入表达式的值m。 题目4过程练习—表达式求值 自行设计界面,用户可以输入一个整数n,单击窗体上的“计算”按钮,求解-1+(1+2)-(1+2+3)+…+(-1)n(1+2+3...+n),其中n<6。 (1)定义Function过程sum(),可求解(-1)n(1+2+3...+n) (2)在“计算”按钮单击事件中,取得输入的n,调用sum()过程,求得-1+(1+2)-(1+2+3)+…+(-1)n(1+2+3...+n),并显示出来。 三.源代码: 题目1数组练习—分数统计 PrivateSubCommand1_Click() Dimscore(6),sum,sAsInteger DimaveAsDouble sum=0 msg$="请依次输入百分制成绩" Fori=1To6 score(i)=InputBox(msg$,"请输入六个成绩") sum=sum+score(i) Nexti ave=sum/6 Text1.Text=ave Fori=1To6 If(score(i)>ave)Then msg1$=score(i) Text2.Text=msg2$+msg1$+"" msg2$=Text2.Text EndIf Nexti EndSub PrivateSubCommand2_Click() End EndSub 题目2过程&数组练习—Fibonacci数列 PrivateSubCommand1_Click() Dimf(20)AsInteger f(0)=0 f (1)=1 Fori=2To20 f(i)=f(i-2)+f(i-1) Nexti j=1 Fork=1To4 Fori=1To5 msg1$=f(j) msg$=msg$+msg1$+"" j=j+1 Nexti List1.AddItemmsg$ List1.AddItemvbCrLf msg$="" Nextk EndSub 题目3过程练习—分数计算 PublicFunctionmax(ByValaAsDouble,ByValbAsDouble,ByValcAsDouble)AsDouble max=a Ifa max=b Ifmax max=c EndIf EndIf EndFunction PublicFunctionmin(ByValaAsDouble,ByValbAsDouble,ByValcAsDouble)AsDouble min=a Ifa>bThen min=b Ifmin>cThen min=c EndIf EndIf EndFunction PrivateSubCommand1_Click() Dima,b,c,mAsDouble a=Val(Text1.Text) b=Val(Text2.Text) c=Val(Text3.Text) m=max(a,b,c)/(min(a+b,b,c)*max(a,b,b+c)) Text4.Text=m EndSub 题目4过程练习—表达式求值 Functionsum(ByValnAsInteger)AsInteger Fori=1Ton sum=sum+i Nexti EndFunction PrivateSubCommand1_Click() n=Text1.Text Fori=1Ton x=x+((-1)^i)*sum(i) Nexti Text2.Text=x EndSub PrivateSubCommand2_Click() End EndSub 实验五 一.实验目的: 1.了解VB界面如何添加控件。 2.认识串行通信控件。 3.使用VB控制串口的打开与关闭、连接与断开。 4.利用串口发送和接受信息。 二.实验内容: 程序设计界面图下图所示。 在工程中添加串行通信控件(该控件在运行时不可见),并放入表单中,将属性Rthreshold从默认的0改为1,其他属性不变;将表单名改为frmMain,在表单中添加两个标签(Label),将Caption属性分别命名为“接受”和“发送”;添加两个文本框,将Text属性清空,并分别将Name属性更改为txtReceive与txtSend;添加三个命令按钮,分别将Name属性更改为cmdOpen、cmdClose、cmdSend,并将Caption属性一次更改为“打开”、“关闭”与“发送”,将cmdClose与cmdSend的Enable属性更改为False。 实现功能: 点击“打开”按钮,将虚拟串口“COM1”和“COM2”相连;此时在“发送”文本框内输入任意字符串“abc”;点击“发送”按钮;在“接收”文本框内出现发送的字符串“abc”。 点击“关闭”按钮,关闭串口,此时再发送字符串,接收不到字符串。 三.源代码: PrivateSubcmdClose_Click() MSComm1.PortOpen=False MSComm2.PortOpen=False cmdSend.Enabled=False cmdClose.Enabled=False EndSub PrivateSubcmdOpen_Click() MSComm1.PortOpen=True MSComm2.PortOpen=True cmdSend.Enabled=True cmdClose.Enabled=True EndSub PrivateSubcmdSend_Click() MSComm1.Output=txtSend.Text+"" txtReceive.Text=txtReceive.Text+MSComm2.Input EndSub PrivateSubForm_Load() MSComm1.CommPort=2 MSComm1.Settings="9600,n,8,1" MSComm1.InputMode=0 MSComm1.RThreshold=1 MSComm2.CommPort=3 MSComm2.Settings="9600,n,8,1" MSComm2.InputMode=0 MSComm2.RThreshold=1 EndSub 总结: 通过对《VisualBasic程序设计教程》的学习,让我初步了解了VB的一些基本知识、基本语法、编程方法和常用算法。 刚进行VB学习时,感觉这门课程很枯燥、晦涩、难懂,不明白它为什么会引起那么多编程爱好者的学习兴趣,那时候我总认为这些人是怪胎、天才。 这学期在张老师的带领下,我走进了VB的世界,那些VB的控件、按钮和代码是那么的难懂、更不用谈自己编程了。 但我并没有因此放弃学习,在张老师的教导下,我渐渐掌握了VB的编程方法,已经可以编一些小程序了。 自己渐渐有了自信去学习VB了! 通过这几次的实验检验了自己的的学习成果,虽然实验有点难度,但最后在老师的指导下成功完成。 一学期是VB课程学习结束了,但我对VB的学习还要加强,对一些较复杂的VB程序的编程还是很吃力。 在学习VB后,我明显感觉到在生活中的心思更加缜密了,对于问题的分析能力有了一点提高! 在学习VB中,懂得了团队的力量也知道了个人的力量是有限的,有些事还是要集体的努力。 对于一些不懂的问题在经过思考之后还是难以解决的还是要去问老师和同学,这样既能增进感情交流又能节约时间。 在这里要感谢张老师和罗老师耐心的指导和热心的帮助,因为自己的能力有限常常麻烦老师。 ........忽略此处.......
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 监控 系统 程序设计