100年 關務特考 四等 資訊處理 程式語言概要 試卷

pdf
156 KB
2 頁
MIS
侵權投訴
加載中. ..
PDF
100
年公務人員特種考試海岸巡防人員考試、
100
年公務
人員特種考試關務人員考試、
100
年公務人員特種考試稅
務人員考試、
100
年特種考試退除役軍人轉任公務人員考
試及
100
年國軍上校以上軍官轉任公務人員考試試題
代號34430
別: 四等關務人員考試
類(科)別: 資訊處理
目: 程式語言概要
考試時間: 1小時 30
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
(請接背面)
全一張
正面
一、大部分程式語言要求陣列(array)的元素必須是同一種資料型態(data type),而
且將陣列元素依照行(row)或列(column)為主的方式將其對應到記憶體位置,
假設 A是一個 m×n的二維整數陣列:(10 分)
var A : array[1..m,1..n] of integer;
另外假設每個整數需要 kbytes,陣列 A的開始位置為 a
m = 2, n = 3, k = 4, a = 2000 為例,說明以行為主和以列為主時,陣列 A每個元
素在記憶體中的開始位置。
分別推導出以行為主和以列為主時,A[i, j], 1 i m, 1 j n在記憶體中的開始
位置。
二、程式語言通常要求等號(assignment, =:=)左右兩邊需要有相同的資料型態,檢查
資料型態是否相同的方法可分為靜態(static)和動態(dynamic)兩種方式,針對
以下敘述,判斷那些是對的?那些是錯的?並簡單說明其理由。(只有答案者不計
分)(20 分)
動態核對資料型態會使我們撰寫的程式執行起來更有效率。
核對資料型態使我們撰寫的程式比較不容易出錯。
任一種程式語言都可以用靜態方式來核對資料型態。
若程式可以分成許多模組,分別在不同時間翻譯,例如 C程式,則不管怎麼做,
採用靜態核對資料型態就無法完全核對資料型態是否相符。
許多程式語言的編譯器將程式所需使用的資料分別放在不同區域:(1)固定區(static)、
(2)堆疊區(stack)和(3)堆積區(heap)。(20 分)
說明將資料分區儲存的目的為何?
分別舉例說明那些資料最適合存放在那個區域。
四、以下是 1個函數(function),用類似 CC-like)的語言來表示。假設輸入的參數
n都是正整數,請回答下列問題:(10 分)
這個函數在計算什麼?(用 n的函數來表示)
將這個函數改成不用 recursive call 的寫法。
1) int f(n) {
2) if (n > 1)
3) return n * f(n – 1);
4) else
5) return 1;
6) }
100
年公務人員特種考試海岸巡防人員考試、
100
年公務
人員特種考試關務人員考試、
100
年公務人員特種考試稅
務人員考試、
100
年特種考試退除役軍人轉任公務人員考
試及
100
年國軍上校以上軍官轉任公務人員考試試題
代號34430
別: 四等關務人員考試
類(科)別: 資訊處理
目: 程式語言概要
全一張
背面
五、Prolog 是一個邏輯程式語言(logic programming language),它可以描述事實(fact)、
規則(rule)以及目標(goal),以下有 5個事實、2個規則:
1) parent(carol, john).
2) parent(john, mary).
3) parent(mary, jim).
4) parent(john, sue).
5) parent(david, jim).
6) ancestor(X, Y) :=parent(X, Y).
7) ancestor(X, Z) :=parent(X, Y), ancestor(Y, Z).
假設目標是 ancestor(john, X).則根據這些事實,滿足條件的 X有那些?(20 分)
六、程式語言的語法可用 BNFBackus-Naur Form)來描述,請參考以下語法,其中開
始符號(starting symbol)是 Sa為運算元(operand)、其餘 3terminal symbols
為運算子(operator),請回答下列問題:(20 分)
1) S S @ T | T
2) T W ! T | W
3) W # W | a
依照句子的長度,從短到長,寫出符合語法且長度不超過 3的所有句子。
依照從高到低的優先順序(precedence),列出此語言的 3個運算子。
那些為二元運算子?
那些二元運算子是左結合(left associative)?那些二元運算子是右結合(right
associative)?
收藏 ⬇️ 下載