計算機概論考古題|歷屆國考試題彙整
橫跨多種國家考試的計算機概論歷屆試題(選擇題 + 申論題)
歷屆考卷3 種考試・本頁 100 題
本科目全站收錄 724 題,本頁列出其中前 100 題,依考試與年份分組。整卷題目與答案請點各卷連結。
- 第 1 題申論題
物件導向程式設計中的封裝(encapsulation)為何意?試述之。(20 分)
- 第 2 題申論題
電腦中的儲存系統有那些種類?試述之。(20 分)
- 第 3 題申論題
使用陣列(array)和單向鏈結串列(singly linked list)來儲存資料,各有 什麼優缺點?試述之。(20 分)
- 第 4 題申論題
請說明何謂電腦作業系統中的死結(deadlock)?死結發生的必要條件有 那些?(20 分)
- 第 5 題申論題
下列C 語言程式的執行結果為何?請詳細敘述執行過程。(20 分) #include <stdio.h> void foo1(int* xp, int* yp){ int temp = *xp; *xp = *yp; *yp = temp; } void foo2(int arr[], int size){ int i; for (i = 0; i < size; i++) printf("%d ", arr[i]); printf("\n"); } void foo3(int arr[], int n){ int i, j, swapped; for (i = 0; i < n - 1; i++) { swapped = 0; for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { foo1(&arr[j], &arr[j + 1]); swapped = 1; } } if (swapped == 0) break; foo2(arr, n); } } int main(){ int arr[] = {47, 98, 27, 33, 7, 23, 5, 58}; int n = sizeof(arr) / sizeof(arr[0]); foo3(arr, n); return 0; }
- 第 1 題申論題
使用筆電透過家裡或hot spot 的WiFi 上網,如果碰到卡卡的不太順的 時候,檢查相關的軟硬體或設定均沒問題,那可能會有其他什麼原 因?請列舉兩個常見的可能原因,說明為何會造成網路卡卡的,那又 分別該如何解決這些因素。(10 分) IEEE 802.11 的標準,RTS/CTS 主要解決了什麼問題?為什麼它可以 解決這個問題?請說明之。(10 分)
- 第 2 題申論題
請問下列的C 語言函式xxxSort()是在執行那種排序演算法?請說明 理由。(10 分) void xxxSort(int arr[], int n) { int i, j, key; for (i = 1; i < n; i++) { key = arr[i]; j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; } } 費氏數列的定義為: F(0)=0, F(1)=1 F(n)=F(n−1)+F(n−2), n≥2 假設我們要寫一個程序來算出F(n),可以用遞迴(recursive)方式,也 可用迭代(iterative)方式來寫程式。請問這兩種方式的優缺點為何? (10 分)
(0) (1) 10 分
- 第 3 題申論題
A 與B 均為1-bit 的輸入端,設計一個1-bit 的互斥或(XOR)線路, 判斷A 是否與B 一樣,若一樣則輸出0,否則輸出1。而且只能使用 AND、OR、NOT 邏輯閘(Gate)。(10 分) A 與B 均為1-bit 的輸入端,設計一個1-bit 相等(EQUAL)的線路, 判斷A=B,若true 則輸出1,否則輸出0。而且只能使用AND、OR、 NOT 邏輯閘(Gate)。(10 分)
- 第 4 題申論題
在多執行緒(multithread)的作業系統,可能會有飢餓(starvation)或死 結(deadlock)的問題,請問它們各自是怎樣的情況會造成這樣的問題。 請各提出一個解決的方法,並說明為何可以解決問題。(20 分)
- 第 5 題申論題
請將下列中序式(infix)的表示式,轉成前序式(prefix)。(10 分) 5 + 8 * (7 – 3) + 6 下列兩個IP,根據它的遮罩,請判定是否屬於同一個子網路(subnet)? (10 分) 200.188.170.82/27 與200.188.170.114/27
- 第 1 題申論題
電腦系統由五大主要單元組成,其中一個是中央處理器(CPU),主要包 括「控制單元」與「算術邏輯單元」。請列出電腦系統,除CPU 之外的 其他四個組成單元,並說明它們的作用;也請說明CPU 的「控制單元」 與「算術邏輯單元」的作用。(20 分)
- 第 1 題申論題
如果任何布林函數(Boolean function)可以藉著重複使用一種邏輯閘或 一組邏輯閘來建構,則稱該邏輯閘或該組邏輯閘為通用的(universal)。 例如,集合{AND, OR, NOT}是一組通用的邏輯閘。請寫出AND, OR, 與 NOT 邏輯閘的真值表。然後使用這三種邏輯閘設計與畫出一個2 對1 多 工器,並說明其動作。所謂的2 對1 多工器為一個組合邏輯模組,它由 兩個資料輸入端(I0 與I1)、一個標的選擇線(S)與一個資料輸出端(Y) 組成。當選擇線(S)為邏輯0 時,輸入資料端I0 的值即傳送到資料輸 出端(Y);當選擇線(S)為邏輯1 時,輸入資料端I1 的值即傳送到輸 出端(Y)。(20 分)
- 第 2 題申論題
TCP/IP 協定堆疊是網路運作的基礎,是一種分層架構的設計。請闡述分 層架構設計的兩個好處,也請列出TCP/IP 協定堆疊各層協定的名稱,並 闡述各層的主要作用。(20 分)
- 第 2 題申論題
目前固態硬碟(SSD,solid-state disk or solid-state driver)已經廣泛地使 用在計算機(或稱電腦)系統或是當作資料儲存的隨身碟。目前用來生 產固態硬碟的NAND Flash 有四種,分別是單層式儲存(SLC)、多層式 儲存(MLC,通常用來指稱雙層式儲存)、三層式儲存(TLC)、四層式 儲存(QLC)。請說明這四種NAND Flash 的差異,再由使用者觀點,比 較它們的讀寫速度、使用壽命與成本。(20 分)
- 第 3 題申論題
資料結構是程式設計領域很重要的概念。請闡述佇列(Queue)與循環佇 列(Circular Queue)的差別與各別的應用場合。若使用陣列實作這兩種 佇列,那一種較為浪費儲存空間?請闡述原因。(20 分)
- 第 3 題申論題
在計算機(或稱電腦)系統或是計算機網路中,資訊傳輸的安全性倍受 重視。為此,許多不同的加密與解密技術(或稱演算法)廣泛的應用於 此等系統中,研究這些技術的專門學問則稱為密碼學(cryptography)。 然而這些技術可以歸納為兩大類:對稱式密碼學(symmetric cryptography)與非對稱式密碼學(asymmetric cryptography)。請說明這 兩者的區別。又公鑰(public key)與私鑰(private key)與上述兩種密碼 學有何關連?請說明之。(20 分)
- 第 4 題申論題
結構化程式設計中,常提到的三種基本控制結構是那些?請各舉一個 簡單的範例並使用虛擬代碼(Pseudo Code)或任何程式語言實現所舉 範例。(20 分)
- 第 4 題申論題
欲將桌上型計算機(或稱電腦)連接到網際網路時,必須設定下列四個 TCP/IP 通訊協定的項目:IP(internet protocol)位址、子網路遮罩 (subnetwork mask)、預設閘道(default gateway)IP 位址、DNS(Domain Name System 或是Domain Name Server)IP 位址。請說明上述各項目的 功能。(20 分)
- 第 5 題申論題
生成式AI 有許多應用方向,但也帶來新型態的倫理與社會議題。請舉 出兩個生成式AI 的應用案例,並針對生成式AI 的「深偽(Deepfake)」、 以及「偏見」這兩項議題,闡述問題怎麼產生,並提出可行的因應方式。 (20 分)
- 第 5 題申論題
在計算機系統中,搜尋(search)資料為一個常用的演算法。今有一個N 個元素的陣列。請先由計算機科學的觀點定義什麼是演算法,再說明循 序搜尋(sequential search)與二元搜尋(binary search)的適用時機,並 使用運算的次數為時間單位,比較兩種搜尋方式在搜尋上述N 個元素的 陣列時的最小搜尋時間、平均搜尋時間與最大搜尋時間。(20 分)
- 第 1 題申論題
請回答下列問題:(每小題10 分,共20 分) 一般而言,二個裝置如果要順利交換資料,就必須讓二個裝置使用共通 語言彼此溝通,在電腦網路的世界中,裝置互相溝通的語言稱之為「協 定」(Protocol)。為了有效將網路設備以及協定加以管理與分類,國際 標準組織(ISO)制定了網路OSI 模型,用以區分通訊系統及其使用的 協定。請說明網路OSI 模型分為那些層(Layer),以及各層的功能。 請說明何謂中繼器(Repeater)、橋接器(Bridge)、交換器(Switch)、 路由器(Router),同時說明上述各裝置分別屬於OSI 模型的那一層網 路設備。
- 第 1 題申論題
試述佇列(queue)與堆疊(stack)的工作原理及其特性,並分別舉出此 兩種資料結構在電腦系統中實際應用的例子。(20 分)
- 第 2 題申論題
程式設計上,當主程式呼叫函式(Function)後,系統會轉移到函式上執行, 函式也可能再呼叫其他函式。如果執行某一函式中,它會再呼叫自己本身 的函式,則稱之為『遞迴函式』(Recursive Function)。(每小題10 分, 共20 分) 一個數字同時是幾個數字的因數,我們稱這個數字為這幾個數字的公因 數,公因數中最大的稱為最大公因數(GCD)。兩個數字的最大公因數 可以有多種解法,請依輾轉相除法求解兩個數字最大公因數的數學遞迴 公式(依數學定義的方式呈現)。 請根據題的遞迴公式,寫一個完整的Java(或C/C++、Python)遞迴 程式,該程式可以輸入兩個整數,並且輸出這兩個整數的最大公因數。
- 第 2 題申論題
中央處理器(CPU)在處理指令(instruction)時包含那些步驟?請依運 作順序列出這些步驟並詳細說明。(20 分)
- 第 3 題申論題
中央處理器(Central Processing Unit, CPU)是現代計算機的大腦,也是電 腦系統中最重要的組成之一。請回答下列問題: 請說明中央處理器的主要目的。(5 分) 請列出中央處理器主要組成單元(Unit)。(5 分) 請說明中央處理器中每個單元的主要功能。(10 分)
- 第 3 題申論題
什麼是物件導向程式設計(object oriented programming)?它包含了那 些基本原則?試述這些原則的意義及使用這些原則的優點。(20 分)
- 第 4 題申論題
請說明下列名詞之意涵:(每小題2 分,共10 分) 機器語言(Machine Language) 組合語言(Assembly Language) 組譯器(Assembler) 編譯器(Compiler) 直譯器(Interpreter)
- 第 4 題申論題
在作業系統(operating system)中,何謂長程排班程式(long-term scheduler)?何謂短程排班程式(short-term scheduler)?請詳細說明它 們的功用與工作原理。(20 分)
- 第 5 題申論題
請根據下圖所示,從A 開始,依字母排列順序(in alphabetical order), 進行廣度優先搜尋(Breadth First Search, BFS)以及深度優先搜尋(Depth First Search, DFS),請分別列出其走訪的字母順序。(10 分)
- 第 5 題申論題
請詳細說明下列Python 語言程式的執行過程,並寫出程式的輸出。(20 分) max = 150 goal = list(range(3,max,2)) goal.insert(0,2) index = 1 target = 0 while index < len(goal): target = goal[index] ** 2 while target <= goal[-1]: if target in goal: goal.remove(target) target = target + goal[index] * 2 index = index + 1 print(goal) print(len(goal))
- 第 6 題申論題
請回答下列問題:(每小題10 分,共20 分) 何謂對稱式金鑰加解密演算法(Symmetric-key cryptography)以及非對 稱式金鑰加解密演算法(Asymmetric-key cryptography)? 何謂數位簽章以及如何運作?
- 第 1 題申論題
請回答下列問題: 檔案管理(File Management)是作業系統的重要任務之一。何謂檔案? 檔案管理包含那些基本功能?(15 分) 將下列布林運算式(Boolean Expression)簡化為最簡型式。寫出每個步 驟及其引用的法則。(10 分) ( )( ) A B A B C C
- 第 1 題申論題
假設X、Y 與Z 都是8 位元暫存器,其中高序5 位元儲存整數而低序3 位元儲存小數,則:(每小題10 分,共20 分) 將14.35 與15.6875 分別存入X 與Y 暫存器時,X 與Y 暫存器的值為 何?請以二進制表示。 將X 與Y 暫存器的值相加後,存入Z 暫存器中,則Z 暫存器的值為 何?請以二進制表示。
- 第 1 題申論題
電腦系統包含硬體、軟體與資料。 硬體由CPU、記憶體以及I/O設備互相連接所組成。I/O設備是否能直接 連接到CPU和記憶體的匯流排(Bus)?說明其理由。(10分) 使用「二補數」(2’s Complement)方法儲存整數資料有何優點?某電腦 系統使用「二補數」儲存整數,且配置8位元記憶體以儲存每個整數, 則該系統可以表示的整數範圍為何?請詳述其計算過程。(15分)
- 第 2 題申論題
有關電腦網路與社群網路安全,請回答下列問題: 使用者在瀏覽器輸入的網域名稱,如何轉換成對應的IP 位址?詳述其 轉換過程。(15 分) 使用社群網路媒體時,要具有資訊安全意識。何謂認知戰(Cognitive Warfare)?認知戰的目的為何?請就其定義與目的詳加說明。(10 分)
- 第 2 題申論題
全減器(full subtractor)為一個具有三個輸入(x、y 與Bin)與兩個輸出 (d 與Bout)的邏輯電路,用來計算三個單一位元x(被減數)、y(減 數)與Bin(借位輸入)的差值。輸出中的d(差值)= x - y - Bin,而借 位輸出Bout 在x <(y+z)時被設為1。(每小題5 分,共20 分) 請列出全減器的真值表(truth table)。 將輸出d 與Bout 表示為最簡的和之積(sum-of-products)表示式。 使用兩個輸入端的AND、OR、XOR 等三種類型的邏輯閘,畫出輸出 d 與Bout 的邏輯電路。 使用上述全減器(使用方塊圖表示),設計一個四位元減法器,並以方 塊圖(block diagram)描述。
- 第 2 題申論題
回答以下關於網路與應用之問題: 在網際網路各個分層的資料傳輸,何謂「點對點」(Point-to-Point)傳 輸?點對點傳輸與端對端(End-to-End)傳輸有何差異?(10分) 住在臺南的Adam想傳送電子郵件給在美國的Bambi,分享他的工作現 況。一封典型的電子郵件從Adam傳送到Bambi的流程為何?詳細說明 流程中的關鍵組件,包含硬體、軟體以及使用到的協定等。(15分)
- 第 3 題申論題
請回答下列有關資料結構的問題: 陣列(Array)中的元素(Element)與鏈結串列(Linked List)中的元素 (Element)有何不同?請就元素在記憶體的儲存方式(Storage)、存取 方式(Access)以及命名方式(Name)三方面詳細說明。(15 分) 若某算術運算式的後置表示法(Postfix)是:A B * C D E * + +,則原 運算式的二元表示樹(Binary Expression Tree)為何?詳述其建構步驟。 (10 分)
- 第 3 題申論題
請解釋或定義下列與網際網路相關的名詞:(每小題5 分,共20 分) 代理伺服器(proxy server)。 防火牆(firewall)。 分散式阻斷服務(Distributed denial of service, DDoS)攻擊。 間諜程式(spyware 或sniffing)。 35650-35750
- 第 3 題申論題
陣列與二元樹是撰寫程式常用的資料結構。 使用陣列(Array)結構儲存二元樹(Binary Tree)有何優點?(10分) 下面陣列Arr[0:14]表示一棵二元樹,陣列的元素代表該樹每個節點的鍵 值,請撰寫一個演算法重建出該二元樹。該樹是否為一棵二元搜尋樹 (Binary Search Tree)?(15分) 索引 0 1 2 3
- 第 4 題申論題
請回答下列問題: 如下列Program-1 的Python 程式,其功用為何?如果執行該程式,並輸 入24 與18 兩個整數,則輸出的結果為何?寫出其詳細步驟。(15 分) 如下列Program-2 的Python 程式,將該程式中第01 行~第05 行的自定 義函數,使用遞迴(Recursion)函數寫出其程式碼。(10 分) 01 02 03 04 05 06 07 08 09 10 11 def x(a,b): c=a%b while(c!=0): a=b b=c c=a%b return b a=int(input()) b=int(input()) 12 13 14 15 16 17 18 19 20 21 22 If(b>a): g=a a=b b=g p=a*b q=x(a,b) r=p//q print(q,r) 01 02 03 04 05 06 07 08 09 10 11 def x(n): a=1 for i in range(1,n+1): a=a*(i-1)+i return a n=int(input()) result=x(n) print(result) Program-1 Program-2
- 第 4 題申論題
假設輸入系列為: 23, 12, 4, 56, 19, 42, 98 建構一個二元搜尋樹(binary search tree)。(5 分) 何謂最小優先權佇列(min priority queue)?試定義之。(5 分) 使用二元搜尋樹是否可以實現最小優先權佇列?若可以,請描述如何 取得最小優先權的資訊。若不可以,請說明理由。(10 分)
- 第 5 題申論題
欲編寫一個程式可以將1 至10000 中不是3 也不是7 之倍數的那些整數 累加起來。請先描述你會如何解這個問題,再使用任何一種程式語言完 成此程式。(15 分)
- 第 5 題申論題
請回答下列有關於程式語言的問題: 說明什麼是形式引數(formal arguments)。(5 分) 說明什麼是實際引數(actual arguments)。(5 分) 說明傳值呼叫(call by value)與傳參考值呼叫(call by reference)的 區別。(10 分)
- 第 6 題申論題
網際網路有許多協定,也存在許多資安威脅,請試說明HTTP 與HTTPS 協定的最大不同為何?另外,DDoS 資安攻擊的特徵為何?(15 分)
- 第 8 題申論題
9 10 11 12 13 14 鍵值 18 10 21 15 23 13 17 25 四、請回答以下問題: 若執行下列的C程式,且輸入整數10,則程式輸出的結果是什麼?說明 其計算過程。(10分) 如下列Python程式,其目的為何?如果執行該程式,並輸入整數6,則 輸出的結果是什麼?寫出其詳細步驟。(15分) 01 02 03 04 05 06 07 08 09 10 11 #include <stdio.h> int main() { int i, j, n, order; scanf("%d", &n); order = 0 ; for ( i = 0; i < n-1 ; i ++) for ( j = i ; j < n-1 ; j++) order = order + 1 ; printf("%d ", order); } 01 02 03 04 05 06 07 08 09 10 11 def aloha(k): if(k >0): rs=k+aloha(k-1) else: rs=0 return rs n=int(input()) a=[0 for i in range(n+1)] 12 13 14 15 16 17 18 19 20 21 22 i = 0 while i < len(a): a[i]=aloha(i) i = i + 1 print(“theResults:”) print(a, end='\n') C 程式 Python 程式
- 第 1 題申論題
請將十進位的14.625 轉換成二進位。(5 分) 請將十進位的負整數-179 轉成16-bit 的二補數(2’s complement)的二 進位整數。(5 分) 下列整數都是以十六進位方式表示的16-bit 的二補數整數,請計算 (712A)16+(9E00)16 的結果,並以十六進位方式表示其結果。(5 分) 下列整數是8-bit 的二補數整數,那幾個式子計算結果是整數溢位 (overflow)?並請說明之。(5 分) (i) 11000010 + 00111111 (ii) 00000010 + 00111111 (iii) 11000010 + 11111111 (iV) 10000010 + 10000000
- 第 1 題申論題
計算機由記憶體、中央處理單元、輸出入子系統等組成,請回答下列 問題: 說明暫存器(Register)、程式計數器(Program Counter)之功用以及使 用快取記憶體(Cache Memory)之目的。(15 分) 說明工作排程器(Job Scheduler)與行程排程器(Process Scheduler) 有何差異?(10 分)
- 第 1 題申論題
你只能利用基本的三種邏輯閘AND、OR、NOT,設計出一個1-bit 的 比較器(comparator)線路,這個比較器有兩個1-bit 的輸入a 與b,一 個輸出c,當a>b 時,輸出c 的值為1,否則輸出c 的值為0。(10 分) 在電腦的數字系統中,假設使用4-bit 的二補數(2’s complement)方 式來儲存整數,則計算1+7 之後的結果是多少?請詳述你的計算過程, 並解釋你的理由。(10 分)
- 第 2 題申論題
有關無線網路與網路協定,請回答下列問題: 依其定義、標準、傳輸距離,說明WLAN(Wireless Local Area Network) 與WPAN(Wireless Personal Area Network)之差異?(15 分) 假設一個系統使用五層協定,如果應用程式創建一個100 bytes 的 訊息,每層(包括第五層和第一層)添加一個10 bytes 的header 到 資料單元,則該系統的傳輸效率(Transmission Efficiency)是多少? (10 分)
- 第 1 題申論題
在大量資料處理的系統中,常需要選擇適當的資料結構以提高效能,請回 答下列問題:(每小題10 分,共20 分) 說明陣列(Array)、鏈結串列(Linked List)與雜湊表(Hash Table) 的基本結構與存取特性。若系統需要大量查詢但插入頻率較低,應優先 考慮那一種結構?請說明理由。 若資料已事先排序好且儲存於陣列中,若使用二元搜尋法(Binary Search)搜尋資料所需要的時間複雜度(Time Complexity)為何?需有 推導過程。
- 第 1 題申論題
使用筆電透過家裡或hot spot 的WiFi 上網,如果碰到卡卡的不太順的 時候,檢查相關的軟硬體或設定均沒問題,那可能會有其他什麼原 因?請列舉兩個常見的可能原因,說明為何會造成網路卡卡的,那又 分別該如何解決這些因素。(10 分) IEEE 802.11 的標準,RTS/CTS 主要解決了什麼問題?為什麼它可以 解決這個問題?請說明之。(10 分)
- 第 2 題申論題
請問下列的C 語言函式xxxSort()是在執行那種排序演算法?請說明 理由。(10 分) void xxxSort(int arr[], int n) { int i, j, key; for (i = 1; i < n; i++) { key = arr[i]; j = i - 1; while (j >= 0 && arr[j] > key) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = key; } } 費氏數列的定義為: F(0)=0, F(1)=1 F(n)=F(n−1)+F(n−2), n≥2 假設我們要寫一個程序來算出F(n),可以用遞迴(recursive)方式,也 可用迭代(iterative)方式來寫程式。請問這兩種方式的優缺點為何? (10 分)
(0) (1) 10 分
- 第 2 題申論題
資安攻擊事件日趨頻繁,請說明釣魚攻擊(Phishing Attack)與中間人攻 擊(Man-in-the-Middle Attack)的運作方式,並比較兩者在攻擊目標與防 禦方式上的差異。(20 分)
- 第 3 題申論題
A 與B 均為1-bit 的輸入端,設計一個1-bit 的互斥或(XOR)線路, 判斷A 是否與B 一樣,若一樣則輸出0,否則輸出1。而且只能使用 AND、OR、NOT 邏輯閘(Gate)。(10 分) A 與B 均為1-bit 的輸入端,設計一個1-bit 相等(EQUAL)的線路, 判斷A=B,若true 則輸出1,否則輸出0。而且只能使用AND、OR、 NOT 邏輯閘(Gate)。(10 分)
- 第 3 題申論題
請比較虛擬機(VM)與容器(Container)的差異,並分析其對系統效能 與資安的影響。(20 分)
- 第 4 題申論題
在多執行緒(multithread)的作業系統,可能會有飢餓(starvation)或死 結(deadlock)的問題,請問它們各自是怎樣的情況會造成這樣的問題。 請各提出一個解決的方法,並說明為何可以解決問題。(20 分)
- 第 4 題申論題
請說明遞迴(Recursion)與迭代(Iteration)兩種程式設計方法的概念與差 異,並說明在實際系統開發中應如何選擇適當的設計方式。(20 分)
- 第 5 題申論題
請將下列中序式(infix)的表示式,轉成前序式(prefix)。(10 分) 5 + 8 * (7 – 3) + 6 下列兩個IP,根據它的遮罩,請判定是否屬於同一個子網路(subnet)? (10 分) 200.188.170.82/27 與200.188.170.114/27
- 第 5 題申論題
在程式設計中常使用分治法(Divide and Conquer)解決複雜問題,說明分 治法的基本概念,並以排序演算法為例,說明其如何運用分治策略。(20 分)
- 第 1 題申論題
數字在電腦中以二進位表示。請說明:將十進位數字「25」轉換成二 進位,並列出轉換步驟。說明「位元」(Bit)和「位元組」(Byte)的 關係。一個ASCII 字元需要多少位元組?為什麼電腦使用二進位而不 是十進位?說明至少兩個理由。如果一個檔案大小是「1MB」,這相當 於多少位元組(Bytes)?多少位元(Bits)?請列出計算過程。(20 分)
- 第 1 題申論題
如果任何布林函數(Boolean function)可以藉著重複使用一種邏輯閘或 一組邏輯閘來建構,則稱該邏輯閘或該組邏輯閘為通用的(universal)。 例如,集合{AND, OR, NOT}是一組通用的邏輯閘。請寫出AND, OR, 與 NOT 邏輯閘的真值表。然後使用這三種邏輯閘設計與畫出一個2 對1 多 工器,並說明其動作。所謂的2 對1 多工器為一個組合邏輯模組,它由 兩個資料輸入端(I0 與I1)、一個標的選擇線(S)與一個資料輸出端(Y) 組成。當選擇線(S)為邏輯0 時,輸入資料端I0 的值即傳送到資料輸 出端(Y);當選擇線(S)為邏輯1 時,輸入資料端I1 的值即傳送到輸 出端(Y)。(20 分)
- 第 1 題申論題
電腦系統由五大主要單元組成,其中一個是中央處理器(CPU),主要包 括「控制單元」與「算術邏輯單元」。請列出電腦系統,除CPU 之外的 其他四個組成單元,並說明它們的作用;也請說明CPU 的「控制單元」 與「算術邏輯單元」的作用。(20 分)
- 第 2 題申論題
TCP/IP 協定堆疊是網路運作的基礎,是一種分層架構的設計。請闡述分 層架構設計的兩個好處,也請列出TCP/IP 協定堆疊各層協定的名稱,並 闡述各層的主要作用。(20 分)
- 第 2 題申論題
電腦的輸入輸出系統連接各種周邊裝置。請說明:列出五種常見的輸 入裝置和五種輸出裝置。什麼是「USB」(Universal Serial Bus)?它 有那些優點?說明「隨插即用」 (Plug and Play)的意義。比較「HDD」 (傳統硬碟)和「SSD」(固態硬碟)的差異,包括運作原理、速度、價 格等面向。(20 分)
- 第 2 題申論題
目前固態硬碟(SSD,solid-state disk or solid-state driver)已經廣泛地使 用在計算機(或稱電腦)系統或是當作資料儲存的隨身碟。目前用來生 產固態硬碟的NAND Flash 有四種,分別是單層式儲存(SLC)、多層式 儲存(MLC,通常用來指稱雙層式儲存)、三層式儲存(TLC)、四層式 儲存(QLC)。請說明這四種NAND Flash 的差異,再由使用者觀點,比 較它們的讀寫速度、使用壽命與成本。(20 分)
- 第 3 題申論題
資料結構是程式設計領域很重要的概念。請闡述佇列(Queue)與循環佇 列(Circular Queue)的差別與各別的應用場合。若使用陣列實作這兩種 佇列,那一種較為浪費儲存空間?請闡述原因。(20 分)
- 第 3 題申論題
排序(Sorting)是資料處理的基本操作。請說明:為什麼需要排序? 舉出三個日常生活中需要排序的實際例子。簡單說明「氣泡排序法」 (Bubble Sort)的運作原理,並畫圖示範如何排序[5, 2, 8, 1, 9]這組數字。 比較「由小到大排序」和「由大到小排序」,那個比較常用?為什麼? 如果資料量很大(如一百萬筆),排序會遇到什麼問題?應該如何改 善?(20 分)
- 第 3 題申論題
在計算機(或稱電腦)系統或是計算機網路中,資訊傳輸的安全性倍受 重視。為此,許多不同的加密與解密技術(或稱演算法)廣泛的應用於 此等系統中,研究這些技術的專門學問則稱為密碼學(cryptography)。 然而這些技術可以歸納為兩大類:對稱式密碼學(symmetric cryptography)與非對稱式密碼學(asymmetric cryptography)。請說明這 兩者的區別。又公鑰(public key)與私鑰(private key)與上述兩種密碼 學有何關連?請說明之。(20 分)
- 第 4 題申論題
函數(Function)讓程式更容易維護和重複使用。請說明:什麼是「函 數」?使用函數有那些優點?解釋「參數」(Parameter)和「回傳值」 (Return Value)的意義,並舉例說明。什麼是「遞迴」(Recursion)? 寫出計算階乘(如5! = 5 × 4 × 3 × 2 × 1)的遞迴函數虛擬碼。遞迴和迴 圈(Loop)都可以重複執行,它們有何不同?在什麼情況下遞迴比較適 合?(20 分)
- 第 4 題申論題
結構化程式設計中,常提到的三種基本控制結構是那些?請各舉一個 簡單的範例並使用虛擬代碼(Pseudo Code)或任何程式語言實現所舉 範例。(20 分)
- 第 4 題申論題
欲將桌上型計算機(或稱電腦)連接到網際網路時,必須設定下列四個 TCP/IP 通訊協定的項目:IP(internet protocol)位址、子網路遮罩 (subnetwork mask)、預設閘道(default gateway)IP 位址、DNS(Domain Name System 或是Domain Name Server)IP 位址。請說明上述各項目的 功能。(20 分)
- 第 5 題申論題
生成式AI 有許多應用方向,但也帶來新型態的倫理與社會議題。請舉 出兩個生成式AI 的應用案例,並針對生成式AI 的「深偽(Deepfake)」、 以及「偏見」這兩項議題,闡述問題怎麼產生,並提出可行的因應方式。 (20 分)
- 第 5 題申論題
人工智慧(AI)正在影響各行各業。請說明:簡單解釋「人工智慧」、 「機器學習」、「深度學習」這三個名詞的意義及其關係。舉出三個 AI 在日常生活中的應用實例(如臉部辨識、語音助理、推薦系統等), 並說明它們如何運作。說明「訓練資料」對AI 模型的重要性。如果訓 練資料有偏差,會造成什麼問題?你認為未來10 年內,AI 可能取代 那些工作?那些工作較不容易被取代?請說明理由。(20 分)
- 第 5 題申論題
在計算機系統中,搜尋(search)資料為一個常用的演算法。今有一個N 個元素的陣列。請先由計算機科學的觀點定義什麼是演算法,再說明循 序搜尋(sequential search)與二元搜尋(binary search)的適用時機,並 使用運算的次數為時間單位,比較兩種搜尋方式在搜尋上述N 個元素的 陣列時的最小搜尋時間、平均搜尋時間與最大搜尋時間。(20 分)
- 第 1 題申論題
十進位表示的一個數,268,請將它轉換成二進位、八進位、十六進位的 表示,並請說明二進位的負數表示方法。(20 分)
- 第 1 題申論題
試述佇列(queue)與堆疊(stack)的工作原理及其特性,並分別舉出此 兩種資料結構在電腦系統中實際應用的例子。(20 分)
- 第 2 題申論題
請說明何謂多工作業系統;並以A、B、C 等3 個執行程序(Process), 說明多工作業的進行方式。(20 分)
- 第 2 題申論題
中央處理器(CPU)在處理指令(instruction)時包含那些步驟?請依運 作順序列出這些步驟並詳細說明。(20 分)
- 第 3 題申論題
什麼是物件導向程式設計(object oriented programming)?它包含了那 些基本原則?試述這些原則的意義及使用這些原則的優點。(20 分)
- 第 3 題申論題
有一數列,S={6、1、3、10、12、7},請撰寫一個虛擬程式碼(Pseudo Code),或以任何程式語言撰寫運用泡沫排序演算法(Bubble Sorting Algorithm)完成S 數列由小至大的排序。(20 分)
- 第 4 題申論題
在作業系統(operating system)中,何謂長程排班程式(long-term scheduler)?何謂短程排班程式(short-term scheduler)?請詳細說明它 們的功用與工作原理。(20 分)
- 第 4 題申論題
說明HTTP(HyperText Transfer Protocol)、HTTPS(HTTP Secure)、以 及REST API(Representational State Transfer Application Programming Interface)的目的與作用方式,以及這三者的階層關係。(20 分)
- 第 5 題申論題
請詳細說明下列Python 語言程式的執行過程,並寫出程式的輸出。(20 分) max = 150 goal = list(range(3,max,2)) goal.insert(0,2) index = 1 target = 0 while index < len(goal): target = goal[index] ** 2 while target <= goal[-1]: if target in goal: goal.remove(target) target = target + goal[index] * 2 index = index + 1 print(goal) print(len(goal))
- 第 5 題申論題
請試述下列名詞之意涵:(每小題4 分,共20 分) 勒索病毒 分散式阻斷服務攻擊(Distributed Denial of Service) 數位憑證 物聯網(Internet of Things) 生成式AI
- 第 1 題申論題
常見的數字系統包含十進位、二進位、八進位及十六進位等數字系統, 其中25(10)、11001(2)、31(8)及19(16)分別表示在十進位、二進位、八進位及 十六進位中的數字。若其數值均相同時,可以表示為 25(10)=11001(2)=31(8)=19(16),這也意謂著不同的數字系統之間是可以進行 轉換的。請完成下列數字系統間之轉換。作答時請將題號、試題題目及 答案依照順序寫在試卷上,於本試題上作答者,不予計分。 127(10)= (2)= (8)= (16)(9 分) 10110101(2)= (10)= (8)(6 分) 7315(8)= (2)= (10)= (16)(9 分) FB1(16)= (8)= (2)(6 分)
(10) (2) (8) (16) (10) (2) (8) (16) (10) (2) (8) (16) 9 分 (2) (10) (8) 6 分 (8) (2) (10) (16) 9 分 (16) (8) (2) 6 分
- 第 1 題申論題
給定一數列:21, 7, 56, 81, 73, 99, 11, 35(每小題10 分,共20 分) 請使用「插入排序法(Insertion Sort Algorithm)」將這組數列由「小到 大」排序,並且正確記錄每一次的排序結果。 請使用「二元搜尋法(Binary Search Algorithm)」搜尋「81」,並且合 理一致的使用3 個變數「first」、「mid」和「last」來記錄每一次的搜尋 直到結束,請詳細列出每一次搜尋「first」、「mid」和「last」的結果直 到搜尋結束。
- 第 1 題申論題
電腦系統包含硬體、軟體與資料。 硬體由CPU、記憶體以及I/O設備互相連接所組成。I/O設備是否能直接 連接到CPU和記憶體的匯流排(Bus)?說明其理由。(10分) 使用「二補數」(2’s Complement)方法儲存整數資料有何優點?某電腦 系統使用「二補數」儲存整數,且配置8位元記憶體以儲存每個整數, 則該系統可以表示的整數範圍為何?請詳述其計算過程。(15分)
- 第 2 題申論題
假設有一串文字由字母a, b, c, d, e, f 所組成,並且每個字母出現的頻率 如下表所示。若欲將此串文字進行霍夫曼編碼(Huffman Encoding)成01 字元字串,請回答下列問題: 字母 a b c d e f 出現頻率16% 10% 8% 25% 35% 6% 請產生霍夫曼樹(Huffman Tree),並詳細畫出產生的過程。不失一般 性,請將出現頻率低的置於左子樹,出現頻率高的置於右子樹,出現 頻率相同時則可任意擇一置於左子樹,另一個置於右子樹。(10 分) 承,若將霍夫曼樹中之左子樹標0,右子樹標1,請寫出各字母的霍 夫曼碼。(5 分)
- 第 2 題申論題
關於電腦(Computer)內部設計,請回答下列設計的問題:(每小題10 分,共20 分) CPU 內部使用快取記憶體(Cache Memory)的目的。 假設某部電腦(Computer)有64 GB(GigaBytes)記憶體,每一個字 組(Word)是4 位元組(Bytes),請計算出至少需要多少位元(Bit) 才能定址記憶體中每一個字組(Word)。
- 第 2 題申論題
回答以下關於網路與應用之問題: 在網際網路各個分層的資料傳輸,何謂「點對點」(Point-to-Point)傳 輸?點對點傳輸與端對端(End-to-End)傳輸有何差異?(10分) 住在臺南的Adam想傳送電子郵件給在美國的Bambi,分享他的工作現 況。一封典型的電子郵件從Adam傳送到Bambi的流程為何?詳細說明 流程中的關鍵組件,包含硬體、軟體以及使用到的協定等。(15分)
- 第 3 題申論題
以卡諾圖(Karnaugh Map)化簡下列布林函數(Boolean Function)成下 列指定型式:(每小題10 分,共20 分) 𝐹(𝑤, 𝑥, 𝑦, 𝑧) = (𝑥+ 𝑦ᇱ+ 𝑧′)(𝑤ᇱ+ 𝑥𝑦) 化簡成SoP(Sum of Product terms)型式。 化簡成PoS(Product of Sum terms)型式。 34550
- 第 3 題申論題
關於二元樹(Binary Tree)的觀念,請回答下列問題: 使用後序走訪(Postorder Traversal)的5 節點(Node)的樹:「fcbdg」, 請問此二元樹的根(Root)是那一個節點(Node)?(5 分) 使用前序走訪(Preorder Traversal)的7 節點(Node)的樹:「IBCDFMN」, 請問此二元樹的根(Root)是那一個節點(Node)?(5 分) 有一個二元樹(Binary Tree)有10 個節點(Node),下列為此二元樹 的中序走訪(Inorder Traversal)和前序走訪(Preorder Traversal): 中序走訪(Inorder Traversal):abcedfjgih 前序走訪(Preorder Traversal):jcbadefigh 請畫出此二元樹。(10 分)
- 第 3 題申論題
陣列與二元樹是撰寫程式常用的資料結構。 使用陣列(Array)結構儲存二元樹(Binary Tree)有何優點?(10分) 下面陣列Arr[0:14]表示一棵二元樹,陣列的元素代表該樹每個節點的鍵 值,請撰寫一個演算法重建出該二元樹。該樹是否為一棵二元搜尋樹 (Binary Search Tree)?(15分) 索引 0 1 2 3
- 第 4 題申論題
進行無線通訊時,由於裝置的位置以及訊號傳遞範圍的限制,常會產生 隱藏裝置的問題。請描述無線通訊之隱藏裝置問題。(10 分)
- 第 4 題申論題
使用TCP/IP 協定組(TCP/IP Protocol Suite)之主機間通訊,請問下列工 作分別為TCP/IP 協定組中那一層的任務:(每小題5 分,共20 分) 決定路徑? 連至傳輸媒介? 提供終端使用者服務? 產生使用者資料包?
- 第 5 題申論題
大數據的特性包含了多個V,常見的有Volume、Velocity、Variety、Veracity 及Value。請就大數據的角度解釋Volume、Velocity、Variety、Veracity 及 Value 的意義。(25 分)
- 第 5 題申論題
下列為以C 語言撰寫的程式碼片段和,請分別回答和各總共要 執行多少行敘述(statement)並說明其理由?(每小題5 分,共10 分)
- 第 6 題申論題
請回答下列問題:(每小題5 分,共10 分) 「甲先生」與「乙先生」互相傳送機密訊息,他們共享一個非常大的 數值作為雙向的加密及解密金鑰,請問這是對稱式金鑰密碼或是非對 稱式金鑰密碼?並請說明理由。 在一密碼中,所有明文中的A 在密文中都被改成D,而且明文中的D 在密文中都被改成H,請問這是單字母或多字母的替代密碼?並請說 明理由。 B=5; while (B<8) { statement; B=B-2; } for (int i=5; i<20; i++){ statement; i=i+1; }
- 第 8 題申論題
9 10 11 12 13 14 鍵值 18 10 21 15 23 13 17 25 四、請回答以下問題: 若執行下列的C程式,且輸入整數10,則程式輸出的結果是什麼?說明 其計算過程。(10分) 如下列Python程式,其目的為何?如果執行該程式,並輸入整數6,則 輸出的結果是什麼?寫出其詳細步驟。(15分) 01 02 03 04 05 06 07 08 09 10 11 #include <stdio.h> int main() { int i, j, n, order; scanf("%d", &n); order = 0 ; for ( i = 0; i < n-1 ; i ++) for ( j = i ; j < n-1 ; j++) order = order + 1 ; printf("%d ", order); } 01 02 03 04 05 06 07 08 09 10 11 def aloha(k): if(k >0): rs=k+aloha(k-1) else: rs=0 return rs n=int(input()) a=[0 for i in range(n+1)] 12 13 14 15 16 17 18 19 20 21 22 i = 0 while i < len(a): a[i]=aloha(i) i = i + 1 print(“theResults:”) print(a, end='\n') C 程式 Python 程式
資料來源:考選部歷屆試題。