




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第7章 过 程71 编写程序,利用Sub过程计算下式的值:s=a!+b!+c!a,b,c的值由键盘输入【参考答案】程序代码设计Private Sub Form_Click() Dim s As Integer, n As Integer For i = 1 To 3 n = InputBox(n=) Call fact(n, f) s = s + f Next i Print s=; sEnd SubPrivate Sub fact(n, f) f = 1 For i = 1 To n f = f * i Next i图7-1程序运行结果End Sub运行结果:如a、b、c的值分别输入为4、5
2、、6则程序运行结果如图7-1所示:72 编写程序,打印100200之间的所有素数。要求:(1) 每行输出5个素数。(2) 利用Function过程判断每个数是否为素数,是返回1,否则返回0。【参考答案】程序代码设计Private Sub Form_Click() Print 2; k = 1 For i = 3 To 100 f = prime(i) If f = 1 Then k = k + 1 If k Mod 5 = 0 Then Print i Else Print i; End If Next iEnd SubPrivate Function prime(n) prime = 1图7
3、-2程序运行结果 For i = 2 To n - 1 If n Mod i = 0 Then prime = 0: Exit For Next iEnd Function程序运行结果如图7-2所示:73 编写程序,利用Function过程计算下式的值: (1+2+3+m)+(1+2+3+n) y = (1+2+3+p) 【参考答案】程序代码设计Private Sub Form_Click() m = Val(InputBox(输入m:) n = Val(InputBox(输入n:) p = Val(InputBox(输入p:) y = (sum(m) + sum(n) / sum(p) Pr
4、int sum=; yEnd SubPrivate Function sum(n) s = 0 For i = 1 To n s = s + i Next i sum = sEnd Function运行结果:如输入m值为:20,n值为:15,p值为:10图7-3程序运行结果则程序运行结果如图7-3所示:74 编写Function过程计算n!,调用该函数过程计算下式的值:S=1+1/(1+4!)+1/(1+4!+7!)+1/(1+4!+19!)【参考答案】程序代码设计Private Sub Form_Click() s = 0 t = 0 For i = 1 To 19 Step 3 t = t
5、 + fact(i) s = s + 1 / t Next i Print s=; sEnd SubPrivate Function fact(n) f = 1 For i = 1 To n f = f * i Next i fact = fEnd Function图7-4程序运行结果程序运行结果如图7-4所示。 x x2 x3 xn 7-5计算 ex = 1 + + + + + 1! 2! 3! n! xn 设x=1,2,3,4,5,6 时,分别打印ex 的值,要求精度 0.0001 n! 用Function过程计算n!,调用该过程,计算上式的值。【参考答案】程序代码设计Private Su
6、b Form_Click() For x = 1 To 6 Sum = 1 t = 1 n = 0 Do n = n + 1 t = t * x term = t / fact(n) Sum = Sum + term Loop Until term 0.0001 Print e; x; =; Sum Next xEnd SubPrivate Function fact(n) f = 1 For i = 1 To n f = f * i Next i fact = fEnd Function程序运行结果如图7-5所示:图7-5程序运行结果76编写两个Function过程,分别计算40,16,34
7、,26,52的最大公约数和最小公倍数。【参考答案】程序代码设计Private Sub Form_Click() Dim a(1 To 5) As Integer a(1) = 40 a(2) = 16 a(3) = 34 a(4) = 26 a(5) = 52 a1 = a(1) a2 = a(2) b = gcd(a1, a2) d = b c = a(1) * a(2) / b For i = 3 To 5 a1 = c a2 = a(i) b = gcd(a1, a2) c = c * a(i) / b Next i Print 最小公倍数为:; c For i = 3 To 5 d =
8、 gcd(d, a(i) Next i Print 最大公约数为:; dEnd SubPrivate Function gcd(x, y) If x y Then t = x x = y y = t End If r = x Mod y Do While r 0 x = y y = r r = x Mod y Loop gcd = yEnd Function图7-6程序运行结果程序运行结果如图7-6所示:77利用Function过程计算下式的值: cos2x (0 x) f(x)= int(6x2-5x+1) (0 x3) e3-x (3x) 调用该Function过程计算f(f(f(a)+f
9、(f(2+f(b)的值。a,b的值由键盘输入。【参考答案】程序代码设计Private Sub Form_Click() a = Val(InputBox(输入a的值:) b = Val(InputBox(输入b的值:) t = f(f(f(a) + f(f(2 + f(b) Print 计算结果:; tEnd Sub图7-7程序运行结果Private Function f(x) If x 0 Then f = Cos(2 * x) ElseIf x Max Then Max = x(i, j) m = j End If Next jEnd Sub图7-8程序运行结果Private Sub ld
10、(x() As Integer, j, n) Max = x(1, j) n = 1 For i = 2 To 5 If x(i, j) Max Then Max = x(i, j) n = i End If Next iEnd Sub程序运行结果如图7-8所示:79 编写程序,要求该程序在输入某人的编号、实发工资数额后,自动确定发给多少张一百元、五十元、十元、五元、一元、五角、一角、五分、一分的钞票,并输出实发工资总额和所需各种钞票的总数目。(要求用Sub过程处理除一百元以外的钞票的数目)【参考答案】程序代码设计Private Sub Form_Click() num = Val(Input
11、Box(输入职工编号:) s$ = InputBox(输入职工工资:) l = Len(s$) s0 = Val(Left$(s$, l - 5) Call fenp(l, s$, s1, s2, s3, s4, s5, s6, s7, s8) Print 职工编号:; num, 职工工资:; s$ Print 100元; s0 Print 50元; s1 Print 10元; s2 Print 5元; s3 Print 1元; s4 Print 5角; s5 Print 1角; s6 Print 5分; s7 Print 1分; s8End Sub Private Sub fenp(l, s
12、$, s1, s2, s3, s4, s5, s6, s7, s8) l1 = Val(Mid$(s$, l - 4, 1) l2 = Val(Mid$(s$, l - 3, 1) l3 = Val(Mid$(s$, l - 1, 1) l4 = Val(Mid$(s$, l, 1) s1 = l1 5 s2 = l1 Mod 5 s3 = l2 5 s4 = l2 Mod 5 s5 = l3 5 s6 = l3 Mod 5 s7 = l4 5 s8 = l4 Mod 5End Sub程序运行结果如图7-9所示:(注意:输入的工资保留到分)图7-9程序运行结果710 编写程序,把任意一个十进制
13、数N转换成分别用二进制、八进制和十六进制表示的数,要求用Sub过程实现数制的转换。【参考答案】程序代码设计Private Sub Form_Click() Dim b(30) As Integer Do Print 1-10进制转换为2进制 Print 2-10进制转换为8进制 Print 3-10进制转换为16进制 Print 4-退出 n = Val(InputBox(请选择1,2,3,或4:) Select Case n Case 1, 2, 3 a = Val(InputBox(请输入一个10进制整数:) m = Val(InputBox(请输入要转换的进制:) Call zhuanh
14、(a, b(), m) Case 4 Exit Do End Select LoopEnd Sub Private Sub zhuanh(a, b() As Integer, m) aa = a k = 1 Do Until a = 0 r = a Mod m b(k) = r k = k + 1 a = a m Loop k = k - 1 Print (; aa; )10=(; For i = k To 1 Step -1 If b(i) = 10 Then Print a; ; ElseIf b(i) = 11 Then Print b; ; ElseIf b(i) = 12 Then
15、Print c; ; ElseIf b(i) = 13 Then Print d; ; ElseIf b(i) = 14 Then Print e; ; ElseIf b(i) = 15 Then Print f; ; Else Print b(i); End If Next i Print ); mEnd Sub图7-10程序运行结果程序运行结果如图7-10所示:711 编写Sub过程,用于计算n个学生m门课的平均成绩,并按平均成绩的优劣,打印学生的名次、学号和平均成绩。(要求:学生的学号,每门课的成绩以及成绩单的打印由主程序完成。)【参考答案】程序代码设计Private Sub Form_
16、Click() Dim no(5) As Long, a(5, 4) As Integer Dim s(5) As Integer, aver(5) As Integer For i = 1 To 5 no(i) = InputBox(no:) For j = 1 To 4 a(i, j) = InputBox(score:) Next j Next i Call sort(no(), a(), s(), aver(), 5, 4) Print 名次 学号 平均成绩 For i = 1 To 5 Print i; ; no(i); ; aver(i) Next iEnd Sub图7-11程序运
17、行结果Sub sort(no&(), a%(), s%(), aver%(), n%, m%) For i = 1 To n s(i) = 0 For j = 1 To m s(i) = s(i) + a(i, j) Next j aver(i) = s(i) / m Next i For i = 1 To n - 1 For j = i + 1 To n If aver(i) aver(j) Then t = aver(i) aver(i) = aver(j) aver(j) = t k = no(i) no(i) = no(j) no(j) = k End If Next j Next iEnd Sub程序运行结果如图7-11所示:712 用Sub过程输出由字符组成的三角形图形,通过三次调用该过程,输出下列三种图形: A * O A A A * * * O O O A A A A A * * * * * O O O O O A A A A A A A * * * * * * * O O O O O O O A A A A A A A
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年哈尔滨应用职业技术学院高职单招职业技能测试近5年常考版参考题库含答案解析
- 1 夜市美食:拉开味觉之帷幕
- 2025年冀中职业学院高职单招语文2019-2024历年真题考点试卷含答案解析
- 郑州2025年河南郑州大学第五附属医院招聘博士-硕士工作人员149笔试历年参考题库附带答案详解
- 辽宁2025年辽宁石化职业技术学院赴高校现场招聘3人笔试历年参考题库附带答案详解
- 保险出单员年终总结及明年计划
- 销售区域管理案例
- 通史版2025版高考历史大二轮复习课时作业11信息文明的探索现代前期的世界
- 金融外包年终总结
- 2025年黑豆面临合同年心态失衡影响表现阿帅表示用小布会让自己失业
- 《乡镇履职事项清单》(涵盖18个部门核心职责)
- 服装数字化设计技术课件 3-1男衬衫款式分析
- TSCNA 0001-2024 成人体外膜肺氧合(ECMO)技术护理规范
- 2025新人教版七年级历史下教案-第6课 隋唐时期的中外文化交流
- 光伏2021施工上岗证考核答案
- 2025年内蒙古交通职业技术学院单招职业适应性测试题库含答案
- 河南2025年河南职业技术学院招聘30人笔试历年参考题库附带答案详解
- 急诊危重症患者转运专家共识解读课件
- 《混凝土预制构件出厂验收标准》
- 2025年数字安徽有限责任公司招聘笔试参考题库含答案解析
- 2025年江苏省无锡市江南大学专职辅导员招聘45人历年高频重点提升(共500题)附带答案详解
评论
0/150
提交评论