|
例030彩票幸運(yùn)號(hào)碼 1.案例說明 本例結(jié)合數(shù)組和隨機(jī)函數(shù)的知識(shí),生成指定數(shù)量的彩票幸運(yùn)號(hào)碼。本例生成的彩票號(hào)碼 每注由7位數(shù)構(gòu)成,首先讓用戶輸入產(chǎn)生的注數(shù),再使用循環(huán)語句生成指定注數(shù)的號(hào)碼。 2.關(guān)鍵技術(shù) 本例代碼中使用了兩個(gè)關(guān)鍵技術(shù):動(dòng)態(tài)數(shù)組和隨機(jī)函數(shù)。 (1)動(dòng)態(tài)數(shù)組 本例使用二維數(shù)組保存所有的彩票號(hào)碼,二維數(shù)組的定義格式如下: Dim 數(shù)組名(第1維上界,第2維上界) As 數(shù)據(jù)類型或 Dim數(shù)組名(第1維下界To第1維上界,第2維下界To第2維上界) As數(shù)據(jù)類型在本例中,因?yàn)樯傻牟势睌?shù)量是由用戶輸入的數(shù)據(jù)決定的。因此這里使用動(dòng)態(tài)數(shù)組。動(dòng)態(tài)數(shù)組是指在程序運(yùn)行時(shí)大小可以改變的數(shù)組,定義動(dòng)態(tài)數(shù)組一般分兩個(gè)步驟:首先在用戶窗體、模塊或過程中使用Dim或Public聲明-一個(gè)沒有下標(biāo)的數(shù)組(不能省略括號(hào)),然后在過程中用ReDim語句重定義該數(shù)組的大小。ReDim語句在過程級(jí)別中使用,用于為動(dòng)態(tài)數(shù)組變量重新分配存儲(chǔ)空間。其語法格式如下: ReDim [Preserve] 數(shù)組名(下標(biāo)) [As 數(shù)據(jù)類型] 可以使用ReDim語句反復(fù)地改變數(shù)組的元素以及維數(shù)的數(shù)目,但是不能在將一-個(gè)數(shù)組定義為某種數(shù)據(jù)類型之后,再使用ReDim將該數(shù)組改為其他數(shù)據(jù)類型,除非是Variant 所包含的數(shù)組。如果使用了Preserve 關(guān)鍵字,就只能重新定義數(shù)組最后一維的大小, 并不能改變維數(shù)的數(shù)目。 (2)隨機(jī)函數(shù)Rnd 隨機(jī)函數(shù)Rnd可返回小于1但大于或等于0的一個(gè)小數(shù)。其語法格式如下: Rnd[ (number) ] 可選的number 參數(shù)是Single或任何有效的數(shù)值表達(dá)式。根據(jù)number參數(shù)值的不同, Rnd 函數(shù)生成的隨機(jī)數(shù)也不同: ●number<0, 則每次使用相同的number作為隨機(jī)數(shù)種得到的相同結(jié)果。 ●number>0, 則將生成隨機(jī)序列中的下一個(gè)隨機(jī)數(shù)。 ●number=0, 則將生成最近生成的數(shù)。 ●省略number,則生成序列中的下一個(gè)隨機(jī)數(shù)。 注 在調(diào)用Rnd之前,先使用無參數(shù)的Randomize語句初始化隨機(jī)數(shù)生成器,該生成器具 意有根據(jù)系統(tǒng)計(jì)時(shí)器得到的種子。為了生成某個(gè)范圍內(nèi)的隨機(jī)整數(shù),可使用以下公式: Int((上限-下限+ 1)*Rnd +下限) 3.編寫代碼 (1)新建Excel工作簿,按快捷鍵“Alt+F11”進(jìn)入VBE環(huán)境。 (2)單擊菜單“插入/模塊”命令向工程中插入一個(gè)模塊。 (3)在模塊中編寫以下代碼: Option Base 1 Sub 幸運(yùn)號(hào)碼() Dim n As Integer, i As Integer, j As Integer Dim l() As Integer n = Application.InputBox("請(qǐng)輸入需要產(chǎn)生幸運(yùn)號(hào)碼的數(shù)量:", "幸運(yùn)號(hào)碼", , , , , , 2) ReDim l(n, 7) As Integer For i = 1 To n For j = 1 To 7 Randomize l(i, j) = Int(10 * Rnd) Next Next For i = 1 To n For j = 1 To 7 Debug.Print l(i, j); Next Debug.Print Next End Sub (4)運(yùn)行上面的宏,彈出如圖所示的對(duì)話框,提示用戶輸入數(shù)據(jù)。 輸入生成幸運(yùn)號(hào)碼的數(shù)量。 (5)單擊“確定”按鈕后在“立即窗口”輸出生成的幸運(yùn)號(hào)碼 |
|
|