
109年公務人員高等考試三級考試試題
※注意:禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:
頁次:
-
一、線路交換(circuit switching)和分封交換(packet switching)是兩個重要
的網路資料交換技術。請詳述兩者的工作原理並加以比較。(20分)
二、什麼是跨平台編譯器(cross-compiler)?請詳加解釋並舉例說明其用途。
(20分)
三、有一個二元樹(binary tree)共有10個節點,每個節點均儲存一個英文字
母。若此二元樹:
使用中序走訪(inorder traversal)的結果為:R T D P X Y K
G A B
且使用層序走訪(level order traversal)的結果為:P R X D A T
K B Y G
則此二元樹為何?請畫出此二元樹。(20分)
四、某一作業系統之CPU排程為循環分配方法(round-robin scheduling),今有
一排程,共有四個程序,其排隊順序為P1、P2、P3及P4,個別所需執行時
間如下表所示。請問在此排程中,若時間配額(time quantum)分別採用
3毫秒與5毫秒,則那一種時間配額可以得到較小之平均回覆時間(average
turnaround time)?請畫出甘特圖(Gant chart)及詳列計算過程。(20分)
程序 所需執行時間(毫秒)
P1 3
P2 6
P3 1
P4 7

代號:
頁次:
-
五、以下C++程式的目的為何?詳述執行流程並寫出程式的輸出。(20分)
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
int x = 30, y = 100, ok = 1;
int i, j;
for(i = x ; i <= y; i++){
ok = 1;
for(j = 2; j < i ; j++)
if(i % j == 0){
ok = 0;
break;
}
if(ok == 1) cout << i << " ";
}
cout << endl;
return 0;
}