数学函数在编程中是非常有用和非常重要的,因为很多时候我们需要处理程序中的机会和概率,变量,坐标,时间间隔等数理逻辑。在Visual Basic中常见的数学函数是Rnd, Sqr, Int, Abs, Exp, Log, Sin, Cos, Tan , Atn, Fix 和 Round.
(i) Rnd函数是非常有用的,它让我们处理机会和概率。 Rnd函数能够返回0和1之间的一个随机值。在实范例1中,当你运行程序时,你会得到一个输出10个0和1之间的随机数。
Private Sub Form_Activate
For x=1 to 10End 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。
在这个范例中,你放置一个命令按钮,并改变其标题为“掷骰子”。
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)Fix和Int 非常相似。如果数字是正数,它门都除掉小数部分的数字,并返回一个整数。然而,当数字为负数时, 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
这个例子应用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
输出界面如下图: