司法三等申論題
107年
[檢察事務官電子資訊組] 程式語言
第 三 題
三、請敘述在程式語言中,靜態領域(static scoping)和動態領域(dynamic scoping)有何不同?請舉例並說明其優缺點各為何。(25 分)
📝 此題為申論題
思路引導 VIP
看到此題,應立即聯想到變數綁定(Binding)的時機與依據:空間(程式碼實體結構)與時間(執行時的呼叫堆疊)。解題時務必寫出一個有層次呼叫的程式碼範例,並分別寫出兩種領域規則下的執行結果,最後從編譯器實作(如執行效率、可讀性)的角度切入分析優缺點,即可拿高分。
🤖
AI 詳解
AI 專屬家教
【破題】 領域(Scoping)規則決定了程式語言如何解析(Resolve)非區域變數(Non-local variables)。靜態領域依賴程式碼的實體結構,在編譯期進行綁定;動態領域則依賴程式執行的呼叫堆疊,在執行期進行綁定。 【論述】
▼ 還有更多解析內容