高考三級程式語言:98

檢察事務官三等程式語言:98

身心障礙人員三等程式語言:98

關務人員升官等薦任程式語言:98

資訊技師高等程式設計:98

地方特考三等程式語言:98

 

[九八年高考三級程式語言]

98年公務人員高等考試三級考試試題              代號:35640     全一張

    科:資訊處理

    目:程式語言

考試時間:2小時                           座號:________________

注意:()禁止使用電子計算器。

(二一)不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、請回答下列的問題:

()解釋什麼是(1)強勢型態程式語言 (strongly-typed programming language)(2)弱勢型態程式語言 (weakly-typed programming language)。(10分)

()列舉三個理由並舉例說明為何 C程式語言不是一個強勢型態程式語言。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、假設一個整數佔用四個位元組 (4 bytes),考慮一個 C 程式語言的整數陣列(integer array) int A[4][8][16],此陣列的起始位址 (starting address) 0X22F760,以十六進位 (hexadecimal) 寫出下列四個printf敘述句 (statements) 的輸出值 (請寫出計算過程):(每小題5分共20分)

() printf(“%X\n”, &A[0][1][2]);

() printf(“%X\n”, &A[0][1][2]+1);

() printf(“%X\n”, &A[0][1]+2);

() printf(“%X\n”, &A[0]+3);

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、下圖是一個執行時堆疊 (run-time stack) 中之啟動紀錄 (activation record) 的示意圖

Returned value

 

Local variables

 

Function parameters

 

Dynamic link

 

Static link

 

Return address

 

()說明如何使用啟動紀錄中的function parameters實作下列兩種副程式的參數傳遞 (parameter passing) 方法:call-by-value (或稱 pass-by-value) call-by-address (或稱 pass-by-address, call-by-reference)。(10分)

()考慮下列的 C 程式語言的程式片段,說明當主程式 main呼叫副程式foo 之後,副程式 foo 的啟動紀錄之function parameters內容為何?並寫出主程式main的輸出值。(10分)

int c=5;

void foo(int x, int* y) {

int a=1, b=2;

*y = a + b * x ;

c = a + b + c;

}

int main (void) {

int a=10, b=20;

foo(b, &a);

printf("%d, %d, %d\n", a, b, c);

}

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、考慮下列的 BNF 法則:

<conditional statement> ::= if <condition> then <statement>

| if <condition> then <statement> else <statement>

<statement> ::= <assignment statement> | <conditional statement>

()假設 C1 C2 是由 <condition> 展開的程式碼,S1S2是由<statement> 展開的程式碼,畫出 <conditional statement>

if C1 then if C2 then S1 else S2

的語法樹 (或稱剖析樹,parse tree),並解釋何謂「搖擺 else問題」 (dangling else problem)。(10分)

()舉出兩個方法,解釋程式語言如何在設計、實作、或使用時解決「搖擺else 問題」。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、考慮 C 程式語言的位元運算 (bitwise operation),變數m和陣列 (array) n的宣告如下:

unsigned int m;

unsigned char n[4];

假設 m 的二進位值 (binary value) 為:

b32b31b30b29b28b27b26b25b24b23b22b21b20b19b18b17b16b15b14b13b12b11b10b9b8b7b6b5b4b3b2b1

寫一個 C 語言的程式將陣列 n 的元素 (element) 設定為:

n[0]: b31b32b29b30b27b28b25b26

n[1]: b23b24b21b22b19b20b17b18

n[2]: b15b16b13b14b11b12b9b10

n[3]: b7b8b5b6b3b4b1b2

即是將 m 的二進位值,以每兩個位元一組,作位元調換 (bit swap),再切割成四個位元組。除了迴圈控制變數 (loop control variable) 外,程式中不可使用 +, -, *, /, % 的算術運算 (arithmetic operations) (可以宣告和使用其他變數)。(20分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

[九八年檢察事務官三等程式語言]

98年公務人員特種考試司法人員考試試題           代號:30980    全一頁

    別:三等考試

    科:檢察事務官電子資訊組

    目:程式語言

考試時間:2小時                            座號:_______________

※注意:()可以使用電子計算器。

()不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、()何謂類別化的程式語言 (Typed Programming Language)?(5分)

()在類別化的程式語言中,何謂動態的類別化 (Dynamic typing)?(5分)

()何謂強烈的類別化 (Strong typing)?(5分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、()在電腦中,程式碼 (source code) 的執行 (execution) 有那兩種方法?(4分)

()請說明它們各別的優缺點。(6分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、()在網頁的設計中,何謂一個動態的網頁文件?(5分)

()舉例說明動態網頁文件如何製作。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、假設 f 是一個函數,inarray 是一個一維的陣列 (array),定義 Map(f, inarray) 的功用是將 f 這個函數應用到 inarray 陣列的每個元素,然後輸出這個結果陣列。例如 Map(function(x){return x+1},[1, 2, 3, 4, 5]) 會得到 [2, 3, 4, 5, 6]Map(function(x){return 2x}, [1, 2, 3, 4, 5]) 會得到 [2, 4, 6, 8, 10]。假設 g 是一個有兩個輸入參數 (argument) 的函數,其結果為一個元素,例如 g(y, z){return (y+z)} 即是得到兩數的和。定義 Reduce(g, inarray) 為將 g 應用到陣列inarray的元素,由左至右,直到最後成為一個元素為止,例如利用上述的gReduce(g, [1, 2, 3, 4, 5]) 的結果為15,若g = g(y, z){return y*z},則Reduce(g, [1, 2, 3, 4, 5]) 的結果為120

()請用虛擬指令 (pseudo code) 的方式,寫出 Map 函數的程式。(10分)

()請用虛擬指令 (pseudo code) 的方式,寫出 Reduce 函數的程式。(10分)

()請用 Map Reduce 兩個函數,說明如何計算 12 + 22 + 32 + 42 + 52。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、在下列的虛擬程式碼中:

Function f(x,y: integer)

{ x = 2*x; y = x + y; return (x+y)}

假設 a = 1b = 2請問

()若參數的傳遞是靠 call-by-value請問 f(a, b) 的值是多少執行完 f(a, b) a =?,b =?(10

()若參數的傳遞是靠 call-by-reference請問 f(a, b) 的值是多少執行完f(a, b) a =?,b =?(10

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

六、將下列的遞迴 (recursive) 程式改成非遞迴的版本:(10

long f(n: integer)

{ if (n<=1) return (1);

else return n*f(n-1); }

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

[九八年身心障礙人員三等程式語言]

98年公務人員特種考試身心障礙人員考試試題        代號:31140    全一張

    別:三等考試

    科:資訊處理

    目:程式語言

考試時間:2小時                             座號:______________

※注意:()禁止使用電子計算器。

()不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、請解釋以下在程式語言撰寫時常用之專有名詞及其含意:(每小題4分,共20分)

() recursion iteration

() call by reference

() null character

() static array

() dynamic memory allocation

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、下列以 C 語言撰寫之程式段原是可以執行的,請逐行找出所有語法錯誤之處,並更正之:(15分)

#include <stdio.h>

void function1(int, double)

void main()

{

int a = 1, b = 2;

float c[2] ={1.1, 2.2, 3.3};

double x = 2.1;

int y = 3;

a += x;

y -= c[1];

return 0;

}

void function1(int a; double b)

{

print("x=%3d, y=%4.2f\n", a,b;

}

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、請撰寫一段程式執行以下工作不限程式語言:(20

輸入:字串

輸出:原字串順序顛倒

(例如,輸入:abcd 輸出:dcba)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、以下之程式段為簡單之遞迴函式 (recursive function),假設 a b 皆為正整數,試問該程式段在執行什麼工作?(20分)

int function(int a, int b);

{

if(b == 1){

return a;

}

else {

return a + function(a, b-1);

}

}

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、桌上有 N 本書成一疊,當閱讀其中某本書的時候,會逐本將壓在該本書上的書照順序由上而下的移開,並且按照移開的順序先將它們放在旁邊,然後取走想要看的書;當閱讀完畢以後,會將剛才移開的書逐本逆向放回,並且將看完的書本放在最上面,例如桌上有五本書:

書本1

書本2

書本3

書本4

書本5

經過閱讀"書本3"後放回之最終書本狀態變成

書本3

書本2

書本1

書本4

書本5

請撰寫一段程式執行以上工作,不限程式語言:(25分)

輸入:一個初始書本序列和一個閱讀書之序列

輸出:最終的書本狀態

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

[九八年關務人員升官等薦任程式語言]

98年公務人員、關務人員升官等考試試題            代號:36150    全一張

    別:薦任

    科:資訊處理

    目:程式語言

考試時間:2小時                             座號:______________

※注意:()禁止使用電子計算器。

()不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、我們有下面的 BNF 文法。(15分)

S ::= NP AS

NP ::= NOUN PHRASES

NOUN ::= “a man” | “a lady” | “a dog” | “a cat”

PHRASES ::= | PROP NOUN PHRASES

PROP ::= “with” | “for” | “by”

AS ::= VERB NP | AS CONC AS

VERB ::= “likes” | “owns” | “catches”

CONC ::= “and”

請依據上述文法,畫出下面句子的 derivation tree

a man with a cat likes a lady by a dog and owns a dog for a lady”

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、()請問在第一題的 BNF 文法,是不是 ambiguous?(7分)

()請證明你的答案。(8分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、我們有下列 C/C++ 語言程序。

int f(int n) {

if (n = = 1 || n = = 2)

return(1);

else

return(f(n1)+f(n2));}

()請描述這個程序在算什麼?(5分)

()請把這個程序的計算目的的遞迴方程式寫出來,並且把對任意引數n的解,寫出來。(5分)

()請問這個程序的計算時間複雜度是多少?(5分)

()請問根據你的描述,這個程序有什麼錯誤?(5分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、假設我們可以在程式中宣告 semaphore 變數,而且我們有下列兩個系統程序。

sem_wait(semaphore s)

sem_signal(semaphore s)

()請問什麼是 semaphore 變數?(8分)

()請問這兩個程序的功能為何?(8分)

()請用 spinlock 的技術,寫出上述兩個程序的內容。(9分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、假設我們有下列程式片段,有六個指令,有 a, b, c, d, e, k 等六個變數。

1: b = a;     // LSU 5 μs

2: b = b + 3;  // ALU 10 μs

3: k = d;     // LSU 5 μs

4: c = d + 5;  // ALU 10 μs

5: e = c;     // LSU 5 μs

6: a = b / k;  // ALU 20 μs

假設這個程式,現在經過了 compiler 的分析,要在一個 single CPU上執行。在指令的左邊,我們寫上了指令的行號。指令的右邊,我們寫上了執行指令所需使用的硬體元件與時間 (以微秒 μs 為單位)ALU 代表所用的硬體元件是 CPU 中唯一的算術邏輯單元。LSU 代表所用的硬體元件是CPU 中唯一的存取單元。我們假設這個 CPU,可以容許 LSU ALU 同時執行不同的指令。

()請問這個程式片段,在 in-order execution 時,需要花多少時間?(7分)

()請畫出上述程式片段的 data-dependency graph。(6分)

()依照上述 data-dependency graph,這個程式片段,在我們的 single CPU假設下,做 out-of-order execution 時,請問最短可以用多少時間完成?(6分)

()()的答案下,所需的 out-of-order execution 是什麼?(6分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

[九八年資訊技師高等程式設計]

98年專門職業及技術人員高等考試建築師、技師、消

防設備師考試、普通考試不動產經紀人、記帳士、第    代號:01340   全一張

二次消防設備士考試暨特種考試語言治療師考試試題

    別:高等考試

    科:資訊技師

    目:程式設計(C++ Java

考試時間:2小時                              座號:______________

※注意:()禁止使用電子計算器。

()不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、n 階乘 (n!, factorial) 的定義有下列兩種方式:

1.疊代 (iterative) 定義:undefined

2.遞迴 (recursive) 定義:undefined

()試寫出 n 階乘的疊代函式 (iterative function) 如下:(10分)

int fact1(int n) // 假設 n 的值 ≥ 0

{

... ...

}

()試寫出 n 階乘的遞迴函式 (recursive function) 如下:(10分)

int fact2(int n) // 假設 n 的值 ≥ 0

{

... ...

}

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、利用巴比倫法 (Babylonian method) 計算平方根的方法如下:欲計算一數值c ≥ 0的平方根 x = undefined,可利用 xk+1 = undefined來逼近求解,其中 x0 為一初始估計值 (initial guess),如此反覆逼近,直到 |xk+1 - xk| < tol (某個容忍誤差值,例如:10-4)。試寫出計算 c 的平方根的函數如下:(20分)

double SquareRoot(double c, double x0, double tol) // 假設 c 的值 ≥ 0

{

... ...

}

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、假設灰階影像的灰階值為 0~255 (可用 unsigned char表示),其寬為 width像素 (pixels),高為 height 像素,其類別 image 如下,其中 pixel為指標指向二維影像的像素值:

class image {

private:

int width, height;

unsigned char **pixel;

public:

image(int w, int h);

...

}

試寫出 image 的建構子 (constructor) image(int w, int h),其中參數 w 為影像寬度,而 h 為影像高度,配置記憶體使得每個像素 pixel[r][c] 皆初始為0 (0 ≤ r ≤ h10 ≤ c ≤ w1)。(20分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、假設有下列 Java Thread 程式碼:

public class ClassA

{   private bank B = new bank();

private Thread[] thread = new Thread[10];

public static void main(String[] args)

{    ClassA test = new ClassA();

System.out.println(“What is the result? ” + test.B.getValue());

}

public ClassA()

{   ThreadGroup g = new ThreadGroup(“group”);

boolean done = false;

// Create an launch 10 threads

for (int i = 0; i < 10; i++) {

thread[i] = new Thread(g, new AddThread(), “t”);

thread[i].start();

}

// Check if all the threads are finished

while (!done)

if (g.activeCount() = = 0) done = true;

}

// A thread for adding 1 to the bank

class AddThread extends Thread

{    public void run()

{   int newValue = B.getValue() + 1;

try { Thread.sleep(5); }

catch (InterruptedException ex)

{ System.out.println(ex); }

B.setValue(newValue);

}

}

}

// A class for bank

class bank

{   private int value = 0;

public int getValue() { return value; }

public void setValue(int value) { this.value = value; }

}

()試問程式執行後,會列印什麼結果?為什麼?(10分)

()結果是否有錯誤?若有錯誤,是何原因?該如何解決?(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、Java 提供網路程式設計所需的 sockets

() Java 提供何種類別 (class) 作為 TCP 資料傳輸,以及何種類別作為UDP 資料傳輸?(10分)

()試寫一 Java TCP 日期伺服程式 (date server),其 port number 6013,當 client 連上來時,將目前伺服器的時間送回給 client。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

[九八年地方特考三等程式語言]

98年特種考試地方政府公務人員考試試題           代號:33960    全一張

    別:三等考試

    科:資訊處理

    目:程式語言

考試時間:2小時                            座號:_______________

※注意:()禁止使用電子計算器。

()不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。

 

一、繪表依時序比較說明 CC++Java 程式語言的主要差異和當時時代需求。(15分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

二、變數、繫結、和資料型態(20分)

Void sub() {

int count;

count = 7;

while ( … ) {

int count;

count += 1;…

}

sum = count * 5;…

}

()說明在 C++ Java 語言中,上列敘述是否合法及其原因。

()請討論其中變數 count 的記憶體配置的繫結 (binding) 以及有效範圍(scoping)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

三、物件導向程式語言

Java 使用關鍵字 extends 來表達繼承觀念:

public class Animal {

public String moveMethod() {

return "Unspecified";

}

}

public class Bird extends Animal {

public String moveMethod() {

return “fly”;

}

}

public class Dog extends Animal {

public String moveMethod() {

return “run”;

}

}

public class Fish extends Animal {

public String moveMethod() {

return “swim”;

}

}

()繪出物件類別繼承圖。(7分)

()充分利用多型 (polymorphism) 特性寫一主程式 (語意表達清楚),宣告一陣列 (array) 中有 3 Bird2 Fish1 Dog,該程式以一簡單迴圈以亂數隨機印出這六隻動物其中之一的動作1000次,如 Fish(4) swim …(18分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

四、給定文法(15分)

<start>::= <stmt>

<stmt>::= <if-stmt> | <assign>

<if-stmt>::= if <expr> then<stmt>

| if <expr> then <stmt> else <stmt>

<assign>::= <ident> := <digit>

<expr>::= <ident> = <digit>

<digit>::= 0 | 1 | …| 9

<ident>::= a | b | …| z

()剖析輸入 “if x = 0 then if y = 1 then z := 2 else w := 3”

()繪出完整剖析樹之一,並說明另一可能之問題。

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

 

五、RSS (Really Simple Syndication) XML 語言的應用,被使用於網站最新頭條訊息,並提供給需求者參考。

()說明何謂 XML。(5分)

()試以 RSS 提供者角度說明程式的功能與程式重點。(10分)

()試以 RSS 引用者角度說明程式的功能與程式重點。(10分)

答:

請到「露天拍賣」購買 Jacksaleok 親自編寫的「程式語言筆記」。

http://goods.ruten.com.tw/item/show?21406178496277

arrow
arrow
    文章標籤
    程式語言
    全站熱搜
    創作者介紹
    創作者 jacksaleok 的頭像
    jacksaleok

    國考資訊處理工作室(高考二級資訊處理/高考三級資訊處理/調查局三等/關務人員三等/地方特考三等)

    jacksaleok 發表在 痞客邦 留言(0) 人氣()