
108年公務人員特種考試關務人員、身心障礙人員考試及
108年國軍上校以上軍官轉任公務人員考試試題
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
得以本國文字或英文作答。
一、下列為計算費波那契數列(Fibonacci numbers)的遞迴與非遞迴程式:
遞迴程式:
def fib_r(n):
if n
==
0 or n
==
1:
return n
else:
return fib_r(n-1) + fib_r(n-2)
非遞迴程式:
def fib_un(n):
if n
==
0 or n
==
1:
return n
a = 0
b = 1
for i = 2 to n:
temp = b
b = a + b
a = temp
end
return b
試計算使用遞迴及非遞迴方式求費波那契數列的時間複雜度為何?
(9分)
及非遞迴方式對費波那契數列分別有何優點?(8分)
又有何缺點?(8分)

二、請說明在 CPU、記憶體(memory)、快取記憶體(cache)之間資料傳遞
時發生寫入(write through)與寫回(write back)之下列問題:
試述何謂寫入(write through)?(5分)
write back)?(5分)
write through)與寫回(write back)分別有何優點、缺點?
(15 分)
三、有一程式碼如下,試問總共 create 出幾個 process?(25 分)
for(i=0;i<3;i++)
{
if(fork()
==
0)
{
fork();
fork();
fork();
}
}
四、請說明直譯式程式語言(Interpreted language)與編譯式程式語言(Compiled
language)之下列問題:
(10 分)
10 分)
Javascript、Python、C、Pascal、HTML、Java,上述六個程式語言,何
者為直譯式程式語言?(5分)