英文VB教程 簡體Visual Basic教程 繁體Visual Basic教程

第11课: 數學函數


數學函數在編程中是非常有用和非常重要的,因為很多時候,我們需要處理程式的機會和概率,變量,坐標,時間間隔等數理邏輯。在Visual Basic中常見的數學函數是 Rnd, Sqr, Int, Abs, Exp, Log, Sin, Cos, Tan , Atn, Fix 和 Round

11.1 Rnd 函數

(i)Rnd 函數是非常有用的,它讓我們處理機會和概率。 Rnd函數能夠返回0和1之間的一個隨機值。在實范例1裡,當你運行程序時,你會得到一個輸出10個0和1之間的隨機數。

範例 11.1:

Private Sub Form_Activate
For x=1 to 10
Print  Rnd
Next x
End Sub

範例11.1 的輸出如下圖所示:

图11.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。

在這個範例裡,你放置一個命令按鈕,並改變其標題為“擲骰子”。

範例 11.2

Private Sub Command1_Click ( )
 Dim num as integer 
 Num=Int(Rnd*6)+1
 Label1.Caption=Num
End Sub

當你運行該程序,然后單擊 “擲骰子" 按鈕,你將會得到如下圖所示的輸出:

图11.2

11.2 Int 函數

Int 是將一個數字轉換成一個整數的函數,該函數通過去除其小數部分,所得的整數是小於該數字的整數。 例如, Int(2.4)=2, Int(4.8)=4, Int(-4.6)= -5, Int(0.032)=0 等。

11.3 Sqr 函數

Sqr 是計算一個數字的平方根的函數,例如,Sqr(4)=2, Sqr(9)=2 等。

11.4 Abs 函數

iv) Abs 函數返回一個數字的絕對值。例如, Abs(-8) = 8 , Abs(8)= 8等。

11.5 Exp 函數

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

11.6 Fix 函數

FixInt 差不多是相同的,如果數字是正数,它們都除掉小數部分的數字,並返回一个整數。然而,當數字為負數時, Fix将返回大於該數字的最小整數。例如, Fix(-6.34)= -6 , Int(-6.34)=-7.

11.7 Round 函數

Round 的功能是向上捨入一定的小數位數。其格式是Round (n, m),这意味着,去向上捨入一個數字 n 到 m 位小数。 例如, Round (7.2567, 2) =7.26

11.8 Log 函數

) Log 函數返回一個數字的自然對數. 例如, Log 10= 2.302585

范例11.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
>

图11.3





版权所有©2008 Dr.Liew Voon Kiong。保留所有权利 。联系我们: VB面子书

[Privacy Policy]