
年特種考試地方政府公務人員考試試題
等 別:三等考試
類 科:電力工程、電子工程
科 目:計算機概論
考試時間:2小時 座號:
※注意:
禁止使用電子計算器。
不必抄題,作答時請將試題題號及答案依照順序寫在試卷上,於本試題上作答者,不予計分。
本科目除專門名詞或數理公式外,應使用本國文字作答。
代號:
頁次:
-
一、電子計算機資料的表示方式採用 2的補數表示法,如果記憶體內容只
有4個位元長度,請問可表示的整數範圍為何?又 0100+1101 與
0100+0101 的十進位值各為何?(15 分)
請利用 NOT,OR,與 XOR 邏輯閘設計 1個比較器,其輸入為 2個四
位元A3A2A1A0與B3B2B1B0的邏輯線路,如輸入A3A2A1A0與B3B2B1B0
的值相同,則輸出 A = B 為1,否則,輸出 A = B 為0,例如,輸入
A3A2A1A0= 1100,B3B2B1B0= 1100,則輸出 A = B 為1,反之,輸入
A3A2A1A0= 1100,B3B2B1B0= 1111,則輸出 A = B 為0。(15 分)
二、在 TCP/IP 網際網路協定中,在傳輸層(Transport Layer)的協定有 TCP
和UDP。何者可以提供可靠的傳輸(Reliable Transmission)?並試述對
應的設計機制?(15 分)
三、將資訊加密傳送是網路上防範機密資訊外洩的主要方法,目前兩種通用
的加密技術為對稱加密法(Symmetric Encryption)與非對稱加密法
(Asymmetric Encryption),請試述這兩種加密方法。(10 分)

代號:
頁次:
-
四、利用陣列來實作堆疊,給予如下 C語言的宣告及建立堆疊(create_stack)
的程式片段:(20 分)
#define MAX_STACK 100
typedef int ITEM_TYPE;
typedef struct stack_type {
ITEM_TYPE items[MAX_STACK];
int top;
}STACK_TYPE;
void create_stack (STACK_TYPE *stack)
{stack -> top = 0;
}
在不考慮堆疊滿(Full)及空(Empty)的條件下,請寫出堆疊的 push 及
pop 程式片段;push 程式片段係先輸入新資料後,再移動指標; pop 程
式片段係先移動指標後,再取出資料。
void push (STACK_TYPE *stack, ITEM_TYPE new_item)
{
}
void pop (STACK_TYPE *stack, ITEM_TYPE *old_item)
{
}
五、給予一串資料:40,25,35,60,63,55,18,76,請畫出將此串資料
依序建成的二元搜尋樹(Binary Search Tree),之後,如何利用此二元搜
尋樹來進行這些資料由小至大的排序(Sorting)?最後,給予如下二元
樹節點的 C語言宣告,請完成此排序的遞迴程式。(25 分)
#include <stdio.h>
#include <stdlib.h>
struct node{
int data;
struct node *left;
struct node *right;
};
typedef struct node *NODEPTR;
void sort (NODEPTR tree)
{
}