程式設計基礎/前言
致讀者
[edit | edit source]歡迎來到“程式設計基礎 - 模組化結構方法,第二版”!
本書的原始內容由 Kenneth Leroy Busbee 建立,專門為他的 C++ 課程編寫。本第二版的目標是使其與程式語言無關,以便它可以作為使用各種程式語言(包括 C++、C#、Java、JavaScript、Python 和 Swift)的學生的入門程式設計教科書。其他語言將根據要求考慮。
程式設計概念以通用方式介紹,邏輯以虛擬碼和流程圖的形式展示,然後是針對不同程式語言的示例。重點放在支援重用、維護和自文件程式碼的模組化結構方法上。
當你開始回顧本版時,請牢記讀者。如果缺少某些內容,請考慮該概念是否適用於一般程式設計或僅適用於某些程式語言,以及它是否是基礎的第一學期程式設計概念,還是更適合在更高階的教科書中解決。
鼓勵你在書末尾使用“評論”頁面,隨時提出關於內容或方法的建議或問題。所有建議都將被審查和考慮。
Dave Braunschweig
關於本書
[edit | edit source]“程式設計基礎 - 模組化結構方法,第二版”是“程式設計基礎 - 使用 C++ 的模組化結構方法”的改編版本,由休斯頓社群學院的教師 Kenneth Leroy Busbee 編寫。第一版中使用的材料最初由 Busbee 及其他人開發,作為獨立模組,用於在 Connexions 環境中釋出。原始來源位於 https://cnx.org/contents/MDgA8wfz@22.2:YzfkjC2r@17/ 。
本第二版由 Dave Braunschweig 改編,在原始願景的基礎上擴充套件,透過虛擬碼和流程圖支援多種程式語言,幷包括 C++、C#、Java、JavaScript、Python 和 Swift 的示例程式碼。
程式設計基礎通常分為三門大學課程:模組化/結構化、面向物件和資料結構。本教科書/集合涵蓋了這三門課程中的第一門。
學習模組
[edit | edit source]本教科書的學習模組是作為獨立模組編寫的。使用模組集合作為教科書的學生通常會透過按作者呈現的順序順序閱讀模組來檢視其內容。
但是,這些模組的許多讀者可能是透過網際網路搜尋找到它們的。教科書設計允許模組作者建立指向其他模組和網際網路位置的網路連結,並指定任何必要的先決條件。
概念性方法
[edit | edit source]本教科書的學習模組在很大程度上是在不考慮特定程式語言的情況下編寫的。概念以通用方式呈現,程式邏輯首先以虛擬碼和流程圖的形式展示。語言特定的示例緊隨其後是一般概述。
重用和定製
[edit | edit source]Creative Commons (CC) 署名-相同方式共享許可證適用於本教科書中的所有模組。根據此許可證,任何模組都可以用於任何目的,只要保留對原始作者的適當歸屬,並且你以相同的許可證分發你的貢獻。
PDF 轉換問題
[edit | edit source]存在幾個已知的 PDF 列印問題。已知問題的描述是
- 當它轉換“示例”時,PDF 會正確顯示示例的第一行,但會縮排示例的剩餘行。此問題發生在書籍列印(因為它列印 PDF)和下載模組或教科書/集合作為 PDF 時。
- 在 C++ 中,有三個運算子無法正確轉換為 PDF 格式。
| 遞減 | — | 這是兩個減號 |
| 插入 | << | 這是兩個小於號 |
| 提取 | >> | 這是兩個大於號 |