




免费预览已结束,剩余15页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实 验 报 告 四课 程VB程序设计实验项目VB过程与函数设计(6学时)成 绩专业班级石油工程2017姓 名万佳宁学 号201731011301实验日期6.6实验目的(1)掌握Function过程和Sub过程的定义与调用(2)理解参数按址传递和按值传递的本质(3)理解变量和过程的作用域(4)能熟练运用Function过程和Sub过程解决实际问题、简化程序实验内容【实验1】编写Function函数程序实现计算n!。程序界面如下图所示。(5分)掌握函数过程的定义及使用实验结果:【实验1 代码】Private Sub Command1_Click()n = Val(Text1.Text)Text2.Text = jiecheng(n)End SubPrivate Function jiecheng(a)t = 1For i = 1 To a t = t * iNext ijiecheng = tEnd FunctionPrivate Sub Command2_Click()EndEnd Sub【实验1 典型结果】【实验2】编写Sub子函数过程实现计算n!。程序界面同上题。(5分)掌握Sub子过程的定义及使用实验结果:【实验2 代码】Private Sub Command1_Click()n = Val(Text1.Text)Call jiecheng(n, t)Text2.Text = tEnd SubSub jiecheng(a, t)t = 1For j = 1 To a t = t * jNext jEnd SubPrivate Sub Command2_Click()EndEnd Sub【实验2 典型结果】【实验3】编写计算 n! 的函数过程,调用该过程,计算1!+2!+3!+10!之和(5分)掌握使用Function过程简化多重循环的方法,即把具有单一功能的内循环放到函数内部函数的作用是简化程序,不要把双重循环都放到函数内,无法达到简化程序的目的实验结果:【实验3 代码】Private Sub Form_Click()n = Val(InputBox(1)For j = 1 To n b = b + jiecheng(j)Next jPrint bEnd SubFunction jiecheng(a)t = 1For i = 1 To a t = t * iNext ijiecheng = tEnd Function【实验3 典型结果】【实验4】编写计算 n! 的子过程,调用该过程,计算1!+2!+3!+10!之和(5分)掌握使用Sub过程简化多重循环的方法,即把具有单一功能的内循环放到函数内部函数的作用是简化程序,不要把双重循环都放到函数内,无法达到简化程序的目的实验结果:【实验4 代码】Private Sub Form_Click()n = Val(InputBox(1)For i = 1 To n Call jiecheng(i, b) c = c + bNext iPrint cEnd SubSub jiecheng(a, b)t = 1For j = 1 To a t = t * jNext jb = tEnd Sub【实验4 典型结果】【实验5】编写计算 xn/n! 的函数过程,调用该过程,计算ex的近似值(10分)ex=1+x/1! +x2/2!+x3/3!+ +xn/n!要求:1)x的值用InputBox函数输入 2)要求精度:xn/n!0.000001掌握使用函数过程简化多重循环的方法实验结果:【实验5 代码】Function jiecheng(a)t = 1For i = 1 To a t = t * iNext ijiecheng = tEnd FunctionPrivate Sub Command1_Click()Dim b As Longx = Val(Text1.Text)d = 1Do i = i + 1 b = jiecheng(i) c = x i d = d + c / bLoop Until c / b n - 1 Then flag = 1Else flag = 0End Ifsushu = flagEnd Function【实验6 典型结果】【实验7】编写程序验证100以内数的哥德巴赫猜想(任意一个大于6的偶数可以表示成两个素数之和),要求素数判断用函数过程实现。(10分)掌握使用函数过程简化多重循环的方法实验结果:【实验7 代码】Private Sub Command1_Click()List2.ClearList1.Clearn = Val(Text1)For i = 2 To n - 2 If sushu(i) = 1 And sushu(n - i) = 1 Then List1.AddItem i List2.AddItem n - i End IfNext iEnd SubFunction sushu(a)For j = 2 To a - 1 If a Mod j = 0 Then Exit ForNext jIf j a - 1 Then sushu = 1Else sushu = 0End IfEnd Function【实验7 典型结果】【实验8】编写一个通用的Function函数过程,求出数组中的最大值。已知数组中的数据为(101,52,38,96,182,100,25,78,66,89),程序界面设计如下图所示。(10分)掌握Function过程中数组作为参数传递的方法实验结果:【实验8 代码】Private Sub Command1_Click()Dim num()num = Array(101, 52, 38, 96, 182, 100, 25, 78, 66, 89)Text1 = max(num()End SubFunction max(num()t = num(0)For i = 0 To UBound(num) - 1 If num(i) t Then t = num(i)Next imax = tEnd Function【实验8 典型结果】【实验8 问题】请总结一下哪些情况使用Function过程更加合适、哪些情况使用sub过程更加合适。需要返回值用function不需要返回值时用sub更合适【实验9】分别编写按地址传递交换、按值传递交换两个数的过程子程序代码swap1()和swap2()。程序界面设计如下图所示。(10分)掌握Sub过程参数传递方法实验结果:【实验9 代码】Private Sub Command1_Click()a = 10: b = 20huan1 a, bPrint 按址传递前:; a=10; b=20Print 按址传递后:; a=; a; b=; bEnd SubSub huan1(a, b)t = aa = bb = tEnd SubPrivate Sub Command2_Click()a = 10: b = 20huan2 a, bPrint 按值传递前:; a=10; b=20Print 按值传递后:; a=; a; b=; bEnd SubSub huan2(ByVal a, ByVal b)t = aa = bb = tEnd Sub【实验9 典型结果】【实验10】编写程序,利用sub过程,输出由字符组成的菱形,通过三次调用输出三个不同字符组成的菱形。(10分)灵活运用函数过程和子过程解决实际问题实验结果:【实验10 代码】Sub lingxing(a As String)For i = 1 To 5 Print Tab(10 - i); For j = 1 To i * 2 - 1 Print a; Next j PrintNext iFor i = 4 To 1 Step -1 Print Tab(10 - i); For j = 1 To i * 2 - 1 Print a; Next j PrintNext iPrintEnd SubPrivate Sub Command1_Click()lingxing yuansulingxing yuansulingxing yuansuEnd SubFunction yuansu() As Stringyuansu = InputBox(字符)End Function【实验10 典型结果】【实验11】编写程序,利用Sub过程实现将任意一个十进制数n分别转换成2进制、8进制和16进制数。要求:在文本框中得到要转换的十进制数n,在事件过程中调用Sub过程得到转换后的3个结果,在窗体上打印出结果。(10分)综合案例实验结果:【实验11 代码】【实验11 典型结果】【实验12】编写程序,利用Function函数过程的递归调用方式计算n!。程序界面如下图所示。(10分)掌握Function过程的递归调用实验结果:【实验12 代码】Private Sub Command1_Click()n = Val(Text1)Text2 = jiecheng(n)End SubFunction jiecheng(a)If a = 1 Then jiecheng = 1Else jiecheng = jiecheng(a - 1) * aEnd IfEnd FunctionPrivate Sub Command2_Click()EndEnd Sub【实验12 典型结果】【选做1】编写程序,利用Sub子程序递归调用方式计算两个数M、N的最大公约数,其中MN,且N0。程序界面如下图所示。(+10分,总分最高100)掌握Sub过程的递归调用实验结果:【选做1 代码】Private Sub Command1_Click()m = Text1n = Text2Text3 = yue(m, n)End SubFunction yue(a, b)r = a Mod bIf r = 0 Then yue = bElse yue = yue(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 万宁市从业资格证考试及答案解析
- 证券从业压线考试及答案解析
- 治金企业安全管理题库及答案解析
- 压缩气体安全培训试题及答案解析
- 安徽会计从业资格考试题及答案解析
- 微免护理题库及答案解析
- 2026届新疆沙湾县七年级数学第一学期期末综合测试模拟试题含解析
- 福建省福州市台江区2026届数学九上期末监测试题含解析
- 公司安全防火防盗协议书5篇
- 【语文】湖南省长沙德馨园小学三年级下册期末复习试卷(含答案)
- 世界语与英语的词汇对比分析论文
- 四巧板100例图形详解
- 2025年度建筑公司分公司市场拓展合作合同
- 《林氏木业供应链管理现状、问题及优化建议》14000字(论文)
- 研发项目管理流程
- 八年级英语组工作总结
- 《船用格栅》规范
- 重大(2023)版信息科技五年级上册教学设计
- 《出师表》原文及英文对照版-20210722094410
- 实验室装修工程设计书
- 2024-2025学年人教版八年级英语上册Unit 2 测试卷
评论
0/150
提交评论