VB实验345 过程1.docx
- 文档编号:10439548
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:16
- 大小:297.59KB
VB实验345 过程1.docx
《VB实验345 过程1.docx》由会员分享,可在线阅读,更多相关《VB实验345 过程1.docx(16页珍藏版)》请在冰豆网上搜索。
VB实验345过程1
实验3Sub过程
一.目的和要求
(1)熟练掌握代码编辑窗口操作。
(2)掌握Sub过程的定义。
(3)熟练掌握Sub过程的参数传递。
(4)掌握Sub过程变量的有效范围。
二.内容和步骤
在VB.NET中,过程分为事件过程和通用过程。
事件过程在前面已练习过,下面主要练习通用过程。
通用过程的定义与事件过程相同,它直到被调用时才起作用。
过程调用时的参数传递分为按地址和按值传递两种。
通用过程的有效范围可分为Public和Private,存储类型可以使用局部变量,在本过程结束就释放。
也可以用Static定义过程中所有的变量为静态变量,在调用结束后仍保留其值。
【实验4-1】编写程序实现:
插入排序。
(要求使用通用过程)
参考课本105页上机练习二
PublicClassForm1
InheritsSystem.Windows.Forms.Form
ConstN=10'常量,表示数组元素个数
DimArr(N-1)AsInteger'定义数组
PrivateSubIns_sort(ByValSort()AsInteger)
Dimi,k,temp,NAsInteger
N=UBound(Sort,1)
Fori=1ToN'本循环用来实现插入排序
temp=Sort(i)
Fork=i-1To0Step-1'本循环找到应插入的位置并移动数组元素
If(temp>Sort(k))Then
ExitFor
Else
Sort(k+1)=Sort(k)'元素位置后移
EndIf
Nextk
Sort(k+1)=temp'插入到该位置处
Nexti
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimiAsInteger
Randomize()'随机数初始化
TextBox1.Text=""
Fori=0ToN-1'本循环的功能是产生数组元素值并显示
Arr(i)=Int(90*Rnd())+10
TextBox1.Text=TextBox1.Text+CStr(Arr(i))+""
Nexti
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
DimiAsInteger
CallIns_sort(Arr)'调用插入排序过程
TextBox2.Text=""
Fori=0ToN-1'显示排序后的数组各元素值
TextBox2.Text=TextBox2.Text+CStr(Arr(i))+""
Nexti
EndSub
EndClass
【实验4-2】编写程序实现:
用选择法对数组中的整数按由小到大排序(要求使用通用过程)
选择排序算法:
先将数组a中的最小数与第一个元素a(0)比较,当a(0)大时就对换;再将数组中剩余数中最小数与第二个元素a
(1)比较,当a
(1)大时就对换;依次类推。
每比较一轮,在未排序的数中找出最小的一个与数组前面的数对换,直到整个数组比较完为止。
PublicClassForm1
DimNAsInteger
Dima()AsInteger
PrivateSubSort(ByValb()AsInteger)
DimiAsInteger,jAsInteger
DimminAsInteger,tempAsInteger
Fori=0ToN-2
min=i
Forj=i+1ToN-1
Ifb(min)>b(j)Thenmin=j
Nextj
temp=b(i)
b(i)=b(min)
b(min)=temp
Nexti
EndSub
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
DimiAsInteger
Randomize()
IfVal(TextBox1.Text)>0AndIsNumeric(Val(TextBox1.Text))Then
N=Val(TextBox1.Text)
ReDima(N)
Fori=0ToN-1
a(i)=Int(100*Rnd())
TextBox2.Text=TextBox2.Text&a(i)&""
Nexti
Else
MsgBox("数据个数出错!
",,"数据个数")
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimiAsInteger
CallSort(a)
Fori=0ToN-1
TextBox3.Text=TextBox3.Text&a(i)&""
Nexti
EndSub
EndClass
【实验4-3】编写程序实现:
计算三角形面积(要求使用通用过程)
要求:
在按钮Click事件过程中调用计算三角形面积的子过程area,并在窗体中显示出结果。
PublicClassForm1
PrivateSubarea(ByValxAsSingle,ByValyAsSingle,ByValzAsSingle,ByRefsAsSingle)
DimpAsSingle
p=(x+y+z)/2
s=Math.Sqrt(p*(p-x)*(p-y)*(p-z))
EndSub
PrivateSubcmdStart_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimaAsSingle,bAsSingle,cAsSingle
DimsAsSingle
a=Val(TextBox1.Text)
b=Val(TextBox2.Text)
c=Val(TextBox3.Text)
Callarea(a,b,c,s)
TextBox4.Text=Int(s*100)/100
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
End
EndSub
EndClass
实验4Function过程
一.目的和要求
(1)掌握Function过程的定义和调用。
(2)掌握变量的有效范围和静态存储。
(3)掌握递归过程的定义和调用。
二.内容和步骤
与Sub过程不同,Function过程可返回一个值到调用过程,也可以放弃返回值。
Function过程要定义函数的数据类型,它在调用时的参数传递分为按地址和按值传递两种。
【实验5-1】编写求n!
的通用过程,并且求出1!
+2!
+…+10!
PublicClassForm1
PublicFunctionjc(ByRefnAsInteger)AsInteger
DimiAsInteger
DimaAsInteger=1
DimsumAsDouble
Fori=1Ton
a=a*i
sum=sum+a
Next
jc=sum
EndFunction
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
DimsumAsDouble
DimmAsInteger
m=Int(Val(TextBox1.Text))
sum=jc(m)
TextBox2.Text=CStr(sum)
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
End
EndSub
EndClass
【实验5-2】分别编写求两个数的最大公约数和最小公倍数的Function过程,并编程实现任意两个整数的最大公约数和最小公倍数。
PublicClassForm1
Dimnum1,num2AsInteger
FunctionGcd(ByValmAsInteger,ByValnAsInteger)AsInteger
DimrAsInteger
r=mModn
DoWhiler<>0
m=n
n=r
r=mModn
Loop
Gcd=n
EndFunction
PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
num1=Val(TextBox1.Text)
num2=Val(TextBox2.Text)
TextBox3.Text=Gcd(num1,num2)
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
num1=Val(TextBox1.Text)
num2=Val(TextBox2.Text)
TextBox4.Text=num1*num2/Gcd(num1,num2)
EndSub
PrivateSubTextBox3_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox3.TextChanged
EndSub
EndClass
实验5常用控件
一.目的和要求
(1)掌握文本框的属性和事件代码。
(2)掌握启动窗体的方法。
(3)掌握标签的属性和事件代码。
(4)掌握文本框控件的用法
(5)掌握按钮事件代码。
(6)掌握时钟控件的用法
(7)掌握TabControl控件的用法
二.内容和步骤
【实验5-1】实现登陆界面如图5-1所示:
图5-1登陆界面
要求:
用户名和密码不能为空,若为空,给出错误提示;密码长度要求为8个字符,若密码长度不是8个字符,同样给出错误提示,如图5-2所示。
若输入的信息符合要求,则弹出图5-3的提示信息。
PublicClassForm1
PrivateSubTextBox1_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox1.TextChanged
IfTextBox1.TextLength>=8Then
TextBox1.Text=Mid(TextBox1.Text,1,8)
TextBox1.SelectionStart=TextBox1.TextLength
EndIf
EndSub
PrivateSubTextBox2_TextChanged(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTextBox2.TextChanged
TextBox2.PasswordChar="*"
IfTextBox2.TextLength>=8Then
TextBox2.Text=Mid(TextBox2.Text,1,8)
TextBox2.SelectionStart=TextBox2.TextLength
EndIf
EndSub
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
IfTextBox2.Text=""Then
MsgBox("密码不能为空!
",,"提示")
ElseIfTextBox1.Text=""Then
MsgBox("帐号不能为空!
",,"提示")
ElseIfTextBox2.TextLength<8Then
MsgBox("密码长度是!
",,"提示")
ElseIfTextBox1.TextLength=8AndTextBox2.TextLength=8Then
MsgBox("欢迎来到VB.NET世界!
",,"提示")
EndIf
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
End
EndSub
EndClass
图5-2登录失败的错误提示
图5-3登陆成功信息提示
【实验5-2】设计利用定时器控件制作秒表。
PublicClassForm1
DimMinSecAsInteger
DimSecAsInteger
DimMinuteAsInteger
DimHourAsInteger
PrivateSubButton1_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton1.Click
Timer1.Enabled=True
EndSub
PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton2.Click
Timer1.Enabled=False
EndSub
PrivateSubButton3_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesButton3.Click
Timer1.Enabled=False
Hour=0
Minute=0
MinSec=0
Sec=0
Label1.Text=Format(Hour,"00")&"时"&Format(Minute,"00")&"分"&Format(Sec,"00")&"秒"&Format(MinSec,"00")
EndSub
PrivateSubTimer1_Tick(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesTimer1.Tick
MinSec=MinSec+1
IfMinSec=100Then
MinSec=0
Sec=Sec+1
IfSec=60Then
Sec=0
Minute=Minute+1
IfMinute=60Then
Minute=0
Hour=Hour+1
Else
EndIf
Else
EndIf
Else
EndIf
Label1.Text=Format(Hour,"00")&"时"&Format(Minute,"00")&"分"&Format(Sec,"00")&"秒"&Format(MinSec,"00")
EndSub
EndClass
【实验5-3】利用TabControl控件设计实现课本160页图7-33程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB实验345 过程1 VB 实验 345 过程
![提示](https://static.bdocx.com/images/bang_tan.gif)