- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Microsoft visual basic60实验报告
太原工业学院计算机工程系
实 验 报 告
课程名称VB程序设计班级实验日期姓 名学号实验成绩实验名称过程的应用实
验
目
的
及
要
求(1)掌握过程的定义和调用方法。
(2)分清子过程和函数过程的异同。
(3)理解参数传递方式。
(4)掌握递归概念和使用方法。
实
验
环
境Microsoft visual basic6.0实
验
内
容1. 编写一函数过程,判断一正整数是否是回文数,函数类型是布尔型。所谓回文数是指顺读和倒读数字相同,即最高位与最低位相同,次高位与次低位相同,依次类推。当只有1位数时,也认为是回文数。例如:124737421,767,5
2. 先产生100个0~67之间的随机数,编写一子过程计算这些随机数的平均值、最大值、最小值。
3、求两个整数的最大公约数。
方法1:编写一函数过程实现,采用前面讲过的“辗转相除法”。
方法2:用递归过程实现。
算
法
描
述
及
实
验
步
骤 1.回文数
(1)读入数字字符串
(2)用mid函数和for循环将字符串从后往前重写,需要用到“”
(3)判断两个字符串是否相等,若想等则是回文数字符串,若不等则不是
2.随机数
(1)使用for循环和rnd()函数产生100个0-67之间的随机数并储存为长度为100的数组
(2)求最大、最小值
(3)用累加的方法求出100个数的和
(4)求平均值
3.最大公约数
(1)辗转相除法
以a除b所得余数若不是零则余数作为新的除数除以原来的除数取余,若不为零重复,若为零则除数就是最大公约数
(2)递归
编写函数过程a对b求余为r
判断r是否为零
是零函数结果为b
不是零是则再次调用该函数过程调
试
过
程
及
实
验
结
果回文数
随机数
最大公约数
方法一
方法2
调试
1.错误
错误描述:计算得到的最大公约数不正确
原因:双分支的If语句中调用过程是参数给错,应该为gcm=gcm(y,r),但写成了gcm=gcm(x,r)。(gcm是函数过程名。)
改正:将第一个参数改为y
2.改进:该函数过程的两个参数x、y均可使用按值传递方式。
总
结在使用函数过程时,因为计算结果可以返回,所以只要求计算结果的程序中所有参数均可按值传递,而子过程则要根据具体情况而定。
在使用随机函数的过程中,不要忘记加Randomize。
参数的名称和位置很重要,一定要搞清楚每一个参数名所代表的意义并注意它应该出现的位置。
使用递归算法时的结构一般是一个双分支If语句,一支是结束递归的条件,另一支是递归表达式。附
录回文数
Private Sub Command1_Click()
If IsNumeric(Text1.Text) = False Then
MsgBox 请输入数字
Text1.Text =
Text1.SetFocus
Else
Select Case huiwen(Text1.Text)
Case True
Text3.Text = 是回文数
Case False
Text3.Text = 不是回文数
End Select
End If
End Sub
Private Sub Command2_Click()
Text1.Text =
Text3.Text =
Text1.SetFocus
End Sub
Private Function huiwen(ByVal a As String) As Boolean
Dim i As Integer
Dim d As String
For i = 1 To Len(a)
d = Mid(a, i, 1) d
Next i
If Val(a) = Val(d) Then
huiwen = True
Else
huiwen = False
End If
End Function
随机数
文档评论(0)