108年 公務人員升官等 薦任 資訊處理 程式語言 試卷

pdf
88.72 KB
3 頁
win7 2007
侵權投訴
加載中. ..
PDF
108
年公務、關務人員升官等考試、
108
年交通
薦任
類科資訊處理
程式語言
2小時 座號:
※注意:
使
使
代號:
2
6250
頁次:
3
1
一、請寫一個 Python 語言函式functionreverse_sentences,回傳所傳
送進去的字串逐字翻轉reverse例如reverse_sentenceabc def
回傳def abc20 分)
二、根據下列 C語言程式,回答下列問題。(每小題 5分,共 15 分)
若參數的傳遞方式是傳pass by value程式執行所輸出數字為何?
若參數的傳遞方式是傳參考pass by reference程式執行所輸出數字
為何?
若參數的傳遞方式是傳值與結果pass by value-result程式執行所
出數字為何?
void add (int x, int y) {
x += x;
y += y;
}
void main() {
int a[2] = {1, 3};
add (a[0], a[1]);
printf (“%d %dn”,
a[0], a[1]);
}
代號:
26250
頁次:
3
2
三、定義一個由以下符號所組成的運算式。
二元運算子: *, +, ->, <->
一元運算子:~
變數:X, Y, Z
括號:(, )
運算的優順序precedence)依序為~,{*, +}, {->, <->}
是由left-associative,括號必須左右對稱且先左後右。
合法的運算式有如:X, Y, ~Y+~X,(Y*X<->Z*X), ~~Y
(~(X))->(Z)。而不合法的運算式則如:X~, Z->YZY *X)Y+Z(
請完成以下 BNF grammar用以產生所有合法的運算式但不會產生
不合法的運算式。15 分)
<var> ::= X | Y | Z
<factor> ::= ? | ? | ?
<term> ::= ? | ? | ?
<exp> ::= ? | ? | ?
請畫出 Y*X->Z 剖析樹(parse tree5
四、下 STAFF ID, DEPT, EXAM1, EXAM2,
LEVEL 5 SQL (每 5 20
ID DEPT EXAM1 EXAM2 LEVEL
A3452 E_Car 45 72 3
A4152 A_Boat 45 54 2
A2451 E_Car 51 89 4
. . .
寫出「列出所有 DEPT(不可重複)」的 SQL 指令。
寫出「列出 ID, DEPT, LEVEL,但要按照 ID 字母順序排序」的 SQL
指令。
寫出「列出 EXAM1 成績由高至低人員的 ID EXAM1 成績同分
EXAM2 成績較高者優先列出」的 SQL 令。
寫出「能依 DEPT 順序,將該 DEPT 所有人員的 DEPT, ID, EXAM1,
EXAM2 資料列出」的 SQL 指令。
代號:
26250
頁次:
3
3
五、下列問題請用 Scheme/Lisp 程式語言來回答。
請只用 cons 函式來建 s-expression (A (B) C)5分)
請只用 list 函式來建出 s-expression (A (B) C)5分)
給定 x為變數且已執行(setf x (A (B) C))請只用 car cdr 函式來
x中取得 B5分)
請寫一個遞迴函式 sumall 以加總一個串列list所有數字例如
sumall nil 0sumall (100))回傳 100sumall (12345))
回傳 1510 分)
收藏 ⬇️ 下載