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

pdf
113.24 KB
1 頁
win7 2007
侵權投訴
加載中. ..
PDF
106年公務關務人員升官等考試106年交通
事業鐵路公路港務人員升資考試試 代號:26250 全一頁
等級 薦任
類科(別) 資訊處理
科目 程式語言
考試時間 2 小時
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目得以本國文字或英文作答。
(請接背面)
一、一個小型程式語言的語法(grammar)定義如下:
這個語法描述的程式語言只有分配(assignment)這一種陳述式(statement)格式。
程式 program 包含了特別字(special wordbegin,緊接著的是很多行的陳述式用分
號分隔開來,最後使用特別字 end 做結束。運算式(expression)可以是變數本身,
也可以是二個變數用+運算子(operator)分隔開來。這些變數用的名稱只有 A
BC,請把下列陳述式的演繹過程(derivation)寫下來:20 分)
何謂靜態(static)變數、堆疊動態(stack-dynamic)變數、外顯堆積動態(explicit
heap-dynamic變數及內隱堆積動態implicit heap-dynamic變數?並分別說明其優
點和缺點。20 分)
請比較函數式程式設計(functional programming)和指令式程式設計(imperative
programming)的差別。20 分)
四、一個簡單的分配陳述式(assignment statements)語法(grammar)如下:
上述的語法說明了分配陳述式的右邊是含有加法乘法和小括弧的算數運算式arithmetic
expressions,請使用最左演繹(leftmost derivation)完成下列的陳述式:20 分)
A = B *(A + C)
請說明下列參數傳遞方法:pass-by-valuepass-by-resultpass-by-value-result
pass-by-reference 的優點和缺點。20 分)
<assign> Æ <id> = <expr>
<id> Æ A | B | C
<expr> Æ <id> + <expr>
| <id> * <expr>
|(<expr>)
| <id>
begin
A = B + C;
B = C
end
<program> Æ begin <stmt_list> end
<stmt_list> Æ <stmt>
| <stmt> ; <stmt_list>
<stmt> Æ <var> = <expression>
<var> Æ A | B | C
<expression> Æ <var> + <var>
| <var> <var>
| <var>
收藏 ⬇️ 下載