陣列的知識和隨機數生成公式

2021-09-05 09:17:19 字數 3199 閱讀 5329

/* 知識點  

陣列什麼是陣列

陣列定義 

賦值動態陣列 (陣列重定義) redim

陣列的遍歷 (隨機數)    寫個隨機數的公式函式   然後算出陣列元素中的最大數

陣列的複製

多維陣列

傳遞陣列引數

一:什麼是陣列 

陣列就是 其有多個相同型別的元素 放在一起  你也可以理解成多少相同型別的變數 比如

dim myarray(99)  注意陣列的元素也叫下標是以0開始的所以100個元素的陣列就是上標就寫99

也可以這樣定義陣列 

dim myarray()//這種就是隱式數組成 用到的時候在設定下標跟上標就行  比如用的時候可以 變數=myarray(0)

二:陣列定義

dim [陣列名](陣列元素) 陣列元素就是陣列的個數可能指定也可以直接空 記的陣列的下標永遠是從0開始的

*///例如:dim myarray(99) //可以指定元素 dim myarray()//可以不指定元素  用的時候在指定

/* 三:賦值

陣列名(第幾個元素)=變數 例如:陣列名(3)=變數 就是把變數的值賦給第四個元素

賦值可以乙個乙個的賦,也可以用迴圈的方式給陣列賦值 簡單的說陣列跟變數的作法差不多

例如:宣告乙個有10個元素陣列 陣列的值分別是:1 3 5 7 8 2 4 6 8 10

*/dim myarray(10)//先宣告乙個有10元素的myarray陣列變數

myarray(0) =1

myarray(1) =3

myarray(2) =5

myarray(3) =7

myarray(4) =9

myarray(5) =2

myarray(6) =4

myarray(7) =6

myarray(8) =8

myarray(9) =10

traceprint join(myarray)

//join 是把陣列轉換成字串  他跟split正好相反  後者是把字串利用分隔符分隔成陣列

dim myarray_1()

// 四:動態陣列 (陣列重定義) redim 是資料的重定義語句:格式

redim myarray_1(99)//這樣我們就把未指定的myarray_1 重新指定了有100個元素的陣列了。

//注意上面我們已經把資料定義為指定成元素了如果想改變就需要用到redim

//還有一種賦值方法就是用迴圈賦值也叫遍利 

for i = 0 to ubound(myarray_1) step 1// 這裡沒有to 99 是因數ubound是可以得到陣列的上標的 因為

//  上標是99 所以等同於 to 99

myarray_1(i) = i+1//因為i是迴圈值 每迴圈一次都加上步長   步長是1 所以每次都會+1 這樣

//就做到了myarray_1 0-99的元素這樣的形式了  也就可以給0-99的元素都賦值了

traceprint i      //因為我們要0-99的值分別是1-99 所以需要 i+1

next

//當迴圈完的時候i的值正好等於99 所以myarray_1(99)的值也就賦完了 。這就叫遍歷 從0到99 都賦上值

/* 五:陣列的遍歷 (隨機數)

我們要做個例子  例子是把資料的所有元素都賦值 寫個隨機數的公式函式   然後算出陣列元素中的最大數

這裡需要三個方法來做到 

第乙個 就是陣列的遍歷賦值   我們用迴圈來做 比如for 迴圈

第二個 就是隨機數    這個隨機數按鍵精靈裡有得到隨機數專用的公式  

第三個 就是用乙個變數來記錄最大數的值

隨機數公式:

randomize //這個必須得寫直接按他寫的寫就行

int((結束值 - 啟始值 + 1) * rnd + 啟始值)

一定記的 rnd 函式返回乙個小於 1 但大於或等於 0 的值 也就是0.00到0.99之間

好了我們得到怎麼得隨機數的公式了我們就把這樣公式坐成函式 方便我們以後呼叫

*/function 隨機數(啟始數, 結束數)//要給個形參  這樣在呼叫的時候來得到的啟始跟結束的實參

randomize

隨機數=int ((結束數 - 啟始數 + 1) * rnd + 啟始數)

end function

//這樣我們在主程式裡呼叫一下這個隨機數

得到隨機數 = 隨機數(10, 30) 

traceprint "得到的隨機數是 " & 得到隨機數

//好了  這只是調式看看能不能正確得到隨機數的演示  下面我們來 完成  上面的題

//第乙個 就是陣列的遍歷賦值   我們用迴圈來做 比如for 迴圈

//第二個 就是隨機數    這個隨機數按鍵精靈裡有得到隨機數專用的公式  

//上面我們已經得生成隨機數的功能函式做好了,現在只要呼叫就行了。

dim 隨機數陣列(99)

最大數值=0  //這裡有最大數值來記錄陣列元素的值的最大數  開始讓他等於最小

for i= 0 to 99 step 1

隨機數陣列(i) = 隨機數(10, 30)//這裡就是把10,30的實參傳遞到隨機數函式形參裡處理結果然後給陣列賦值

traceprint 隨機數陣列(i)

if 最大數值< 隨機數陣列(i) then  //這裡因為最大數值=0 所以條件成立 就等於是把 隨機數的值給了最大數值了  

最大數值 = 隨機數陣列(i)//因為這是迴圈 下次在判斷 如果大於最大數不小於隨機數陣列也就是說明這個

//數是《最大數值》下面  就沒必要記錄了 然後在接成判斷下乙個  這樣一直操做

//值到迴圈結束, 也就得到了最大數值了。

end if

traceprint 最大數值     //輸出出來最大數的值

next

/*這樣就做到了遍歷陣列  然後給每個陣列乙個隨機數了

這裡的重點就是記住 隨機數的公式  然後還有在用隨機數的時候 先要 初始化一下。

先使用無引數的 randomize 語句初始化隨機數生成器

(隨機數公式就是 

randomize

int((結束值 - 啟始值 + 1) * rnd + 啟始值)

)好了我們得到怎麼得隨機數的公式了我們就把這樣公式坐成函式 方便我們以後呼叫

*/

隨機數生成 偽隨機數和真隨機數

c語言隨機數的生成,很隨機,又不隨機,比如像下面的程式 c語言生成隨機數的函式在stdlib.h庫中 include includeint main return 0 上面的 經過執行生成了 41 18467 6334 26500但是無論執行多好遍結果都是一樣的,隨機數並不隨機。這是因為rand 函...

生成隨機數 js生成隨機數的方法

這幾天一直在研究前台div元素的隨機定位的問題,而這裡面涉及到了js生成隨機數的方法,就下功能研究了一翻,並整理了一些資料以防以後再用得到。在js中可以使用 math 對像來實現隨機數的生成,但是這個對像有幾個方法,先了解一下 1 js中的 ceil 方法 ceil 方法對數字進行四捨五入,向上取整...

隨機生成隨機數

現畫乙個command命令按鈕,進行貼上。private sub command1 click show me scale 0,0 18,8 me.auto redraw true me.draw mode 2 circle 3,4 3,vb red me.auto redraw false lin...