參考答案 / 成大 / 113 年 計算機概論

國立成功大學資訊管理研究所

成大 113 年資管所 計算機概論 參考答案

共 20 題

參考答案 PDF各校參考答案的 PDF,訂閱考試資源分享信後會寄到您的信箱。訂閱領取 PDF

參考答案由作者與 AI 討論後逐題確認,不是各校公布的標準答案;若與各校公布不同,以各校為準。
最後更新:2026 年 11 月 3 日。發現錯誤歡迎來信。

這份考卷每一題的解析與手寫題的答題範例,收在《資管所考古題 111-115 計概資結全解》,可以免費試閱。

題號考點主題答案
A-1(1)Framework 與 Library 比較:控制反轉(IoC)與 Component(元件)定義(a)
A-1(2)UML 圖表分類:Structure Diagrams 與 Behavior Diagrams(b)
A-1(3)OOP 多型:Overloading 與 Overriding 比較,及 SOLID 五大原則(d)
A-1(4)耦合與內聚:Coupling(Interaction/Inheritance)與 Cohesion 比較(c)
A-1(5)軟體開發方法論:Waterfall 與 Agile 比較(d)
A-1(6)OOP 多型:Overloading 與 Overriding 比較,及 SOLID 五大原則(b)
A-1(7)Framework 與 Library 比較:控制反轉(IoC)與 Component(元件)定義(a)
A-1(8)非對稱式加密與 RSA 演算法:金鑰生成、加解密流程與範例(d)
A-1(9)加密技術基礎:對稱式加密與常見演算法(DES/AES/IDEA/RC4)(d)
A-1(10)雜湊(Hashing)、編碼(Encoding)與加密(Encryption)的差異比較(c)

A-2Adapter Design Pattern

考點:軟體設計模式基礎:Factory、Adapter 與架構角色類別(Entity/Controller/Domain)

Adapter Pattern 是結構型設計模式,讓介面不相容的類別能協同運作:建立 Adapter 包裝既有的 Adaptee,實作呼叫端預期的 Target Interface,內部轉呼叫 Adaptee 原有的介面,呼叫端與 Adaptee 都不必修改。

例:報表模組預期呼叫 render(JsonData),第三方函式庫只提供 parseXML(XmlData);寫 XmlToJsonAdapter 實作 render(),內部呼叫 parseXML() 並把結果轉成 JSON。

A-3Cohesion

考點:耦合與內聚:Coupling(Interaction/Inheritance)與 Cohesion 比較

Cohesion(內聚力)是一個模組內部各元素彼此關聯、共同完成單一明確職責的程度。

是理想特質。高內聚的模組易理解、易測試與維護(修改範圍侷限在單一模組),也易重複使用;與低耦合相輔相成。

題號考點主題答案
B-1C++ 傳參考(Pass-by-Reference)與 const 修飾詞(b)
B-2遞迴(Recursion)基本概念:分而治之與 Base Case(d)
B-3C++ 指標算術限制與函式指標語法(a)
B-4C++ 指標算術限制與函式指標語法(c)
B-5C++ 繼承存取層級與虛擬函式:is-a 關係與 Pure Virtual(a)
B-6C++ 繼承存取層級與虛擬函式:is-a 關係與 Pure Virtual(d)
B-7C++ Class Template 與範圍解析運算子(::)(a)

B-8C++ Selection Sort 程式撰寫(Pass-by-Reference)

考點:C++ 陣列傳遞與 Selection Sort 實作:readFunc/selectionSort 函式宣告

#include <iostream>
using namespace std;

void readFunc(int arr[], int size);   // 依題目要求只給宣告

void selectionSort(int arr[], int size) {
    for (int i = 0; i < size - 1; i++) {
        int minIdx = i;
        for (int j = i + 1; j < size; j++)
            if (arr[j] < arr[minIdx]) minIdx = j;
        if (minIdx != i) {
            int temp = arr[i];
            arr[i] = arr[minIdx];
            arr[minIdx] = temp;
        }
    }
}

int main() {
    int size;
    cin >> size;
    int* arr = new int[size];
    readFunc(arr, size);
    selectionSort(arr, size);
    for (int i = 0; i < size; i++) cout << arr[i] << " ";
    cout << endl;
    delete[] arr;
    return 0;
}

成大其他年份