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

第 一 題

📖 題組:
二、
📝 此題為申論題,共 2 小題

小題 (一)

變數的種類可概分為區域變數(Local Variable)、全域變數(Global Variable)與靜態變數(Static Variable),請就宣告方式、有效範圍(Scope)、程式碼維護比較其差異。(15 分)

思路引導 VIP

引導考生先界定變數的核心差異:記憶體配置區段(Stack vs. Data segment)、生命週期(Lifetime)與可見度(Scope)。接著依照題目要求的「宣告方式、有效範圍、程式碼維護」逐條論述,並建議撰寫一段簡潔的 C 語言程式碼,透過註解明確標示變數的生命週期,最後以「最小權限與封裝原則」來總結可維護性的高低優劣。

🤖
AI 詳解
AI 專屬家教

【破題】變數依其宣告位置與修飾詞的不同,具備不同的有效範圍(Scope)與生命週期(Lifetime),並直接影響記憶體配置機制(Stack vs. Data Segment)與程式碼的可維護性。 【論述】 一、學術定義與記憶體運作原理

小題 (二)

遞迴函式(Recursive Function)通常也可以改用迴圈(Loop)方式來撰寫,請就程式碼撰寫難易度、理解性、執行效能、記憶體使用比較其差異。(10 分)

思路引導 VIP

面對遞迴與迴圈的比較題,應立即聯想到「系統底層實作」的差異。切入點應為:遞迴依賴記憶體中的『呼叫堆疊(Call Stack)』與『活動紀錄(Activation Record)』,而迴圈依賴 CPU 的『條件跳躍(Branching)』與『暫存器狀態更新』,依此推導出兩者在四大面向(難易度、理解性、效能、記憶體)的優劣。

🤖
AI 詳解
AI 專屬家教

【破題】 「遞迴(Recursion)」係指函式在執行過程中直接或間接呼叫自身,其語義模型高度依賴系統的「呼叫堆疊(Call Stack)」來管理控制流程;「迴圈(Iteration)」則基於指令集中的條件跳躍(Conditional Branch)來重複執行特定程式區塊。兩者在計算能力上等價(Turing Complete),但在系統資源與編程典範上有顯著差異。 【論述】

升級 VIP 解鎖