普考申論題
112年
[資訊處理] 程式設計概要
第 一 題
📖 題組:
請說明下列程式設計概念的差異。(每小題 5 分,共 20 分) (一)請說明傳址(call-by-reference)與傳值(call-by-value)參數傳遞的差異。 (二)請說明靜態及動態記憶體(static memory allocation vs. dynamic memory allocation)配置的主要差別。 (三)請說明語法錯誤(syntax error)、語意錯誤(semantic error)、執行錯誤(run-time error)的主要差別。 (四)上述的錯誤,編譯程式過程中可以發現的是那一種錯誤(可複選)?
請說明下列程式設計概念的差異。(每小題 5 分,共 20 分) (一)請說明傳址(call-by-reference)與傳值(call-by-value)參數傳遞的差異。 (二)請說明靜態及動態記憶體(static memory allocation vs. dynamic memory allocation)配置的主要差別。 (三)請說明語法錯誤(syntax error)、語意錯誤(semantic error)、執行錯誤(run-time error)的主要差別。 (四)上述的錯誤,編譯程式過程中可以發現的是那一種錯誤(可複選)?
📝 此題為申論題,共 4 小題
小題 (一)
請說明傳址(call-by-reference)與傳值(call-by-value)參數傳遞的差異。
思路引導 VIP
看到這題,首先回想兩者在「記憶體操作」與「對原始變數的影響」上的根本差異。建議採用對比方式,從定義、記憶體配置及修改後的結果三個面向進行條列式說明,並可補充適用時機,以利閱卷委員快速抓到給分關鍵。
小題 (二)
請說明靜態及動態記憶體(static memory allocation vs. dynamic memory allocation)配置的主要差別。
思路引導 VIP
看到比較題,應立即從「配置時機(編譯期 vs 執行期)」、「記憶體區段(Stack/Data vs Heap)」與「生命週期管理」三個核心維度進行切入。建議採用條列式對比,讓閱卷委員能一眼看出你對計算機系統架構的清晰理解。
小題 (三)
請說明語法錯誤(syntax error)、語意錯誤(semantic error)、執行錯誤(run-time error)的主要差別。
思路引導 VIP
看到這題,應從「錯誤發生的階段」(編譯期或執行期)及「錯誤的本質」(文法違規、邏輯不符預期、或執行時異常)切入。建議採用條列式說明,分別精確定義這三種錯誤,並適度搭配簡單的程式範例或情境來輔助說明,以展現專業度與清晰的邏輯。
小題 (四)
上述的錯誤,編譯程式過程中可以發現的是那一種錯誤(可複選)?
思路引導 VIP
作答時應回想編譯器(Compiler)的運作流程:包含語法分析與語意分析階段,但不包含程式的實際執行。藉此推導出編譯器能捕捉違反規則的靜態錯誤,無法預測動態執行時期的錯誤。