如何使vb中rnd函式產生的隨機數是在

2022-01-02 06:17:54 字數 5841 閱讀 4346

1樓:匿名使用者

只能得到[0,1)上的隨機數,1取不到。即使如此,可以視作rnd[0,1]上的隨機數,因為x=1的概率無限接近0.

rnd,visual basic中隨機函式。格式:rnd(《數值表示式》)功能:求[0,1)之間的一個隨機數。

語法:rnd[(number)]

如果 number 的值是 randomize 生成

小於 0 ,每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 ,以上一個隨機數為種子產生下一個隨機數。

等於 0 ,產生與最近生成的隨機數相同的隨機數。

省略, 以上一個隨機數為種子產生下一個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前一個數作為下一個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize語句初始化隨機數生成器(若帶引數,則產生由引數對應的一個特定序列的隨機數),該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

2樓:

vb中rnd函式產生的隨機數本來就是0~1之間,0

3樓:匿名使用者

vb的rnd函式,其作用就是產生(0,1)之間的隨機數,還不是[0,1]。

即:0 < rnd < 1

根據上式,結合vb的int()等函式,可以產生你所需要的任意範圍內的隨機數。

例如1:根據 0 < rnd < 1

那麼就有: 0 < rnd *10 < 10 產生(0,10)之間的隨機數,注意這是實數

例如2: 0 <= int(rnd *10)< 10 產生[0,10)之間的隨機數,注意這是正整數

例如3: 1 <= int(rnd *10)+ 1 <= 10 產生[1,10]之間的隨機數,注意這是正整數等等

4樓:唐勝希

可以這樣來做

round(rnd,1)

在vb中如何產生隨機數,就是rnd函式的用法

5樓:塔思馬星澤

rnd產生一個[0,1)的隨機數.如果你要產生一個5到10的隨機數,則使用以下**

randomize

msgbox

"產生一個1到10的隨機數:" &

int(rnd*(10-5+1)+5)

就可以了

6樓:拱娟抗映冬

詳細的還是參考vb的msdn中關於隨機數生成器rnd函式的解釋randomize

'初始化隨機數生成器

result=(rnd*(10-1+1)+1)'在10~1之間生成一個隨機數

debug.print

result

'在控制檯列印出該隨機數

7樓:佟祥節浩初

randomize

下一行s=rnd*100

這是模式

範圍你自己除錯就可以了

vb中rnd函式怎麼用啊?

8樓:匿名使用者

語法rnd[(number)]

可選的 number 引數是 single 或任何有效的數值表示式。

返回值如果 number 的值是 rnd 生成

小於 0 每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 序列中的下一個隨機數。

等於 0 最近生成的數。

省略 序列中的下一個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前一個數作為下一個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

注意 若想得到重複的隨機數序列,在使用具有數值引數的 randomize 之前直接呼叫具有負引數值的 rnd。使用具有同樣 number 值的 randomize 是不會得到重複的隨機數序列的。

rnd 函式示例

本示例使用 rnd 函式隨機生成一個 1 到 6 的隨機整數。

dim myvalue

myvalue = int((6 * rnd) + 1) ' 生成 1 到 6 之間的隨機數值。

9樓:匿名使用者

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

rnd 函式

返回一個包含隨機數值的 single。

語法rnd[(number)]

可選的 number 引數是 single 或任何有效的數值表示式。

返回值如果 number 的值是 rnd 生成

小於 0 每次都使用 number 作為隨機數種子得到的相同結果。

大於 0 序列中的下一個隨機數。

等於 0 最近生成的數。

省略 序列中的下一個隨機數。

說明rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前一個數作為下一個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

10樓:匿名使用者

rnd 函式返回小於 1 但大於或等於 0 的值。

number 的值決定了 rnd 生成隨機數的方式。

對最初給定的種子都會生成相同的數列,因為每一次呼叫 rnd 函式都用數列中的前一個數作為下一個數的種子。

在呼叫 rnd 之前,先使用無引數的 randomize 語句初始化隨機數生成器,該生成器具有根據系統計時器得到的種子。

為了生成某個範圍內的隨機整數,可使用以下公式:

int((upperbound - lowerbound + 1) * rnd + lowerbound)

這裡,upperbound 是隨機數範圍的上限,而 lowerbound 則是隨機數範圍的下限。

randomize 使用 number 引數初始化 rnd 函式的隨機數生成器,賦給它新的種子值。如果省略 number,則使用系統計時器返回的值作為新的種子值。

如果不使用 randomize,則第一次呼叫 rnd 函式(無引數)時,它將使用相同的數字作為種子值,隨後使用最後生成的數值作為種子值。

注意 要重複隨機數的序列,請在使用數值引數呼叫 randomize 之前,立即用負值引數呼叫 rnd。使用相同的 number 值的 randomize 不能重複先前的隨機數序列。

11樓:匿名使用者

randomize

a=int((m - n + 1) * rnd + n)

msgbox a

12樓:紅山人

rnd產生0到1之間的隨機數,包括0但不包括1

產生a到b的隨機整數,公式是

int(rnd*(b-a+1)+a)

vb如何生成隨機數

13樓:飛喵某

1、開啟「microsoft visual basic 6.0 中文版」軟體,準備一個空白的工程檔案:

2、然後需要一個命令按鈕,單擊左側工具箱中的「命令按鈕」,在窗體中右側拖動滑鼠左鍵畫出即可:

3、雙擊該命令按鈕,這裡演示輸入**列印0~10之間的任意隨即整數,生成其他範圍的隨機整數公式為「int((上限-下限+1)*rnd+下限)」,如果是1到53就是「int((1-53+1)*rnd+53」:

4、寫完之後執行程式,每單擊一次命令按鈕,就會在窗體上列印一個0~10之間的隨即整數:

14樓:匿名使用者

1、隨機生成數生成通式:

randomize      『必要**,不然的話每次隨機生成都是一樣的數

a=int(rnd*(m-n+1))+n   』   其中m>n生成n~m間(包括n,m)的隨機整數

假如我想隨機生成20-100間 ,那麼就是n=20,m=100

**是int(rnd*(100-20+1))+20

2、**:

private sub command1_click()

clsdim n as integer

dim wzs(10) as integer

n = 1

while n <= 10

wzs(n) = int(rnd * 1000)

n = n + 1

wend

n = 1

while n <= 10

print wzs(n)

n = n + 1

wend

擴充套件資料

隨機數是專門的隨機試驗的結果。

在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。

產生隨機數有多種不同的方法。這些方法被稱為隨機數生成器。隨機數最重要的特性是它在產生時後面的那個數與前面的那個數毫無關係。

參考資料

15樓:新時代向前衝

其實隨機生成數很簡單:

randomize   『必要**,不然的話每次隨機生成都是一樣的數

a=int(rnd*(m-n+1))+n   』其中m>n生成n~m間(包括n,m)的隨機整數

假如我想隨機生成20-100間

那麼就是n=20,m=100

**是int(rnd*(100-20+1))+20

visual basic(簡稱vb)是microsoft公司開發的一種通用的基於物件的程式設計語言,為結構化的、模組化的、物件導向的、包含協助開發環境的事件驅動為機制的視覺化程式設計語言。是一種可用於微軟自家產品開發的語言。 [1]

「visual」 指的是開發圖形使用者介面 (gui) 的方法——不需編寫大量**去描述介面元素的外觀和位置,而只要把預先建立的物件add到螢幕上的一點即可。 「basic」指的是 basic (beginners all-purpose symbolic instruction code) 語言,是一種在計算技術發展歷史上應用得最為廣泛的語言。

visual basic源自於basic程式語言。vb擁有圖形使用者介面(gui)和快速應用程式開發(rad)系統,可以輕易的使用dao、rdo、ado連線資料庫,或者輕鬆的建立active x控制元件,用於高效生成型別安全和麵向物件的應用程式 [2]  。程式設計師可以輕鬆的使用vb提供的元件快速建立一個應用程式。

vb的rnd函式問題,VB的Rnd函式問題

此題填1001 1.用rnd函式產生隨機整數,可以通過將由rnd函式產生的隨機小數乘以一個整數,然後再對結果取整獲得。2.產生一個從n到m之間的隨機整數 m n,包括m和n 的表示式為 int rnd m n 1 n 不懂可以追問,希望有幫助 你好!rnd 產生隨機數的範圍是 0,1 所以,產生30...

VB題 使用隨進函式產生0 9之間的隨機整數形成5階矩陣

private sub command1 click dim a 1 to 5,1 to 5 text1.text for i 1 to ubound a,1 for j 1 to ubound a,2 randomize a i,j int 10 rnd text1.text text1.text...

VB中Chr k 的意思,VB中的Chr函式的意思是什麼意思?

chr碼值對應列表大全 chr 0 為0的字元 chr 1 chr 2 chr 3 chr 4 chr 5 chr 6 chr 7 響鈴chr 8 回格chr 9 tab 水平製表符 chr 10 換行chr 11 tab 垂直製表符 chr 12 換頁chr 13 回車chr 13 chr 10 ...