第11课:数学函数

[上一课][返回主页][下一课]


数学函数在编程中是非常有用和非常重要的,因为很多时候我们需要处理程序中的机会和概率,变量,坐标,时间间隔等数理逻辑。在Visual Basic中常见的数学函数是Rnd, Sqr, Int, Abs, Exp, Log, Sin, Cos, Tan , Atn, Fix Round.

(i) Rnd函数是非常有用的,它让我们处理机会和概率。 Rnd函数能够返回0和1之间的一个随机值。在实范例1中,当你运行程序时,你会得到一个输出10个0和1之间的随机数。

范例1:

Private Sub Form_Activate

For x=1 to 10
Print  Rnd
Next x

End Sub

范例1的输出如下图所示:

通常我们需要将原始形式的随机数转换为整数以便进行编程。例如,如果我们需要获得一个随机输出6个从1到6的整数作为虚拟骰子,使用的公式是Int(Rnd*6)+1。让我们来研究下面的例子:

在这个例子中,每次单击命令按钮后,Int(Rnd*6)将产生一个随机的 0 和 5 之间的整数,接着函数 Int 将随机数的小数点部分除掉,最后返回一个整数。这个整数加1后,您将获得1和6之间的整随机数,。例如,产生的随机数为0.98,它乘以6后变成5.88,接着Int(5.88)将数字转换为5;加1后得到6。

在这个范例中,你放置一个命令按钮,并改变其标题为“roll die”。

范例2: 

           

  Private Sub Command1_Click ( )

        Dim num as integer

Num=Int(Rnd*6)+1

Label1.Caption=Num

End Sub

运行该程序并单击 “掷骰子" 按钮时,你会得到如下图所示的输出界面:

ii) Int 是将一个数字转换成一个整数的函数,该函数通过去除其小数部分,所得的整数是小于该数字的整数。 例如, Int(2.4)=2, Int(4.8)=4, Int(-4.6)= -5, Int(0.032)=0 等。

iii)Sqr 是计算一个数字的平方根的函数,例如,Sqr(4)=2, Sqr(9)=2 等。

iv) Abs函数返回一个数字的绝对值例如, Abs(-8) = 8 , Abs(8)= 8等。

vExp 函数返回一个数字 x 的 ex 值。 例如, Exp(1)=e1 = 2.7182818284590

vi)FixInt 非常相似。如果数字是正数,它门都除掉小数部分的数字,并返回一个整数。然而,当数字为负数时, Fix将返回大于该数字的最小整数。

例如,  Fix(-6.34)= -6 , Int(-6.34)=-7.

vii)Round 的功能是向上舍入一定的小数位数。格式是 Round (n, m),这意味着,去向上舍入一个数字 n 到 m 位小数。

例如,  Round (7.2567, 2) =7.26

viii) Log 函数返回一个数的自然对数. 例如,  Log 10= 2.302585

范例3

这个例子应用Int(x), Fix(x) 和 Round(x,n)函数并把得到的数字排列于一个表格内。它使用DO循环语句和Rnd函数来产生10个数字。语句 x=Round(RND *7,7)把一个介于0和7随机数缩短到7位小数。该程序如下:

 

 Private Sub Form_Activate ()

n = 1

Print " n", "      x", "Int(x)", "Fix(x)", "Round(x, 4)"

Do While n < 11

x = Round (Rnd * 7, 7)

Print n, x, Int(x), Fix(x), Round(x, 4)

n = n + 1

Loop

End Sub

输出界面如下图:

 

 

[上一课][返回主页][下一课]

Copyright ® 2008 Dr.Liew Voon Kiong . All rights reserved |Contact: admin@vbtutor.net

[Privacy Policy]