VBA实验8 子过程与函数.docVIP

  • 2
  • 0
  • 约2.02千字
  • 约 6页
  • 2017-02-28 发布于湖北
  • 举报
浙江大学城市学院实验报告 课程名称 Excel与VBA程序设计 实验项目名称 实验八 子过程与函数 学生姓名 专业班级 学号 实验成绩 指导老师(签名 ) 日期 实验目的和要求 1、 掌握Function/End Function的定义和调用; 2、 掌握Sub/End Sub的定义和调用。 实验内容 1、按照实验内容所述要求认真完成各项功能。 2、输入精度e,用下列公式求cosx的近似值,精确到最后一项的绝对值小于e。要求定义和调用函数funcos(x,x)求余弦公式的近似值。 3、、、、、( 22:2007)Sub cos() Dim i As Integer, j As Integer Dim s As Single Dim e As Double, x As Double e = InputBox(输入e) x = InputBox(输入x) s = funcos(e, x) Debug.Print s End Sub Function funcos(e As Double, x As Double) As Double Dim j As Integer, flag As Integer Dim sum As Double, item As Double flag = 1 j = 0 sum = 0 item = 1 Do While Abs(item) = e item = flag * x ^ j / fact(j) sum = sum + item flag = -flag j = j + 2 Loop funcos = sum End Function Function fact(n As Integer) As Double Dim j As Integer, f As Single f = 1 For j = 1 To n f = f * j Next j fact = f End Function 3. Function fact(n As Long) As Double Dim i As Long fact = 1 For i = 1 To n fact = fact * i Next i End Function Sub text() Dim n, j As Long Dim sum As Double sum = 0 n = InputBox(请输入n) For j = 1 To n sum = sum + fact(j) Next j MsgBox (结果为) sum End Sub 4. Function countDigit(number As Long, digit As Integer) As Integer Dim a, b As Integer a = number / 10 b = number Mod 10 countDigit = 0 Do If b = digit Then countDigit = countDigit + 1 End If b = a Mod 10 a = a / 10 Loop While a 0 End Function Sub text2() Dim x As Long Dim y As Integer x = InputBox(请输入x) y = InputBox(请输入要查找的数) Debug.Print countDigit(x, y) End Sub Sub test3() Dim s As Double n = InputBox(输入n) Pyramid (n) End Sub Function Pyramid(n) As Double For i = 1 To n For j = 1 To n - i Debug.Print ; Next j For k = 1 To i Debug.Print k; Next k For k = i - 1 To 1 Step -1 Debug.Print k; Next k Debug.Print Next i End Function 五. 心得体会 (记录实验感受、上机过程中遇到的困难及解决办法、遗留的问题、意见和建议等。) 【附录----源程序】

文档评论(0)

1亿VIP精品文档

相关文档