感謝讀者支持,好評回饋再上市!
\滿級分快速攻略/
重點總整理 + 歷次試題解析
☑ 結合運算思維與演算法的基本觀念
☑ 章節架構清晰,涵蓋 APCS 考試重點
☑ 備有相關模擬試題,幫助釐清重點觀念
☑ 詳細解析 APCS 程式設計觀念題與實作題
APCS 為 Advanced Placement Computer Science 的英文縮寫,是指「大學程式設計先修檢測」。目的是提供學生自我評量程式設計能力及評量大學程式設計先修課程學習成效。其檢測成績可作為國內多所資訊相關科系個人申請入學的參考資料。
APCS 考試類型包括:程式設計觀念題及程式設計實作題。在程式設計觀念題是以單選題的方式進行測驗,以運算思維、問題解決與程式設計概念測試為主。測驗題型包括程式運行追蹤、程式填空、程式除錯、程式效能分析及基礎觀念理解等。而程式設計觀念題的考試重點包括:程式設計基本觀念、輸出入指令、資料型態、常數與變數、全域及區域、流程控制、迴圈、函式、遞迴、陣列與矩陣、結構、自定資料型態及檔案,也包括基礎演算法及簡易資料結構,例如:佇列、堆疊、串列、樹狀、排序、搜尋。在程式設計實作題以撰寫完整程式或副程式為主,可自行選擇以 C、C++、Java、Python 撰寫程式。
本書的實作題以 C++ 語言來進行問題分析及程式實作。實作題的解答部份可分為四大架構:解題重點分析、完整程式碼、執行結果及程式碼說明。在「解題重點分析」單元中知道本實作題的程式設計重點、解題技巧、變數功能及演算法,此單元會配合適當的程式碼輔助解說,來降低學習者的障礙。
同時也可以參考附錄的內容來幫助自己熟悉 APCS 的測試環境。此外,為了讓學習者以較簡易的環境撰寫程式,本書所有程式以 Dev C++ 的 IDE 進行程式的編輯、編譯與執行。希望透過本書的課程安排與訓練,可以讓學習者培養出以 C++ 語言應試 APCS 的實戰能力。
【目標讀者】
◆ 欲申請大學資訊相關科系的高中職生
◆ 對程式語言有興趣的學習者
◆ 想客觀檢測自己程式設計能力的人
目錄
CHAPTER|01|APCS 資訊能力檢測簡介
1-1 認識 APCS 資訊能力檢測
1-2 APCS 考試類型
CHAPTER|02|運算思維與程式設計基本觀念
2-1 認識運算思維
2-1-1 拆解
2-1-2 模式識別
2-1-3 歸納與抽象化
2-1-4 演算法
2-2 程式設計簡介
2-2-1 程式設計步驟與注意事項
2-2-2 結構化程式設計
2-2-3 物件導向程式設計
2-3 資料型態
2-3-1 基本資料型態(Primitive Data Type)
2-3-2 結構化資料型態(Structured Data Type)
2-3-3 抽象資料型態(Abstract Data Type:ADT)
2-4 數字系統介紹
2-4-1 數字系統轉換方式
2-5 運算子
2-5-1 指定運算子
2-5-2 算術運算子
2-5-3 關係運算子
2-5-4 邏輯運算子
2-5-5 位元運算子
2-6 資料型態轉換
2-6-1 自動型態轉換
2-6-2 強制型態轉換
2-7 變數與常數
2-8-1 變數
2-8-2 常數
2-8 可視範圍(scope)
2-8-1 全域變數
2-8-2 區域變數(local variable)
2-9 輸入與輸出
2-9-1 printf()函數
2-9-2 scanf()函數
2-9-3 C++ 輸出入功能
2-10 前置處理器與巨集
2-10-1 #include 指令
2-10-2 #define 指令
2-11 本章相關模擬試題
CHAPTER|03|流程控制結構
3-1 選擇結構
3-1-1 if 指令
3-1-2 if else 指令
3-1-3 條件運算子
3-1-4 switch 指令
3-2 迴圈結構
3-2-1 for 迴圈結構
3-2-2 while 迴圈指令
3-2-3 do-while 迴圈指令
3-3 流程控制指令
3-3-1 break 指令
3-3-2 continue 指令
3-4 本章相關模擬試題
CHAPTER|04|陣列、字串、矩陣、結構、檔案與類別
4-1 陣列簡介
4-1-1 一維陣列
4-1-2 二維陣列
4-1-3 多維陣列
4-2 字串
4-2-1 字串陣列
4-3 矩陣
4-3-1 矩陣相加演算法
4-3-2 矩陣相乘演算法
4-3-3 轉置矩陣演算法
4-4 結構(Structure)
4-4-1 結構宣告與存取
4-4-2 巢狀結構
4-4-3 結構陣列
4-5 檔案簡介
4-5-1 fopen() 函數與 fclose() 函數
4-5-2 fputc() 函數與 fgetc() 函數
4-5-3 fputs() 函數與 fgets() 函數
4-6 類別簡介
4-6-1 類別物件的宣告
4-6-2 存取層級關鍵字
4-6-3 建立類別物件
4-7 本章相關模擬試題
CHAPTER|05|函數
5-1 認識函數
5-1-1 函數原型宣告
5-1-2 定義函數主體
5-2 參數傳遞方式
5-2-1 傳值呼叫
5-2-2 傳址呼叫
5-2-3 傳參考呼叫
5-2-4 陣列參數傳遞
5-3 本章相關模擬試題
CHAPTER|06|指標
6-1 認識指標
6-1-1 宣告指標變數
6-1-2 多重指標
6-1-3 指標運算
6-1-4 指標與陣列的應用
6-1-5 指標與字串
6-2 本章相關模擬試題
CHAPTER|07|必考演算法解析與實作
7-1 演算法簡介
7-1-1 演算法表示方式
7-1-2 演算法效能分析
7-2 APCS 必備演算法
7-2-1 分治演算法
7-2-2 遞迴演算法
7-2-3 動態規劃演算法
7-2-4 貪心演算法
7-2-5 河內塔演算法
7-2-6 巴斯卡三角形演算法
7-2-7 回溯演算法 – 老鼠走迷宮
7-3 排序演算法
7-3-1 氣泡排序法
7-3-2 快速排序法
7-4 搜尋演算法
7-4-1 循序搜尋演算法
7-4-2 二分搜尋演算法
7-5 本章相關模擬試題
CHAPTER|08|基礎資料結構導論
8-1 串列結構
8-1-1 建立與走訪單向串列
8-1-2 單向串列插入新節點
8-1-3 單向串列刪除節點
8-2 環狀串列
8-2-1 環狀串列的建立與走訪
8-2-2 環狀串列的插入新節點
8-2-3 環狀串列的刪除節點
8-3 堆疊
8-3-1 陣列實作堆疊
8-4 佇列
8-4-1 陣列實作佇列
8-4-2 環狀佇列
8-4-3 雙向佇列
8-5 樹狀結構
8-5-1 樹的基本觀念
8-5-2 二元樹
8-5-3 陣列實作二元樹
8-5-4 串列實作二元樹
8-5-5 二元樹走訪
8-5-6 二元搜尋樹
8-5-7 堆積樹
8-6 圖形結構
8-6-1 無向圖形
8-6-2 有向圖形
8-7 圖形的走訪
8-7-1 先深後廣法(DFS)
8-7-2 先廣後深法(BFS)
CHAPTER|09|105年3月試題與完整解析
9-1 觀念題
9-2 實作題
第 1 題:成績指標
第 2 題:矩陣轉換
第 3 題:線段覆蓋長度
第 4 題:血緣關係
CHAPTER|10|105年10月試題與完整解析
10-1 觀念題
10-2 實作題
第 1 題:三角形辨別
第 2 題:最大和
第 3 題:定時 K 彈
第 4 題:棒球遊戲
CHAPTER|11|106年3月試題與完整解析
11-1 觀念題
11-2 實作題
第 1 題:秘密差
第 2 題:小群體
第 3 題:數字龍捲風
第 4 題:基地台
CHAPTER|12|106年10月試題-實作題解析
第 1 題:邏輯運算子(Logic Operators)
第 2 題:交錯字串(Alternating Strings)
第 3 題:樹狀圖分析(Tree Analyses)
第 4 題:物品堆疊(Stacking)
APPENDIX A 建置 APCS 檢測練習環境
A-1 下載 APCS 練習環境 iso 檔案
A-2 下載及安裝 VirtualBox 軟體
A-3 建立 APCS 虛擬機器
A-4 建立 Code Blocks C++ 單一程式檔案
A-5 關閉虛擬機器