高普考題庫
102 年 102年公務人員高等考試三級考試暨普通考試

程式語言

本卷皆為申論題,點「看答案與解析」查看擬答。

申論 1請回答下列程式語言的問題:㈠就程式語言來說,什麼是Object-Oriented languages? Functional languages? Logiclanguages? Script languages?(12 分)㈡從上述㈠的四種語言中,除Logic languages 外,每種語言各舉兩個現存的語言。(6 分)㈢最近語言的發展中,像Functional languages 與Script languages,都逐漸引進物件導向性質(OO),就這兩類語言,各舉一個近來發展出且具有OO 性質的語言。(2 分)
申論 2考慮下述用類似C 語言的語法寫出的程式:void swap(int a, int b) {int temp;temp = a;a = b;b = temp;}void main() {int value = 1, list[4] = {2, 3, 4, 5} //Array list is list[1..4]swap(value, list[1]);swap(list[1], list[2]);swap(value, list[value])}根據以下的參數傳遞(parameter passings)模式,逐一列出在程式執行完畢之後的value 與list 值:㈠Passed by value? (5 分)㈡Passed by reference? (5 分)㈢Passed by name?(5 分)
申論 3根據每一個元素(element)包含16 個英文字母的circular queue,當用長度m 的陣列(array)來實作使用JAVA 語言寫出下列兩個方法的完整定義:㈠Enqueue(10 分)㈡Dequeue(10 分)102年公務人員高等考試三級考試試題 代號:36240類 科: 資訊處理科 目: 程式語言
申論 4對C#與JAVA 的concurrency 而言:㈠C#的thread 可以是actor thread 嗎?JAVA 的呢?(5 分)㈡C#的thread 可以被非同步呼叫嗎?JAVA 的呢?(5 分)㈢C#的sleep method 與JAVA 的sleep method 有何不同?(5 分)
申論 5考慮下述Prolog 程式:ancestor (x, x).ancestor(x, y) :- ancestor(z, y), parent(x, z)parent(Allen, John).用一個subgoal 的搜尋樹(search tree),描述此Prolog 程式在執行查詢:ancestor(Allen, X)時的執行步驟。(10 分)
申論 6考慮下述的Scheme 程式:(define A(lambda ()(let* ((x 2)(C (lambda (P)(let ((x 4))(P))))( D (lambda ()x))(B (lambda ()(let ((x3))(C D)))))(B))))㈠這程式列印什麼東西?(10 分)㈡如果Scheme 使用dynamic scoping 和shallow binding,它會印出什麼?(10 分)