用VB做sin 函数。

用VB做sin 函数。,第1张

Function MySin(ByVal x As Double) As Double

Dim k As Integer

Dim nowSinx As Double

Dim temp As Double

Dim tol As Double

k = 1

tol = 000001

nowSinx = x

temp = x

Do

temp = -temp (x x) / (2 k + 1) / (2 k)

nowSinx = nowSinx + temp

k = k + 1

Loop While Abs(temp) > tol

MySin = nowSinx

End Function

'本程序改编自计算方法 C++作业。已在VB环境编译通过。

'可以用上一次计算的结果,没必要定义阶乘函数。

'MySin(2)结果是:0909297。。和Sin(2)差不多。

第 9 ,10 题 其他题答案统一,且有正确的解释

9 B 类成员默认访问属性为 private,构造函数的可以为private成员,类定义中 成员变量是不可以被初始化的

10 c 构造函数是可以被重载的

举例说明吧,下面这个 myCell 变量就是单元格变量了。

Sub Macro1()

Dim myCell As Range

Set myCell = Range("A2") '为单元格变量赋值

myCellFormula = "=Today()" '为单元格变量所代表的单元格填写内容

myCellOffset(1, 0)Value = "测试"

myCellSelect '选中单元格变量所代表的单元格

End Sub

--------------------------------------------------------

所定义的 Range 对象,与工作表里的单元格当然一样,因为它们是同一个Range类的对象嘛,所有的属性与方法都相同呀。

Sub Macro1()

Dim myCell As Range

Set myCell = Union(Range("A2", "C4"), Range("A6", "C7")) '为单元格变量赋值

myCellFormula = "=row() & Column()" '为单元格变量所代表的单元格填写内容

myCellCopy

myCellRange("A1")Offset(7, 3)Select

ActiveSheetPaste

MsgBox myCellRange("A1")Text 'myCell对象中的第1行第1列值

MsgBox myCellCells(3, 2)Text 'myCell对象中的第3行第2列值

MsgBox myCellColumnsCount 'myCell对象的列数统计

End Sub

但是“本身myCell不属于任何一个工作表”这个恐怕不是那么容易做到的,因为简单的这样两行代码:

Dim myCell As Range

Set myCell = Union(Range("A2", "C4"), Range("A6", "C7")) '为单元格变量赋值

所定义的变量 myCell 它只是一个地址引用,并没有在系统的内存中开辟出一个区域来(复制)存放 Union(Range("A2", "C4"), Range("A6", "C7")) 这些单元格的内容,当使用 myCell 时,实际还是依赖于 myCell 所指向的工作表单元格。

比如:

Sub Macro2()

Dim myCell As Range

Range("A1") = 1

Set myCell = Range("A1")

Range("A1") = 5

MsgBox myCell

End Sub

这里 Range("A1") = 5 改变了值,MsgBox myCell 也显示 5,就是说,这个对象实际是一个对象指针(引用)。

有疑问,请Hi我或给我发百度消息

GoodLuck!

欢迎分享,转载请注明来源:浪漫分享网

原文地址:https://hunlipic.com/meirong/10571118.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-11-09
下一篇2023-11-09

发表评论

登录后才能评论

评论列表(0条)

    保存