- 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)