陣列+迴圈一向是統測計概程式題的最愛,同學應在這二大部份認真的準備。
單純陣列的應考重點在於「
計算陣列元素的個數」(搭配迴圈時考法會有所不同)。
VB的陣列預設由0開始,例如 Dim A(5) As Integer,其實含有 0, 1, 2, 3, 4, 5 共6個元素。
陣列也可以自己訂定,例如: Dim B(2 To 5) As Integer,則含有 2, 3, 4, 5 共4個元素。
計算的公式為 (5 - 2 + 1),亦即
(最大 - 最小 + 1)。
二維陣列如 C(2, 3) 則有 (0 To 2) × (0 To 3) 共 12 個元素。計算的公式為(2-0+1)×(3-0+1)=12,
三維、四維或更多維的陣列元素計算方式都是如此。
陣列註標的起始值可以為0或是為1,如果要從1開始,只要在第一行鍵入 Option Base 1 即可。要注意的是只能是0或1,不能有其他的值。如果已經使用 Option Base 1,又想要從2或3之類的開始呢?那…就用上面說過的 Dim D(3 To 8) As Integer就可以啦…^_^。
請問下列的程式會有幾個元素呢?
Option Base 1
Dim A(0 To 3) As Integer
答案是 0,1,2,3 共4個,原因是這種有指定 m To n 的方式,是不受 Option Base 1 的限制的。
單純陣列並不會太難, 最後引一題 94 年統測的題目做為練習。
◎ 執行下列BASIC程式片段時,請問陣列A占用記憶體多少 Bytes 的儲存空間?
Dim A(3, 4) As Double
(A) 160 (B) 96 (C) 80 (D) 48
【答案】 (A)
【解析】
(3 - 0 + 1) × (4 - 0 + 1) = 20 個元素,Double 倍精準型態每個元素佔 8 Bytes,
共占用 20 × 8 = 160 Bytes。
陣列宣告後若未賦予初值,則預設的初值視宣告時的資料型態而定,
數值型態 → 初值為:「0」
字串型態 → 初值為:「空字串」
自由型態 → 初值為:「Empty」
【註】如果題目要求印一個沒有宣告的變數,例如: Print A,那是不會印出任何東東滴…^_^