vb中如何生成不同的隨機數,VB如何生成隨機數

2022-01-02 05:07:09 字數 5552 閱讀 6315

1樓:陶素蘭衡申

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

int((upperbound

-lowerbound+1)

*rnd

+lowerbound)

這裡,upperbound

是隨機數範圍的上限,而

lowerbound

則是隨機數範圍的下限。

注意若想得到重複的隨機數序列,在使用具有數值引數的randomize

之前直接呼叫具有負引數值的

rnd。使用具有同樣

number

值的randomize

是不會得到重複的隨機數序列的。

2樓:匿名使用者

需要在生成隨機數後進行判斷,是否已經存在,存在返回繼續生成即可。

dim rnd as new randomdim a() as string

for i as integer 0 to 8:new

a(i)=random.next(1,9)'比較是否有相同的

if i>0 then

for j as integer 0 to i-1if a(j)=a(i) goto newnext j

end if

next i

'**未測試,如有錯誤,請自行修正

vb如何生成隨機數

3樓:飛喵某

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

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

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

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

4樓:匿名使用者

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

擴充套件資料

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

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

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

參考資料

5樓:新時代向前衝

其實隨機生成數很簡單:

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提供的元件快速建立一個應用程式。

6樓:匿名使用者

vb隨機數生成函式是 rnd[(number)],number 引數為可選項。在呼叫 rnd 生成隨機數之前,先使用 randomize 初始化隨機數生成器來產生種子,該生成器是根據系統計時器來產生種子的

7樓:

通過一個函式random,就會生成你需要的隨機數,希望對你有幫助

8樓:

將以下**輸入即可

private sub form_click() '窗體click()事件

randomize

'防止每次生出隨機數一樣

print int(rnd * 53) + 1'rnd()生成[0,1)的隨機數,int()是取整end sub

改text1的font屬性,那有改字號的

9樓:匿名使用者

'下面**產生不重複的隨機數

private sub command1_click()

dim a(1 to 53) as string, tmp as integer

dim i as integer, j as integer, k as integer

for i = 1 to 53 '先按順序編號

a(i) = i

next

randomize timer

for i = lbound(a) to ubound(a) '共執行53次

j = rnd * 52 + 1 '產生第一個隨機數

k = rnd * 52 + 1 '產生第二個隨機數

'把這二個數的數值交換,以達到打亂次序的目的

tmp = a(j)

a(j) = a(k)

a(k) = tmp

next

text1.font.size = 18 '字型變大

text1.text = join(a, ",") '產生的隨機陣列顯示到text1.text上

end sub

vb中怎麼生成不重複的隨機數

10樓:匿名使用者

private sub command1_click()txtoutput = rndz(1, 38)end sub

private function rndz(a as long, b as long)

randomize

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

end function

vb產生10個不同隨機數

11樓:匿名使用者

用陣列來儲存產生的隨機數,每產生一個隨機數就跟已經產生的隨機數進行比較,如果跟已經產生的隨機數中的一個相同的話就重新產生一個隨機數,直到跟已經產生的所有隨機數都不相同為止。

private sub command1_click()dim a(1 to 10) as integerdim i as integer

dim j as integer

me.cls

randomize

for i = 1 to 10

doa(i) = int(rnd * 90) + 10for j = 1 to i - 1

if a(i) = a(j) then exit fornext

loop while j < i

print a(i);

next

end sub

用vb怎麼產生不重複的隨機數?

12樓:

private sub command1_click()randomize

a = int((10 - 0 + 1) * rnd + 0)print a

end sub

13樓:匿名使用者

dim a(1 to 10) as integerprivate sub command1_click()static n as integer

n = n + 1

if n > 10 then exit subdox = int((10 - 1 + 1) * rnd + 1)j = true

for i = 1 to n - 1

if x = a(i) then j = false: exit for

next i

loop until j

a(n) = x

command1.caption = a(n)end sub

private sub form_load()randomize

end sub

14樓:

rnd 函式

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

語法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 是不會得到重複的隨機數序列的。

vb編寫用於求隨機數的程式,vb編寫一個用於求隨機數的程式

private sub form mousedown button as integer,shift as integer,x as single,y as single dim i as integer,f as doublerandomize if button vbkeylbutton the...

matlab如何生成指定分佈的隨機數

抄別的一個函式給你吧 function y dis rand x,p,n dis rand 產生離散分佈隨機數 x 可能取值 p 取值概率 n 擬生成隨機數的數目 cp cumsum p y zeros 1,n for i 1 n y i x sum cp rand 1 1 end演算法說明 利用m...

excel生成隨機數的程式請教,如何讓excel生成隨機數

excel隨機數函式 你好,你的這個 隨機 確實與眾不同啊,是搞公司 嗎?修改 勉強能夠實現反覆執行巨集,得到同一組隨機數。用法如前。public msg as string sub suiji if msg then dim seed,tmsg,num seed 20110109 randomiz...