
102 年農田水利會新進職員聯合統一考試試題
甄試類別【代碼】:一般行政人員-電腦組【D8301-D8305】
專業科目一:程式設計概要 *請填寫入場通知書編號:________________
注意:作答前須檢查答案卡(卷)、入場通知書編號、桌角號碼、應試類組是否相符,如有不同應立即請監
試人員處理,否則不予計分。
本試卷為一張雙面,測驗題型分為【單選選擇題 15 題,每題 2分,合計 30 分】與【非選擇題 4
題(其中 3題配分為 20 分,1題配分為 10 分),合計 70 分】。
四選一單選選擇題限以2B 鉛筆於答案卡上作答,請選出最適當答案,答錯不倒扣;未作答者,不予計分。
非選擇題限用藍、黑色鋼筆或原子筆於答案卷上採橫式作答,請從答案卷內第一頁開始書寫,違反
者該科酌予扣分,不必抄題但須標示題號。
本項測驗禁止使用電子計算機。
答案卡(卷)務必繳回,未繳回者該科以零分計算。
壹、單選選擇題 15 題【每題 2分,合計 30 分】
【2】1.在Visual Basic 中,如果 temp 及x是二個整數變數,temp 等於 10,x等5,則「temp+=x」及「x-=2」二個指
令執行後,temp 及x各為多少?
temp=5、x=2 temp=15、x=3 temp=5、x=3 temp= 15、x=2
【3】2.在Visual Basic 中,邏輯運算式「5>3 Or 6>8」及「5>10 And 6<8」的結果各為何?
False、False True、True True、False False、True
【1】3.在Visual Basic 中,下列哪一種流程最適合用來計算數值的累加?
For… Next Select Case If…Then Sub…End Sub
【4】4.在Visual Basic 中,下列哪一種迴圈敘述,可以確定迴圈內的敘述至少會被執行一次?
For…Next While … End While Do While… Loop Do… Loop Until
【3】5.在Visual Basic 中,Sub(副程序)及Function(函式)是二種用來宣告副程式的方式,請問他們之間主要的差異為何?
Sub 不可以傳入參數,Function 可以傳入參數
Sub 可以傳入參數,Function 不可以傳入參數
Sub 沒有回傳值,Function 可以有回傳值
Sub 可以有回傳值,Function 沒有回傳值
【1】6.在Visual Basic 中,「CInt(12444.5)」執行後所得到的值應該為多少?
12444 12444.5 12445 12445.5
【3】7.對一空的堆疊(stack)連續執行 push(2), push(6), pop(), push(5), push(3),pop(), pop(), pop()等8個操作後,請問自堆
疊取出之數字順序為何?
3562 2653 6352 3526
【2】8.將十進位 133 轉換為十六進位表示法,下列何者正確?
(83)16 (85)16 (53)16 (35)16
【2】9. (11001101)2為二進位補數,以十進位表示為下列何者?
-15 -51 51 15
【3】10.請問下列哪個計算複雜度指標表示最大(最複雜)?
O(n) O(n log n) O(n2) O(log n)
【1】11.請問下列 C語言程式執行後輸出為何?
int S=0, i=0, j=0;
for(i=1 ; i<10 ; i=i+2){
for (j=1; j<i ; j=j+1){
S++;
}
}
printf(“%dn”,S);
20 26 30 36
【3】12.請問下列 Java 程式輸出為何?
int x=0, y=12;
do{ } while(x++<y);
system.out.println(x);
11 12 13 迴圈不會停止
【4】13.請問下列 C語言程式執行後輸出為何?
int y[5]={2, 4, 6, 8, 10};
int* p=y+1;
printf(“%dn”,p[2]);
2 4 6 8
【2】14.一已排序陣列有 4095 個數字元素,利用二元搜尋法搜尋一個不存於此陣列中的數字時,至少需要執行幾次數字
比較?
11 12 13 14
【3】15.河內塔(Hanoi Tower)問題搬移規則 (1)每次僅由柱子上方搬一盤子,任置於 A, B 或 C 柱(2)任一柱遵守小盤子
在大盤子上方。已知 2個盤子由 A移至 C最少須 3次移動,請問 3個盤子最少須移動幾次?
5 6 7 8
貳、非選擇題 4題【其中有 3題(配分 20 分)、1題(配分 10 分),合計 70 分】
題目一:
函式 T(n)定義為:
1n1),2T(n2)T(n
1n1,
0n0,
T(n)
n為非負整數,請回答下列問題:
(一)請計算 T(5)的值?【5分】
(二)請用遞迴函式寫出計算 T(n)的虛擬程式碼(pseudo code)。【10 分】
(三)假設您的程式為 recursiveT(n),請問執行 recursiveT(5)時共呼叫幾次 recursiveT(n)函式?
【5分】
題目二:
有關二元搜尋(binary search)法,一已排序陣列(array) 如下:
999593927977765534252412931A
,索引(index)為0~14:
(一)請寫出二元搜尋有序陣列之虛擬程式碼,找到目標值時回傳其在陣列中之索引值,找不到時回
傳–1。【10 分】
(二)在 A中搜尋 8時,請問依序須比較哪些元素?【4分】
(三)請用 A的元素,以 55 為根,畫出一個二元搜尋樹,須為圓滿樹(full complete tree)。【6分】