vb函数 程序设计

vb函数 程序设计,第1张

首先请编写一个函数

Function

gys(n

As

Integer,

m

As

Integer)

As

Integer

Dim r

As

Integer

Dim

temp

As

Integer

r=0

If

(n<m)

Then

temp

=

n

n=m

m=temp

End

If

Do

r

=

n

Mod

m

n

=

m

m

=

r

Loop

While

(r<>0)

gys

= n

End

Function

Function

gbs(n

As

Integer,

m

As

Integer)

As

Integer

gbs

=

(nm)/(gys(n,m))

End

Function

双击按钮“求解”,代码如下:

最大公约数的那个文本框Text

=

gys(Cint(TextBox1Text),Cint(TextBox2Text))

最小公约数的那个文本框Text

=

gbs(Cint(TextBox1Text),Cint(TextBox2Text))

要用程序来开平方,首先你最起码要知道经过自己推导出来的公司,其次再是求精度,你说的nLength是要得到的10进制位数,这个不能给你保证,你得用一个小数位数来表达精度。假如你开一个非常大的数,你的整数部分就可能超过10位,更不要谈精度

方法是这样的:

x表示我要开的数,y表示结果,z是和开方后比较接近的数

y=z+(x-x^2)/2z

也许你还不太明白,具体举例来说明>>

sqr(x)代表开x,即根号x,这个符号不太好打

假如我开5,即求根号5的值

5比4大sqr(4)=2,sqr(9)=3,9比5大,即4<5<9,所以2<sqr(5)<3,我们任取这个范围的一个数,就取25,z=25

y=25+(5-25^2)/252=225

此时比较接近结果的值是225,即z=225

y=225+(5-225^2)/2252=22361112

比较接近了,想要再精确,就再次循环

通过上面的举例,相信你已经发现了用循环来求精度

具体该怎么做,相信你已经知道了

有几个地方要注意:

1、VB中的三角函数的角度全部是用弧度制表示的,如果是度数的话,应先乘以180再除以π转成弧度,再用函数计算结果。

2、VB中直接支持的三角函数有:Sin()、Cos()、Tan(),如果涉及到其它三角函数,可以从下面列出的代码中自己选择相应的函数:

Function

Sec(X)

As

Double

'正割

Sec

=

1

/

Cos(Angle)

End

Function

Function

Csc(X)

As

Double

'余割

Csc

=

1

/

Sin(Angle)

End

Function

Function

Cot(X)

As

Double

'余切

Cot

=

1

/

Tan(Angle)

End

Function

Function

ArcSin(X)

As

Double

'反正弦

ArcSin

=

Atn(X

/

Sqr(-X

X

+

1))

End

Function

Function

ArcCos(X)

As

Double

'反余弦

ArcCos

=

Atn(-X

/

Sqr(-X

X

+

1))

+

2

Atn(1)

End

Function

Function

ArcSec(X)

As

Double

'反正割

ArcSec

=

Atn(X

/

Sqr(X

X

-

1))

+

Sgn((X)

-

1)

(2

Atn(1))

End

Function

Function

ArcCsc(X)

As

Double

'反余割

ArcCsc

=

Atn(X

/

Sqr(X

X

-

1))

+

(Sgn(X)

-

1)

(2

Atn(1))

End

Function

Function

ArcCot(X)

As

Double

'反余切

ArcCot

=

Atn(X)

+

2

Atn(1)

End

Function

Function

HSin(X)

As

Double

'双曲正弦

HSin

=

(Exp(X)

-

Exp(-X))

/

2

End

Function

Function

HCos(X)

As

Double

'双曲余弦

HCos

=

(Exp(X)

+

Exp(-X))

/

2

End

Function

Function

HTan(X)

As

Double

'双曲正切

HTan

=

(Exp(X)

-

Exp(-X))

/

(Exp(X)

+

Exp(-X))

End

Function

Function

HSec(X)

As

Double

'双曲正割

HSec

=

2

/

(Exp(X)

+

Exp(-X))

End

Function

Function

HCsc(X)

As

Double

'双曲余割

HCsc

=

2

/

(Exp(X)

-

Exp(-X))

End

Function

Function

HCot(X)

As

Double

'双曲余切

HCot

=

(Exp(X)

+

Exp(-X))

/

(Exp(X)

-

Exp(-X))

End

Function

Function

HArcsin(X)

As

Double

'反双曲正弦

HArcsin

=

Log(X

+

Sqr(X

X

+

1))

End

Function

Function

HArccos(X)

As

Double

'反双曲余弦

HArccos

=

Log(X

+

Sqr(X

X

-

1))

End

Function

Function

HArctan(X)

As

Double

'反双曲正切

HArctan

=

Log((1

+

X)

/

(1

-

X))

/

2

End

Function

Function

HArcsec(X)

As

Double

'反双曲正割

HArcsec

=

Log((Sqr(-X

X

+

1)

+

1)

/

X)

End

Function

Function

HArccsc(X)

As

Double

'反双曲余割

HArccsc

=

Log((Sgn(X)

Sqr(X

X

+

1)

+

1)

/

X)

End

Function

Function

HArccot(X)

As

Double

'反双曲余切

HArccot

=

Log((X

+

1)

/

(X

-

1))

/

2

End

Function

Private Sub Command1_Click()

n = Val(InputBox("请输入不大于1000的正整数"))

Sum = he(n)

List1AddItem "输入的数为:" & n & "结果为:" & Sum

End Sub

Private Function he(ByVal x%) As Integer

For i = 2 To x - 1

If x Mod i = 0 Then

s = s + i

End If

Next

he = s

End Function

Private Sub Form_Activate()

Dim x, y As Long '不知道x,y能否取float型的 先看整形的

x = InputBox("请输入一个x的值,取值范围为-1000,+1000")

If x < 0 Then

y = x ^ 2 + 1

ElseIf x >= 0 Then

y = x ^ 2 - 1

End If

单分支 和双分支 区别在于 “ ElseIf x >= 0 Then” 换成else 就是单分支的

注意下x和y的取值范围 因为x过大 y的值有可能越界

希望对你有帮助

Print "y=" & y

End Sub

public或private或dim sub或function 函数名(形参表) as 返回值类型

函数内容

end sub或function

调用时,不需要返回值的时候可以call 函数名加实参表,使用括号,比如:call hanshu(a,b,c)

或者函数名后直接写实参表,不用括号,比如: hanshu a,b,c

有返回值时必须有等号赋值,使用括号,比如: result=hanshu(a,b,c)

Sub sswf()

Dim x As Integer, y As Integer

x = CInt(InputBox("请输入一个整数"))

If x Mod 2 = 0 And x Mod 3 = 0 And x Mod 5 = 0 Then

Text1Text = x

y = x x

End If

Print y

End Sub

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/langs/12163727.html

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

发表评论

登录后才能评论

评论列表(0条)

保存