申論 1下列C 語言程式碼,讓程式main()執行後將會印出什麼訊息?(10 分)#include <stdio.h>int main(void){int a[] = {9, 7, 5, 3, 1, 8, 6, 4, 2, 0};int i, j, z;for (i = 0; i < 9; i++){for(j = i + 1; j < 9; j++){if (a[i] > a[j]){z = a[i];a[i] = a[j];a[j] = z;}}}for (i = 0; i < 10; i++) printf("%d", a[i]);return 0;}
本卷皆為申論題,點「看答案與解析」查看擬答。
弱點分析
未作答的題目不計分。看我的紀錄
申論 2停止並等待自動重傳請求協定(stop-and-wait ARQ)是相當原始的錯誤糾正協定。請說明其原則。為了克服停止並等待自動重傳請求協定的缺點,陸續發展了回退N(Go-Back-N)自動重傳請求和選擇重傳(Selective-Repeat)自動重傳請求方法。請說明這兩種改善方法的差異性。(20 分)
申論 3范紐曼架構(von Neumann architecture)即儲存程式型電腦,有可能會導致所謂的范紐曼瓶頸(von Neumann bottleneck)。請說明范紐曼瓶頸的意義,與可行的解決方法。(15 分)
申論 4請說明 Big O notation 和 Big Theta notation 的區別。並證明線性函數 f(n) = an+b;a>0,是O(n)。(20 分)
申論 5請回答下列問題:㈠在N 個bits 的有正負之二補數系統裡,可表示的整數範圍為何?另,二補數系統具有對於加法或減法處理方式相同的優點。其原因為何?(15 分)㈡針對十進制加法的題目:14+(-5),使用5 個bits 的二補數(2' complement)之算術運算改寫,進行加法而得到二補數的和,並討論其結果。(10 分)㈢針對十進制加法的題目:14+3,使用5 個bits 的二補數(2' complement)之算術運算改寫,進行加法而得到二補數的和,並討論其結果。(10 分)