司法三等申論題
105年
[檢察事務官電子資訊組] 程式語言
第 一 題
📖 題組:
假設有一個三維矩陣(3 dimensional matrix),三個維度分別是(2M+1)、(2M+1)、(2M+1)。每一個元素(element)所占用的記憶體單元為 N bytes。若矩陣的第一個元素之位址為 K,請回答下列問題: (一)可否找出三維矩陣中心點之元素位址?若可,請列出計算公式。(10 分) (二)在(一)中之公式,是否會因程式語言之不同而異,請說明之。(5 分)
假設有一個三維矩陣(3 dimensional matrix),三個維度分別是(2M+1)、(2M+1)、(2M+1)。每一個元素(element)所占用的記憶體單元為 N bytes。若矩陣的第一個元素之位址為 K,請回答下列問題: (一)可否找出三維矩陣中心點之元素位址?若可,請列出計算公式。(10 分) (二)在(一)中之公式,是否會因程式語言之不同而異,請說明之。(5 分)
📝 此題為申論題,共 2 小題
小題 (一)
可否找出三維矩陣中心點之元素位址?若可,請列出計算公式。(10 分)
思路引導 VIP
本題測驗多維陣列在記憶體中線性化(Linearization)的位址計算。解題關鍵在於確立中心點相對於起始元素的各維度偏移量(皆為 M),並代入 Row-major 或 Column-major 的多維陣列定址公式中推導,亦可利用幾何對稱性快速驗證。
小題 (二)
在(一)中之公式,是否會因程式語言之不同而異,請說明之。(5 分)
思路引導 VIP
看到多維陣列的記憶體位址計算,應立刻聯想到「以列為主(Row-major)」與「以行為主(Column-major)」兩種記憶體配置機制。作答時需點出不同程式語言採用的機制不同(如 C 語言與 Fortran 的差異),列出兩者的通式來證明公式的差異,最後務必補充分析在『維度與索引完全對稱』的特殊情況下,其位址結果會恰好相等的數學巧合,以展現答題深度。