司法三等申論題
110年
[檢察事務官電子資訊組] 程式語言
第 一 題
📖 題組:
二、
二、
📝 此題為申論題,共 2 小題
小題 (一)
變數的種類可概分為區域變數(Local Variable)、全域變數(Global Variable)與靜態變數(Static Variable),請就宣告方式、有效範圍(Scope)、程式碼維護比較其差異。(15 分)
思路引導 VIP
引導考生先界定變數的核心差異:記憶體配置區段(Stack vs. Data segment)、生命週期(Lifetime)與可見度(Scope)。接著依照題目要求的「宣告方式、有效範圍、程式碼維護」逐條論述,並建議撰寫一段簡潔的 C 語言程式碼,透過註解明確標示變數的生命週期,最後以「最小權限與封裝原則」來總結可維護性的高低優劣。
小題 (二)
遞迴函式(Recursive Function)通常也可以改用迴圈(Loop)方式來撰寫,請就程式碼撰寫難易度、理解性、執行效能、記憶體使用比較其差異。(10 分)
思路引導 VIP
面對遞迴與迴圈的比較題,應立即聯想到「系統底層實作」的差異。切入點應為:遞迴依賴記憶體中的『呼叫堆疊(Call Stack)』與『活動紀錄(Activation Record)』,而迴圈依賴 CPU 的『條件跳躍(Branching)』與『暫存器狀態更新』,依此推導出兩者在四大面向(難易度、理解性、效能、記憶體)的優劣。