免費開始練習
司法三等申論題 105年 [檢察事務官電子資訊組] 程式語言

第 一 題

📖 題組:
假設有一個三維矩陣(3 dimensional matrix),三個維度分別是(2M+1)、(2M+1)、(2M+1)。每一個元素(element)所占用的記憶體單元為 N bytes。若矩陣的第一個元素之位址為 K,請回答下列問題: (一)可否找出三維矩陣中心點之元素位址?若可,請列出計算公式。(10 分) (二)在(一)中之公式,是否會因程式語言之不同而異,請說明之。(5 分)
📝 此題為申論題,共 2 小題

小題 (一)

可否找出三維矩陣中心點之元素位址?若可,請列出計算公式。(10 分)

思路引導 VIP

本題測驗多維陣列在記憶體中線性化(Linearization)的位址計算。解題關鍵在於確立中心點相對於起始元素的各維度偏移量(皆為 M),並代入 Row-major 或 Column-major 的多維陣列定址公式中推導,亦可利用幾何對稱性快速驗證。

🤖
AI 詳解
AI 專屬家教

【解題思路】確立中心點在各維度相對於首元素的位移量皆為 M,並利用多維陣列線性化(Linearization)公式計算實體記憶體位址。 【詳解】 已知:

小題 (二)

在(一)中之公式,是否會因程式語言之不同而異,請說明之。(5 分)

思路引導 VIP

看到多維陣列的記憶體位址計算,應立刻聯想到「以列為主(Row-major)」與「以行為主(Column-major)」兩種記憶體配置機制。作答時需點出不同程式語言採用的機制不同(如 C 語言與 Fortran 的差異),列出兩者的通式來證明公式的差異,最後務必補充分析在『維度與索引完全對稱』的特殊情況下,其位址結果會恰好相等的數學巧合,以展現答題深度。

🤖
AI 詳解
AI 專屬家教

【破題】 計算多維陣列元素位址的公式,確實會因為程式語言所採用的記憶體配置機制不同而有所差異,主要分為「以列為主(Row-major)」與「以行為主(Column-major)」兩種。 【論述】

升級 VIP 解鎖