-
上限和下限分別表示範圍的上限和下限,這是自定義的,可以更改。
upperbound - 下限表示此範圍的大小,生成的每個數字都包含在 upperbound - lowerbound 中,但 int 函式 int 用於向下捨入,因此必須加 1 以確保會出現上限的最大值。
好了,現在我們有了最大範圍(上限 - 下限 + 1),然後看看隨機函式 rnd,這個函式可以隨機出現 0 到 1 之間的任何數字,所以只需用它來乘以最大範圍(上限 - 下限 + 1),你可以有 0 之間的任何數字(上限 - 下限 + 1),加上下限,這個範圍變成:
下限(上限 + 1),但這個範圍內的數字仍然是小數,所以使用函式 int 將其四捨五入,就可以在下限上限範圍內生成乙個隨機整數。
-
假設使用以下公式生成乙個介於 5 和 10 之間的整數:
int(rnd *6)+5
rnd 生成介於 0 1 之間的小數,然後 rnd*6 = 介於 0 6 之間的小數,但小於 6,因此 int(rnd*6) = 介於 0 5 之間的整數,然後 +5 = 5 10 整數。
-
1. 在 vb 中產生區間 [a,b] 的隨機數公式為:int((b- a+ 1) *rnd + a)。
2.根據上述公式,公式法不可能生成(a,b](半開區間)範圍內的隨機數。
3. rnd 函式返回乙個小於 1 但大於或等於 0 的值。
4. int 是乙個整數函式。
-
答案是
rnd 返回 [0,1] 範圍內的純十進位,可以取為 0 的值,但不能取為 1 的值,因此 RND*21 的範圍為 [0,21],RND*21+30 的範圍為 [30,51),int 的範圍 (RND*21+30) 是介於 [30,50] 之間的整數。
dim x as long '新增功能。
get #1, ,r2 '從通道 2 中的第乙個點讀取 R1 的記錄; get 1, 2, R2 從通道 1 內部讀取 R2 的第 2 條記錄。 >>>More