lawpalyer logo

計算機概論考古題|歷屆國考試題彙整

橫跨多種國家考試的計算機概論歷屆試題(選擇題 + 申論題)

年份:

電力工程 50 題

電腦系統由五大主要單元組成,其中一個是中央處理器(CPU),主要包 括「控制單元」與「算術邏輯單元」。請列出電腦系統,除CPU 之外的 其他四個組成單元,並說明它們的作用;也請說明CPU 的「控制單元」 與「算術邏輯單元」的作用。(20 分)
如果任何布林函數(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 分)
目前固態硬碟(SSD,solid-state disk or solid-state driver)已經廣泛地使 用在計算機(或稱電腦)系統或是當作資料儲存的隨身碟。目前用來生 產固態硬碟的NAND Flash 有四種,分別是單層式儲存(SLC)、多層式 儲存(MLC,通常用來指稱雙層式儲存)、三層式儲存(TLC)、四層式 儲存(QLC)。請說明這四種NAND Flash 的差異,再由使用者觀點,比 較它們的讀寫速度、使用壽命與成本。(20 分)
TCP/IP 協定堆疊是網路運作的基礎,是一種分層架構的設計。請闡述分 層架構設計的兩個好處,也請列出TCP/IP 協定堆疊各層協定的名稱,並 闡述各層的主要作用。(20 分)
在計算機(或稱電腦)系統或是計算機網路中,資訊傳輸的安全性倍受 重視。為此,許多不同的加密與解密技術(或稱演算法)廣泛的應用於 此等系統中,研究這些技術的專門學問則稱為密碼學(cryptography)。 然而這些技術可以歸納為兩大類:對稱式密碼學(symmetric cryptography)與非對稱式密碼學(asymmetric cryptography)。請說明這 兩者的區別。又公鑰(public key)與私鑰(private key)與上述兩種密碼 學有何關連?請說明之。(20 分)
資料結構是程式設計領域很重要的概念。請闡述佇列(Queue)與循環佇 列(Circular Queue)的差別與各別的應用場合。若使用陣列實作這兩種 佇列,那一種較為浪費儲存空間?請闡述原因。(20 分)
欲將桌上型計算機(或稱電腦)連接到網際網路時,必須設定下列四個 TCP/IP 通訊協定的項目:IP(internet protocol)位址、子網路遮罩 (subnetwork mask)、預設閘道(default gateway)IP 位址、DNS(Domain Name System 或是Domain Name Server)IP 位址。請說明上述各項目的 功能。(20 分)
結構化程式設計中,常提到的三種基本控制結構是那些?請各舉一個 簡單的範例並使用虛擬代碼(Pseudo Code)或任何程式語言實現所舉 範例。(20 分)
在計算機系統中,搜尋(search)資料為一個常用的演算法。今有一個N 個元素的陣列。請先由計算機科學的觀點定義什麼是演算法,再說明循 序搜尋(sequential search)與二元搜尋(binary search)的適用時機,並 使用運算的次數為時間單位,比較兩種搜尋方式在搜尋上述N 個元素的 陣列時的最小搜尋時間、平均搜尋時間與最大搜尋時間。(20 分)
生成式AI 有許多應用方向,但也帶來新型態的倫理與社會議題。請舉 出兩個生成式AI 的應用案例,並針對生成式AI 的「深偽(Deepfake)」、 以及「偏見」這兩項議題,闡述問題怎麼產生,並提出可行的因應方式。 (20 分)
試述佇列(queue)與堆疊(stack)的工作原理及其特性,並分別舉出此 兩種資料結構在電腦系統中實際應用的例子。(20 分)
請回答下列問題:(每小題10 分,共20 分) 一般而言,二個裝置如果要順利交換資料,就必須讓二個裝置使用共通 語言彼此溝通,在電腦網路的世界中,裝置互相溝通的語言稱之為「協 定」(Protocol)。為了有效將網路設備以及協定加以管理與分類,國際 標準組織(ISO)制定了網路OSI 模型,用以區分通訊系統及其使用的 協定。請說明網路OSI 模型分為那些層(Layer),以及各層的功能。 請說明何謂中繼器(Repeater)、橋接器(Bridge)、交換器(Switch)、 路由器(Router),同時說明上述各裝置分別屬於OSI 模型的那一層網 路設備。
中央處理器(CPU)在處理指令(instruction)時包含那些步驟?請依運 作順序列出這些步驟並詳細說明。(20 分)
程式設計上,當主程式呼叫函式(Function)後,系統會轉移到函式上執行, 函式也可能再呼叫其他函式。如果執行某一函式中,它會再呼叫自己本身 的函式,則稱之為『遞迴函式』(Recursive Function)。(每小題10 分, 共20 分) 一個數字同時是幾個數字的因數,我們稱這個數字為這幾個數字的公因 數,公因數中最大的稱為最大公因數(GCD)。兩個數字的最大公因數 可以有多種解法,請依輾轉相除法求解兩個數字最大公因數的數學遞迴 公式(依數學定義的方式呈現)。 請根據題的遞迴公式,寫一個完整的Java(或C/C++、Python)遞迴 程式,該程式可以輸入兩個整數,並且輸出這兩個整數的最大公因數。
什麼是物件導向程式設計(object oriented programming)?它包含了那 些基本原則?試述這些原則的意義及使用這些原則的優點。(20 分)
中央處理器(Central Processing Unit, CPU)是現代計算機的大腦,也是電 腦系統中最重要的組成之一。請回答下列問題: 請說明中央處理器的主要目的。(5 分) 請列出中央處理器主要組成單元(Unit)。(5 分) 請說明中央處理器中每個單元的主要功能。(10 分)
在作業系統(operating system)中,何謂長程排班程式(long-term scheduler)?何謂短程排班程式(short-term scheduler)?請詳細說明它 們的功用與工作原理。(20 分)
請說明下列名詞之意涵:(每小題2 分,共10 分) 機器語言(Machine Language) 組合語言(Assembly Language) 組譯器(Assembler) 編譯器(Compiler) 直譯器(Interpreter)
請詳細說明下列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))
請根據下圖所示,從A 開始,依字母排列順序(in alphabetical order), 進行廣度優先搜尋(Breadth First Search, BFS)以及深度優先搜尋(Depth First Search, DFS),請分別列出其走訪的字母順序。(10 分)
請回答下列問題:(每小題10 分,共20 分) 何謂對稱式金鑰加解密演算法(Symmetric-key cryptography)以及非對 稱式金鑰加解密演算法(Asymmetric-key cryptography)? 何謂數位簽章以及如何運作?
請回答下列問題: 檔案管理(File Management)是作業系統的重要任務之一。何謂檔案? 檔案管理包含那些基本功能?(15 分) 將下列布林運算式(Boolean Expression)簡化為最簡型式。寫出每個步 驟及其引用的法則。(10 分) ( )( ) A B A B C C   
假設X、Y 與Z 都是8 位元暫存器,其中高序5 位元儲存整數而低序3 位元儲存小數,則:(每小題10 分,共20 分) 將14.35 與15.6875 分別存入X 與Y 暫存器時,X 與Y 暫存器的值為 何?請以二進制表示。 將X 與Y 暫存器的值相加後,存入Z 暫存器中,則Z 暫存器的值為 何?請以二進制表示。
電腦系統包含硬體、軟體與資料。 硬體由CPU、記憶體以及I/O設備互相連接所組成。I/O設備是否能直接 連接到CPU和記憶體的匯流排(Bus)?說明其理由。(10分) 使用「二補數」(2’s Complement)方法儲存整數資料有何優點?某電腦 系統使用「二補數」儲存整數,且配置8位元記憶體以儲存每個整數, 則該系統可以表示的整數範圍為何?請詳述其計算過程。(15分)
有關電腦網路與社群網路安全,請回答下列問題: 使用者在瀏覽器輸入的網域名稱,如何轉換成對應的IP 位址?詳述其 轉換過程。(15 分) 使用社群網路媒體時,要具有資訊安全意識。何謂認知戰(Cognitive Warfare)?認知戰的目的為何?請就其定義與目的詳加說明。(10 分)
全減器(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)描述。
回答以下關於網路與應用之問題: 在網際網路各個分層的資料傳輸,何謂「點對點」(Point-to-Point)傳 輸?點對點傳輸與端對端(End-to-End)傳輸有何差異?(10分) 住在臺南的Adam想傳送電子郵件給在美國的Bambi,分享他的工作現 況。一封典型的電子郵件從Adam傳送到Bambi的流程為何?詳細說明 流程中的關鍵組件,包含硬體、軟體以及使用到的協定等。(15分)
請回答下列有關資料結構的問題: 陣列(Array)中的元素(Element)與鏈結串列(Linked List)中的元素 (Element)有何不同?請就元素在記憶體的儲存方式(Storage)、存取 方式(Access)以及命名方式(Name)三方面詳細說明。(15 分) 若某算術運算式的後置表示法(Postfix)是:A B * C D E * + +,則原 運算式的二元表示樹(Binary Expression Tree)為何?詳述其建構步驟。 (10 分)
請解釋或定義下列與網際網路相關的名詞:(每小題5 分,共20 分) 代理伺服器(proxy server)。 防火牆(firewall)。 分散式阻斷服務(Distributed denial of service, DDoS)攻擊。 間諜程式(spyware 或sniffing)。 35650-35750
陣列與二元樹是撰寫程式常用的資料結構。 使用陣列(Array)結構儲存二元樹(Binary Tree)有何優點?(10分) 下面陣列Arr[0:14]表示一棵二元樹,陣列的元素代表該樹每個節點的鍵 值,請撰寫一個演算法重建出該二元樹。該樹是否為一棵二元搜尋樹 (Binary Search Tree)?(15分) 索引 0 1 2 3
請回答下列問題: 如下列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
假設輸入系列為: 23, 12, 4, 56, 19, 42, 98 建構一個二元搜尋樹(binary search tree)。(5 分) 何謂最小優先權佇列(min priority queue)?試定義之。(5 分) 使用二元搜尋樹是否可以實現最小優先權佇列?若可以,請描述如何 取得最小優先權的資訊。若不可以,請說明理由。(10 分)
欲編寫一個程式可以將1 至10000 中不是3 也不是7 之倍數的那些整數 累加起來。請先描述你會如何解這個問題,再使用任何一種程式語言完 成此程式。(15 分)
請回答下列有關於程式語言的問題: 說明什麼是形式引數(formal arguments)。(5 分) 說明什麼是實際引數(actual arguments)。(5 分) 說明傳值呼叫(call by value)與傳參考值呼叫(call by reference)的 區別。(10 分)
網際網路有許多協定,也存在許多資安威脅,請試說明HTTP 與HTTPS 協定的最大不同為何?另外,DDoS 資安攻擊的特徵為何?(15 分)
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 程式
你只能利用基本的三種邏輯閘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 分)
計算機由記憶體、中央處理單元、輸出入子系統等組成,請回答下列 問題: 說明暫存器(Register)、程式計數器(Program Counter)之功用以及使 用快取記憶體(Cache Memory)之目的。(15 分) 說明工作排程器(Job Scheduler)與行程排程器(Process Scheduler) 有何差異?(10 分)
請將十進位的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
Scheme 是一種函式程式語言(functional programming language),其中定 義了一個函式如下: (define (mystery input-list) (cond ((null? input-list) 0) (else ( + 1 (mystery (cdr input-list)))))) 執行下列函式的呼叫,結果為何?(5 分) (mystery (list 4 5 6)) 解釋這個mystery 函式,在計算什麼?(5 分) 用Scheme 語法,定義出一個函式factorial n,這個函式要算出n!。(10 分)
有關無線網路與網路協定,請回答下列問題: 依其定義、標準、傳輸距離,說明WLAN(Wireless Local Area Network) 與WPAN(Wireless Personal Area Network)之差異?(15 分) 假設一個系統使用五層協定,如果應用程式創建一個100 bytes 的 訊息,每層(包括第五層和第一層)添加一個10 bytes 的header 到 資料單元,則該系統的傳輸效率(Transmission Efficiency)是多少? (10 分)
寫一個演算法,輸入資料為有k 個整數值N1, N2,…Nk 的陣列N,以及一 個特別的值SUM。這個演算法找出陣列N 裡的一對整數,其加總的和剛 好等於SUM,並把這一對整數列印出來,如果都沒有這樣的一對整數, 則列印出“抱歉,找不到”。(20 分) 例如:陣列N 裡的數值為3、8、13、2、17、18、10。 且如果(i)SUM 的值是20,則你的演算法要印出:(2、18)或(3、17)。 但如果(ii)SUM 的值是29,則你的演算法要印出:抱歉,找不到。 37150
電腦的作業系統使用虛擬記憶體來管理記憶體,假設每個分頁(page) 大小為4 KB,總共有邏輯位址(logical address)空間共256 分頁,而 此電腦的實體記憶體總共只有64 框(frame)。則此電腦的邏輯位址、 實體位址(physical address)分別是多少bits?(10 分) 假設使用只有三個分頁框(frame)的需求分頁法(demand paging)機 制,且使用LRU(Least Recently Used)取代演算法,則下列分頁參考 (page reference)的順序7, 2, 3, 1, 2, 5, 3, 4, 6, 7, 7, 1, 0, 5, 4, 6, 2, 3, 0, 1 會導致多少次的分頁錯誤(page fault),詳述說明整個過程。假設一開 始的分頁表(page table)內容是空的。(10 分) 34750
有關多程式(Multi-Programming)記憶體管理,請回答下列問題: 說明何謂Swapping 以及Non-Swapping 記憶體管理方法?分頁 (Paging)是屬於那種管理方式?(15 分) 假設某作業系統採用分頁記憶體管理,可用記憶體100 MB,分割成 25 個頁框(Frame)。今有3 個程式請求執行:程式A 需要21 MB、 程式B 需要27 MB、程式C 需要38 MB。則三個程式總共使用了幾 個頁框?未被使用頁框的比率是多少?(10 分) 70560 35550 35650
假設在時間0 的時候,行程(process)P1,P2,P3,P4,P5,依序進來系 統。其需要的CPU 處理時間(burst time)和優先權(priority)的資訊如 下表: Process Burst time priority P1 10 3 P2 1 1 P3 2 3 P4 1
一個無階級(classless)IP 位址為167.188.170.83/27,它所屬的子網域 (subnet)範圍為多少?(10 分) 在一個區域網路內,多個使用者共用同一個通道(channel),使用下列 那些媒介存取控制(Medium Access Control)協定,會讓當使用者站 台數目很多時,因為通道碰撞(collision)嚴重,而使得系統的吞吐量 驟降,甚至癱瘓掉?解釋原因。(10 分) ⑴ALOHA ⑵CSMA/CD ⑶CSMA/CA ⑷TDMA
請回答以下Python 程式設計問題: 說明下列程式一的功用為何?(7 分) 執行程式一,且輸入整數8,則輸出的結果為何?(6 分) 執行程式二,則輸出的結果為何?(6 分) 執行程式三,則輸出的結果為何?(6 分) 01 02 03 04 05 06 07 08 09 10 11 12 def theNum(n): if n == 1: result = 1 else: result = theNum(n - 1) + n return result a=int(input()) print(theNum(a)) 01 02 03 04 05 06 07 08 09 10 11 12 def main(): x=3 print(x) f() print(x) def f(): x=8 print(x) main() 01 02 03 04 05 06 07 08 09 10 11 12 def f(num): num = num + 5 return num num = 2 print(f(num)) print(num) 程式一 程式二 程式三
P5
下列式子是用後序(postfix)表示式,計算出它的答案。(5 分) 2 3 4 + * 5 + 假設一個二元樹的走訪(binary tree traversal),用後序走訪(postorder) 得到的是HGDBFECA,用中序走訪(inorder)的結果是HDGBACFE, 畫出這個二元樹。(15 分)
2 分別使用FCFS、SJF、nonpreemptive priority(數字小代表優先權高)、 RR(quantum 為1)的排程演算法,詳細畫出甘特圖(Gantt chart)表示執 行這些行程所需時間。每單位時間執行那個行程必須標示清楚。(20 分) 四、志銘跟春嬌是很好的朋友,有邀約的話一定會欣然赴約。現在志銘 想要跟春嬌約會,因為沒有網路,所以用傳統寫信的方式,寄給春 嬌跟她約定約會的時間與地點。但因為傳統寄信的方式,可能因為 某些因素,信件沒有送達或延遲很久時間才送達。那麼請問志銘如 果按照他定的時間地點準時赴約,春嬌一定會去嗎?會或不會,都 請解釋原因。(10 分) 那如果春嬌收到信後,回確認信給志銘說會準時赴約,那請問春嬌按 約定時間到達約會地點時,她能確定志銘一定會在那邊嗎?會或不 會,都請解釋原因。(5 分) 繼上述,那如果志銘有收到春嬌的確認信後,再回信說,讚,我一定 會去的。請問那這次,兩個人都會確定對方一定會準時到現場赴約 嗎?請分析各種可能性。(5 分) 37150 五、假設我們使用多表置換密碼(polyalphabetic ciphers)機制來加密資料。 這個機制需有個密鑰串(key stream)K = (K1,K2,K3,…),將我們的明文 (Plaintext)P = P1P2P3…的每個字母,依序加上key 值,轉換成新的字母, 變成密文(Ciphertext)C = C1C2C3…。也就是: 加密機制為Ci = (Pi + Ki) mod 26 解密機制為Pi = (Ci – Ki) mod 26 其中,英文字母與數字的轉換如下表,並以module 26 來計算(除以26 的餘數)。 假設我們使用的密鑰串為:12, 00, 19, 19, 00, 02, 10, 08, 18, 19. 那麼收到的密文是EUVVEUCNME 請問原來的明文是什麼?(20 分)

電子工程 50 題

數字在電腦中以二進位表示。請說明:將十進位數字「25」轉換成二 進位,並列出轉換步驟。說明「位元」(Bit)和「位元組」(Byte)的 關係。一個ASCII 字元需要多少位元組?為什麼電腦使用二進位而不 是十進位?說明至少兩個理由。如果一個檔案大小是「1MB」,這相當 於多少位元組(Bytes)?多少位元(Bits)?請列出計算過程。(20 分)
如果任何布林函數(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 分)
電腦系統由五大主要單元組成,其中一個是中央處理器(CPU),主要包 括「控制單元」與「算術邏輯單元」。請列出電腦系統,除CPU 之外的 其他四個組成單元,並說明它們的作用;也請說明CPU 的「控制單元」 與「算術邏輯單元」的作用。(20 分)
電腦的輸入輸出系統連接各種周邊裝置。請說明:列出五種常見的輸 入裝置和五種輸出裝置。什麼是「USB」(Universal Serial Bus)?它 有那些優點?說明「隨插即用」 (Plug and Play)的意義。比較「HDD」 (傳統硬碟)和「SSD」(固態硬碟)的差異,包括運作原理、速度、價 格等面向。(20 分)
目前固態硬碟(SSD,solid-state disk or solid-state driver)已經廣泛地使 用在計算機(或稱電腦)系統或是當作資料儲存的隨身碟。目前用來生 產固態硬碟的NAND Flash 有四種,分別是單層式儲存(SLC)、多層式 儲存(MLC,通常用來指稱雙層式儲存)、三層式儲存(TLC)、四層式 儲存(QLC)。請說明這四種NAND Flash 的差異,再由使用者觀點,比 較它們的讀寫速度、使用壽命與成本。(20 分)
TCP/IP 協定堆疊是網路運作的基礎,是一種分層架構的設計。請闡述分 層架構設計的兩個好處,也請列出TCP/IP 協定堆疊各層協定的名稱,並 闡述各層的主要作用。(20 分)
排序(Sorting)是資料處理的基本操作。請說明:為什麼需要排序? 舉出三個日常生活中需要排序的實際例子。簡單說明「氣泡排序法」 (Bubble Sort)的運作原理,並畫圖示範如何排序[5, 2, 8, 1, 9]這組數字。 比較「由小到大排序」和「由大到小排序」,那個比較常用?為什麼? 如果資料量很大(如一百萬筆),排序會遇到什麼問題?應該如何改 善?(20 分)
在計算機(或稱電腦)系統或是計算機網路中,資訊傳輸的安全性倍受 重視。為此,許多不同的加密與解密技術(或稱演算法)廣泛的應用於 此等系統中,研究這些技術的專門學問則稱為密碼學(cryptography)。 然而這些技術可以歸納為兩大類:對稱式密碼學(symmetric cryptography)與非對稱式密碼學(asymmetric cryptography)。請說明這 兩者的區別。又公鑰(public key)與私鑰(private key)與上述兩種密碼 學有何關連?請說明之。(20 分)
資料結構是程式設計領域很重要的概念。請闡述佇列(Queue)與循環佇 列(Circular Queue)的差別與各別的應用場合。若使用陣列實作這兩種 佇列,那一種較為浪費儲存空間?請闡述原因。(20 分)
函數(Function)讓程式更容易維護和重複使用。請說明:什麼是「函 數」?使用函數有那些優點?解釋「參數」(Parameter)和「回傳值」 (Return Value)的意義,並舉例說明。什麼是「遞迴」(Recursion)? 寫出計算階乘(如5! = 5 × 4 × 3 × 2 × 1)的遞迴函數虛擬碼。遞迴和迴 圈(Loop)都可以重複執行,它們有何不同?在什麼情況下遞迴比較適 合?(20 分)
結構化程式設計中,常提到的三種基本控制結構是那些?請各舉一個 簡單的範例並使用虛擬代碼(Pseudo Code)或任何程式語言實現所舉 範例。(20 分)
欲將桌上型計算機(或稱電腦)連接到網際網路時,必須設定下列四個 TCP/IP 通訊協定的項目:IP(internet protocol)位址、子網路遮罩 (subnetwork mask)、預設閘道(default gateway)IP 位址、DNS(Domain Name System 或是Domain Name Server)IP 位址。請說明上述各項目的 功能。(20 分)
人工智慧(AI)正在影響各行各業。請說明:簡單解釋「人工智慧」、 「機器學習」、「深度學習」這三個名詞的意義及其關係。舉出三個 AI 在日常生活中的應用實例(如臉部辨識、語音助理、推薦系統等), 並說明它們如何運作。說明「訓練資料」對AI 模型的重要性。如果訓 練資料有偏差,會造成什麼問題?你認為未來10 年內,AI 可能取代 那些工作?那些工作較不容易被取代?請說明理由。(20 分)
生成式AI 有許多應用方向,但也帶來新型態的倫理與社會議題。請舉 出兩個生成式AI 的應用案例,並針對生成式AI 的「深偽(Deepfake)」、 以及「偏見」這兩項議題,闡述問題怎麼產生,並提出可行的因應方式。 (20 分)
在計算機系統中,搜尋(search)資料為一個常用的演算法。今有一個N 個元素的陣列。請先由計算機科學的觀點定義什麼是演算法,再說明循 序搜尋(sequential search)與二元搜尋(binary search)的適用時機,並 使用運算的次數為時間單位,比較兩種搜尋方式在搜尋上述N 個元素的 陣列時的最小搜尋時間、平均搜尋時間與最大搜尋時間。(20 分)
十進位表示的一個數,268,請將它轉換成二進位、八進位、十六進位的 表示,並請說明二進位的負數表示方法。(20 分)
試述佇列(queue)與堆疊(stack)的工作原理及其特性,並分別舉出此 兩種資料結構在電腦系統中實際應用的例子。(20 分)
請說明何謂多工作業系統;並以A、B、C 等3 個執行程序(Process), 說明多工作業的進行方式。(20 分)
中央處理器(CPU)在處理指令(instruction)時包含那些步驟?請依運 作順序列出這些步驟並詳細說明。(20 分)
有一數列,S={6、1、3、10、12、7},請撰寫一個虛擬程式碼(Pseudo Code),或以任何程式語言撰寫運用泡沫排序演算法(Bubble Sorting Algorithm)完成S 數列由小至大的排序。(20 分)
什麼是物件導向程式設計(object oriented programming)?它包含了那 些基本原則?試述這些原則的意義及使用這些原則的優點。(20 分)
說明HTTP(HyperText Transfer Protocol)、HTTPS(HTTP Secure)、以 及REST API(Representational State Transfer Application Programming Interface)的目的與作用方式,以及這三者的階層關係。(20 分)
在作業系統(operating system)中,何謂長程排班程式(long-term scheduler)?何謂短程排班程式(short-term scheduler)?請詳細說明它 們的功用與工作原理。(20 分)
請試述下列名詞之意涵:(每小題4 分,共20 分) 勒索病毒 分散式阻斷服務攻擊(Distributed Denial of Service) 數位憑證 物聯網(Internet of Things) 生成式AI
請詳細說明下列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))
給定一數列:21, 7, 56, 81, 73, 99, 11, 35(每小題10 分,共20 分) 請使用「插入排序法(Insertion Sort Algorithm)」將這組數列由「小到 大」排序,並且正確記錄每一次的排序結果。 請使用「二元搜尋法(Binary Search Algorithm)」搜尋「81」,並且合 理一致的使用3 個變數「first」、「mid」和「last」來記錄每一次的搜尋 直到結束,請詳細列出每一次搜尋「first」、「mid」和「last」的結果直 到搜尋結束。
電腦系統包含硬體、軟體與資料。 硬體由CPU、記憶體以及I/O設備互相連接所組成。I/O設備是否能直接 連接到CPU和記憶體的匯流排(Bus)?說明其理由。(10分) 使用「二補數」(2’s Complement)方法儲存整數資料有何優點?某電腦 系統使用「二補數」儲存整數,且配置8位元記憶體以儲存每個整數, 則該系統可以表示的整數範圍為何?請詳述其計算過程。(15分)
常見的數字系統包含十進位、二進位、八進位及十六進位等數字系統, 其中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 分
關於電腦(Computer)內部設計,請回答下列設計的問題:(每小題10 分,共20 分) CPU 內部使用快取記憶體(Cache Memory)的目的。 假設某部電腦(Computer)有64 GB(GigaBytes)記憶體,每一個字 組(Word)是4 位元組(Bytes),請計算出至少需要多少位元(Bit) 才能定址記憶體中每一個字組(Word)。
回答以下關於網路與應用之問題: 在網際網路各個分層的資料傳輸,何謂「點對點」(Point-to-Point)傳 輸?點對點傳輸與端對端(End-to-End)傳輸有何差異?(10分) 住在臺南的Adam想傳送電子郵件給在美國的Bambi,分享他的工作現 況。一封典型的電子郵件從Adam傳送到Bambi的流程為何?詳細說明 流程中的關鍵組件,包含硬體、軟體以及使用到的協定等。(15分)
假設有一串文字由字母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 分)
以卡諾圖(Karnaugh Map)化簡下列布林函數(Boolean Function)成下 列指定型式:(每小題10 分,共20 分) 𝐹(𝑤, 𝑥, 𝑦, 𝑧) = (𝑥+ 𝑦ᇱ+ 𝑧′)(𝑤ᇱ+ 𝑥𝑦) 化簡成SoP(Sum of Product terms)型式。 化簡成PoS(Product of Sum terms)型式。 34550
關於二元樹(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 分)
陣列與二元樹是撰寫程式常用的資料結構。 使用陣列(Array)結構儲存二元樹(Binary Tree)有何優點?(10分) 下面陣列Arr[0:14]表示一棵二元樹,陣列的元素代表該樹每個節點的鍵 值,請撰寫一個演算法重建出該二元樹。該樹是否為一棵二元搜尋樹 (Binary Search Tree)?(15分) 索引 0 1 2 3
進行無線通訊時,由於裝置的位置以及訊號傳遞範圍的限制,常會產生 隱藏裝置的問題。請描述無線通訊之隱藏裝置問題。(10 分)
使用TCP/IP 協定組(TCP/IP Protocol Suite)之主機間通訊,請問下列工 作分別為TCP/IP 協定組中那一層的任務:(每小題5 分,共20 分) 決定路徑? 連至傳輸媒介? 提供終端使用者服務? 產生使用者資料包?
大數據的特性包含了多個V,常見的有Volume、Velocity、Variety、Veracity 及Value。請就大數據的角度解釋Volume、Velocity、Variety、Veracity 及 Value 的意義。(25 分)
下列為以C 語言撰寫的程式碼片段和,請分別回答和各總共要 執行多少行敘述(statement)並說明其理由?(每小題5 分,共10 分)  
請回答下列問題:(每小題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; }
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 程式
你只能利用基本的三種邏輯閘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 分)
計算機由記憶體、中央處理單元、輸出入子系統等組成,請回答下列 問題: 說明暫存器(Register)、程式計數器(Program Counter)之功用以及使 用快取記憶體(Cache Memory)之目的。(15 分) 說明工作排程器(Job Scheduler)與行程排程器(Process Scheduler) 有何差異?(10 分)
請將十進位的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
Scheme 是一種函式程式語言(functional programming language),其中定 義了一個函式如下: (define (mystery input-list) (cond ((null? input-list) 0) (else ( + 1 (mystery (cdr input-list)))))) 執行下列函式的呼叫,結果為何?(5 分) (mystery (list 4 5 6)) 解釋這個mystery 函式,在計算什麼?(5 分) 用Scheme 語法,定義出一個函式factorial n,這個函式要算出n!。(10 分)
寫一個演算法,輸入資料為有k 個整數值N1, N2,…Nk 的陣列N,以及一 個特別的值SUM。這個演算法找出陣列N 裡的一對整數,其加總的和剛 好等於SUM,並把這一對整數列印出來,如果都沒有這樣的一對整數, 則列印出“抱歉,找不到”。(20 分) 例如:陣列N 裡的數值為3、8、13、2、17、18、10。 且如果(i)SUM 的值是20,則你的演算法要印出:(2、18)或(3、17)。 但如果(ii)SUM 的值是29,則你的演算法要印出:抱歉,找不到。 37150
有關無線網路與網路協定,請回答下列問題: 依其定義、標準、傳輸距離,說明WLAN(Wireless Local Area Network) 與WPAN(Wireless Personal Area Network)之差異?(15 分) 假設一個系統使用五層協定,如果應用程式創建一個100 bytes 的 訊息,每層(包括第五層和第一層)添加一個10 bytes 的header 到 資料單元,則該系統的傳輸效率(Transmission Efficiency)是多少? (10 分)
電腦的作業系統使用虛擬記憶體來管理記憶體,假設每個分頁(page) 大小為4 KB,總共有邏輯位址(logical address)空間共256 分頁,而 此電腦的實體記憶體總共只有64 框(frame)。則此電腦的邏輯位址、 實體位址(physical address)分別是多少bits?(10 分) 假設使用只有三個分頁框(frame)的需求分頁法(demand paging)機 制,且使用LRU(Least Recently Used)取代演算法,則下列分頁參考 (page reference)的順序7, 2, 3, 1, 2, 5, 3, 4, 6, 7, 7, 1, 0, 5, 4, 6, 2, 3, 0, 1 會導致多少次的分頁錯誤(page fault),詳述說明整個過程。假設一開 始的分頁表(page table)內容是空的。(10 分) 34750
假設在時間0 的時候,行程(process)P1,P2,P3,P4,P5,依序進來系 統。其需要的CPU 處理時間(burst time)和優先權(priority)的資訊如 下表: Process Burst time priority P1 10 3 P2 1 1 P3 2 3 P4 1
有關多程式(Multi-Programming)記憶體管理,請回答下列問題: 說明何謂Swapping 以及Non-Swapping 記憶體管理方法?分頁 (Paging)是屬於那種管理方式?(15 分) 假設某作業系統採用分頁記憶體管理,可用記憶體100 MB,分割成 25 個頁框(Frame)。今有3 個程式請求執行:程式A 需要21 MB、 程式B 需要27 MB、程式C 需要38 MB。則三個程式總共使用了幾 個頁框?未被使用頁框的比率是多少?(10 分) 70560 35550 35650
一個無階級(classless)IP 位址為167.188.170.83/27,它所屬的子網域 (subnet)範圍為多少?(10 分) 在一個區域網路內,多個使用者共用同一個通道(channel),使用下列 那些媒介存取控制(Medium Access Control)協定,會讓當使用者站 台數目很多時,因為通道碰撞(collision)嚴重,而使得系統的吞吐量 驟降,甚至癱瘓掉?解釋原因。(10 分) ⑴ALOHA ⑵CSMA/CD ⑶CSMA/CA ⑷TDMA