100年 司法特考 三等 檢察事務官電子資訊組 程式語言 試卷

pdf
94.99 KB
1 頁
侵權投訴
加載中. ..
PDF
100年公務人員特種考試司法人員考試試題 代號
別: 三等考試
科: 檢察事務官電子資訊組
目: 程式語言
考試時間: 2小時
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
全一頁
30780
一、編寫程式有時需叫用(invoke)能產生亂數(random number)的副程式。請問為何
叫用副程式以產生亂數前應先設定亂數種子(random seed)?作為亂數種子的值可
以是固定數值也可以是系統時間,請各舉一例分別說明固定數值及系統時間之適用
時機。(20 分)
二、程式語言中交換兩個變數時,常以暫存變數 tmp 協助交換。
請以虛擬碼(pseudo code)寫出如何在主程式中交換兩個變數(v1v2)。
5分)
C語言的指標(pointer)寫法,寫出主程式如何叫用副程式,以交換兩個整
數變數(v1v2)。再寫出完整的副程式。副程式名稱為 swap,且無傳回值
return value)。(10 分)
以傳參考叫用(call by reference)的方式,用 C++將交換兩個整數變數 v1
v2)的過程寫成完整的副程式。副程式名稱為 swap,且無傳回值。(5分)
三、費氏(Fibonacci)數列定義如下:
FB0B = 0; FB1B = 1; n> 1 時,FBnB = FBn - 1B + FBn - 2B
以遞迴(recursive)方式寫出可得出費氏數列中第 n個數的虛擬碼。(5分)
若要得出FB5B,則FB0BFB1BFB2BFB3BFB4B各被重覆叫用幾次?(5分)
為了避免因為遞迴叫用FBn - 1B FBn 2B所浪費的重覆計算時間,如何修改
中的虛擬
碼,使得該函式仍是以遞迴方式進行,但計算過的FBn - 1B FBn 2B不須重覆計算?(
10 分)
四、以 C++JAVA 為例,說明程式語言如何提供異常處理(exception handling)的機
制。並根據所描述的機制,分別就強固性(robust)、可讀性及可維護性,說明異
常處理的機制對應用程式的重要性。(20 分)
何謂晚期繫結(late binding)?晚期繫結相對於早期繫結(early binding)有何
優、缺點?以物件導向(object oriented)程式的多形(polymorphism)和複載
overloading)為例,兩者的繫結時機相同或不同?解釋其相同或不同之原因。
20 分)
收藏 ⬇️ 下載