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

第 三 題

三、請敘述在程式語言中,靜態領域(static scoping)和動態領域(dynamic scoping)有何不同?請舉例並說明其優缺點各為何。(25 分)
📝 此題為申論題

思路引導 VIP

看到此題,應立即聯想到變數綁定(Binding)的時機與依據:空間(程式碼實體結構)與時間(執行時的呼叫堆疊)。解題時務必寫出一個有層次呼叫的程式碼範例,並分別寫出兩種領域規則下的執行結果,最後從編譯器實作(如執行效率、可讀性)的角度切入分析優缺點,即可拿高分。

🤖
AI 詳解 AI 專屬家教

【破題】 領域(Scoping)規則決定了程式語言如何解析(Resolve)非區域變數(Non-local variables)。靜態領域依賴程式碼的實體結構,在編譯期進行綁定;動態領域則依賴程式執行的呼叫堆疊,在執行期進行綁定。 【論述】

▼ 還有更多解析內容

升級 VIP 解鎖