- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验十四过程续
实验十四 过程(续)
【实验目的】
1、掌握自定义子过程以及函数过程的定义和调用方法;
2、掌握形参和实参对应关系;
3、掌握值传递和地址传递的传递方式以及区别。
【实验内容】
1、
窗体1:主窗体,放置按扭,准备调用其他窗体;
窗体2:输入一个数,显示它是否幸运数;
幸运数:指前两位数字之和等于后两位数字之和的数。
窗体3:输入两个数,显示它们之间的所有幸运数;
窗体4:输入一个数,显示比它小的最大幸运数;
【提示】
编写判断一个四位数是否幸运数的函数过程sum(返回值是逻辑型),放在主窗体中。注意,函数过程是必须是全局级的(即在函数定义时加Public或者缺省,但一定不能加Private),否则其他窗体不能调用,调用时要在函数名前加窗体名,如:Form1.sum(text1.text)
先添加几个窗体并分别设置相应的控件及属性,并正确设置启动窗体。程序代码中利用多窗体的语句和方法将需要的窗体载入内存,不需要的窗体可隐藏或从内存中删去。
Private Sub Command1_Click(Index As Integer)
Select Case Index
Case 0
Form2.Show
Case 1
Form3.Show
Case 2
Form4.Show
Case Else
End
End Select
End Sub
Public Function sum(s$) As Boolean
Dim n%(4)
For i = 1 To 4
n(i) = Val(Mid(s, i, 1))
Next
sum = IIf(n(1) + n(2) = n(3) + n(4), True, False)
End Function
Private Sub Command1_Click()
If Form1.sum(Text1.Text) Then
Label1.Caption = Text1 是幸运数
Else
Label1.Caption = Text1 不是幸运数
End If
End Sub
Private Sub Command2_Click()
Unload Form2
End Sub
Private Sub Command1_Click()
List1.Clear
If Val(Text1) Val(Text2) Then
a = 1
Else
a = -1
End If
For i = Val(Text1) To Val(Text2) Step a
If Form1.sum(CStr(i)) Then List1.AddItem CStr(i)
Next i
End Sub
Private Sub Command2_Click()
Unload Form3
End Sub
Private Sub Command1_Click()
n = Val(Text1) - 1
Do While True
If Form1.sum(CStr(n)) Then
Label1.Caption = CStr(n)
Exit Do
Else
n = n - 1
End If
Loop
End Sub
Private Sub Command2_Click()
Unload Form4
End Sub
2、编写一函数过程FunMax( a( ) ),求一维数组a中的最大值。主调程序随机产生10个-100到100之间的整数,调用FunMax函数过程,显示数组的最大值。
Option Base 1
Dim a()
Private Sub Command1_Click()
Randomize
ReDim a(10)
For i = 1 To 10
a(i) = Int(Rnd * 201 - 100)
Print a(i);
If i Mod 5 = 0 Then Print
Next i
Print
End Sub
Private Sub Command2_Click()
ProcMax a, mmax
Print 调用过程求最大数:; mmax
End Sub
Private Sub Command3_Click()
Print 调用函数求最大数:; Funmax(a)
End Sub
Private Sub Command4_Click()
End
End Sub
Sub ProcMax(b(), pmax)
pmax = b(LBound(b))
For j = LBound(b) + 1 To UBound(b)
If pmax b(j) Then pmax = b(j)
Next j
En
文档评论(0)