內容簡介
本書教授編程概念和解決問題的技巧,所使用的方法獨立於具體的編程語言,且不需要讀者有任何編程經驗。內容不僅包括數據類型、變量、輸入、輸齣、控製結構、模塊、函數、數組和文件,還有麵嚮對象的概念、GUI開發和事件驅動編程。配套的教學資源也十分豐富,包括復習中的答案、編程練習中的解決方案、PPT和試題庫。此外,在本書的相應網站上還提供瞭用各種語言實現的書中僞代碼對應的程序。本書適閤作為學習具體語言之前的先導編程邏輯課程,也可以是入門編程課程的部分。
作者簡介
托尼?加迪斯(Tony Gaddis)在北卡羅來納州的海伍德社區學院講授“計算機編程語言”“操作係統”和“物理”課程。他在1994年被評為北卡羅來納社區學院的“年度佳教師”,並在1997年獲得“教學卓越奬”。Tony也提供對公司和機構(包括NASA的肯尼迪航天中心)的培訓。他著有《Starting Out with C++》和《Starting Out with Java》,並與人閤著瞭《Starting Out with Visual Basic 2005》等。
目錄
目 錄
Starting Out with Programming Logic & Design, Third Edition
齣版者的話
譯者序
前言
第1章 計算機與程序設計導論 1
1.1 引言 1
1.2 硬件 2
1.3 計算機是如何存儲數據的 5
1.4 程序是如何執行的 8
1.5 軟件的種類 14
復習 15
第2章 輸入、處理和輸齣 18
2.1 設計一個程序 18
2.2 輸齣、輸入和變量 21
2.3 變量賦值和計算 27
重點聚焦:計算手機的超時話費 29
重點聚焦:計算百分比 31
重點聚焦:計算平均值 32
重點聚焦: 將一個數學公式轉換為編程語句 34
2.4 變量聲明和數據類型 36
2.5 命名常量 40
2.6 手動跟蹤程序 41
2.7 程序文檔 42
重點聚焦: 使用命名常量、風格約定和注釋 43
2.8 設計你的第一個程序 44
復習 47
第3章 模塊 52
3.1 模塊簡介 52
3.2 定義和調用模塊 53
重點聚焦:模塊的定義和調用 57
3.3 局部變量 61
3.4 將參數傳遞給模塊 63
重點聚焦: 將一個實參傳給一個模塊 66
重點聚焦: 通過引用傳遞一個實參 71
3.5 全局變量和全局常量 73
重點聚焦:使用全局常量 74
復習 76
第4章 決策結構和布爾邏輯 82
4.1 決策結構簡介 82
重點聚焦:使用If-Then語句 86
4.2 雙重選擇決策結構 88
重點聚焦:使用If-Then-Else語句 89
4.3 比較字符串 92
4.4 嵌套決策結構 95
重點聚焦:決策結構的多重嵌套 98
4.5 Case結構 101
重點聚焦:使用Case結構 103
4.6 邏輯運算符 105
4.7 布爾變量 110
復習 111
第5章 循環結構 116
5.1 循環結構簡介 116
5.2 條件控製循環: While、Do-While和 Do-Until 117
重點聚焦:設計一個While循環 120
重點聚焦: 設計一個Do-While循環 126
5.3 計數控製循環和For語句 130
重點聚焦: 使用For語句設計一個計數控製循環 135
5.4 計算運行總和 143
5.5 哨兵 145
重點聚焦:如何使用哨兵 146
5.6 嵌套循環 148
復習 151
第6章 函數 155
6.1 函數簡介:生成隨機數 155
重點聚焦:使用隨機數 157
重點聚焦:用隨機數錶示其他值 158
6.2 寫自己的函數 161
重點聚焦:基於函數的模塊化 165
6.3 更多的庫函數 172
復習 181
第7章 輸入驗證 185
7.1 垃圾入,垃圾齣 185
7.2 輸入驗證循環 186
重點聚焦: 設計一個輸入驗證循環 187
7.3 防禦性編程 191
復習 192
第8章 數組 195
8.1 數組基礎知識 195
重點聚焦: 在數學錶達式中使用數組元素 199
8.2 數組的順序搜索 206
8.3 數組的數據處理 210
重點聚焦:處理數組 216
8.4 並行數組 221
重點聚焦:並行數組的應用 221
8.5 二維數組 224
重點聚焦:二維數組的應用 227
8.6 三維或高維數組 231
復習 232
第9章 數組的排序和查找 237
9.1 起泡排序算法 237
重點聚焦:使用起泡排序算法 242
9.2 選擇排序算法 248
9.3 插入排序算法 253
9.4 摺半查找算法 257
重點聚焦:使用摺半查找算法 260
復習 262
第10章 文件 266
10.1 文件的輸入和輸齣 266
10.2 采用循環處理文件 275
重點聚焦:處理文件 278
10.3 使用文件和數組 282
10.4 處理記錄 283
重點聚焦:添加和顯示記錄 286
重點聚焦:搜索記錄 289
重點聚焦:修改記錄 290
重點聚焦:刪除記錄 295
10.5 控製中斷邏輯 297
重點聚焦:使用控製中斷邏輯 298
復習 302
第11章 菜單驅動程序 306
11.1 菜單驅動程序簡介 306
11.2 模塊化菜單驅動程序 314
11.3 使用循環重復菜單 318
重點聚焦:設計菜單驅動程序 320
11.4 多級菜單 332
復習 336
第12章 文本處理 340
12.1 引言 340
12.2 逐字符文本處理 341
重點聚焦:密碼驗證 343
重點聚焦: 電話號碼格式化和去格式化 347
復習 351
第13章 遞歸 356
13.1 遞歸介紹 356
13.2 遞歸求解 358
13.3 遞歸算法舉例 361
復習 369
第14章 麵嚮對象設計 372
14.1 過程化編程及麵嚮對象編程 372
14.2 類 374
14.3 使用統一建模語言來設計類 383
14.4 尋找一個問題中的類及其功能 384
重點聚焦:尋找一個問題中的類 384
重點聚焦:定義類的功能 387
14.5 類的繼承 392
14.6 類的多態性 397
復習 401
第15章 GUI應用程序和事件驅動編程 405
15.1 圖形交互界麵 405
15.2 設計GUI程序的用戶接口 407
重點聚焦:設計一個窗口 410
15.3 編寫事件處理程序 412
重點聚焦: 設計一個事件處理程序 414
復習 415
附錄 ASCII/Unicode字符 418
前言/序言
前 言Starting Out with Programming Logic & Design, Third Edition歡迎學習本書第3版。本書教授編程概念以及解決問題的技巧,所使用的方法獨立於具體的編程語言,不需要讀者擁有任何編程經驗。使用易於理解的僞代碼、流程圖和其他工具來學習程序邏輯的設計,規避瞭語法的睏擾。
本書的基本主題不僅包括數據類型、變量、輸入、輸齣、控製結構、模塊、函數、數組和文件,還有麵嚮對象的概念、GUI開發和事件驅動編程。本書文字清晰易懂,讓學生感到友好和親切。
本書各章都提供瞭大量的程序設計示例。短的示例突齣編程主題,長的示例集中於問題求解。每章至少包括一個“重點聚焦”小節,對一個具體的問題逐步分析和求解。
本書是學習編程邏輯的理想選擇,在用具體的語言學習編程基礎之前,本書可以作為先導。
第3版的變化本書的教學方法、內容組織和寫作風格與上一版保持一緻,但也做瞭很多改進,概括如下:
詳細指導學生設計他們的第一個程序第2章增加瞭2.8節。這一節將展示從分析一個問題到確定它的需求的全過程。在這個過程中將用一個示例使學生瞭解如何確定一個程序的輸入、處理和輸齣,然後編寫僞代碼和繪製流程圖。
在第2章的“重點聚焦”小節,還添加瞭一個新內容,以計算手機超時費用為例,演示瞭從確定手動計算的步驟到將這些步驟轉換為計算機算法的過程。
新調試練習大部分章節都添加瞭一組新的調試練習。讓學生檢查一組僞代碼算法並識彆其中的邏輯錯誤。
流程圖和僞代碼之間的一緻性更高在整本書中,許多流程圖已經修改,使它們與僞代碼之間的聯係更緊密。
嵌套重復結構擴展在5.6節擴展瞭一個示例。
附加重復結構的可視化說明在第5章的Do-While和For循環部分添加瞭新的可視化說明。
文件規範文檔和打印間隔圖文件規範文檔和打印間隔圖在第10章討論。
新的編程語言伴侶增加瞭新的語言伴侶Python 3和C++。本書的語言伴侶都可以在網站www.pearson-h-i-ghered.com/gaddis上找到。
各章簡介第1章,首先簡要介紹計算機的工作原理、數據的存儲和操作方式,以及為什麼我們用高級語言編寫程序。
第2章,介紹程序開發周期、數據類型、變量和順序結構。學習使用僞代碼和流程圖來設計簡單程序,包括讀取輸入、執行數學運算和生成屏幕輸齣。
第3章,演示模塊化程序和自頂嚮下設計方法的好處。學習定義和調用模塊、給模塊傳遞實參、使用局部變量。引入層次結構圖作為設計工具。
第4章,介紹關係運算符和布爾錶達式,以及用決策結構進行程序流程控製的方法。還介紹If-Then、If-Then-Else和If-Then-Else If語句、嵌套決策結構、邏輯運算符、Case結構。
第5章,學習用循環創建循環結構的方法。包括While、Do-While、Do-Until和For循環,還有計數器、纍加器、運行總和和哨兵。
第6章,首先討論通用庫函數,例如生成隨機數的函數。然後,在學習如何調用庫函數以及如何使用函數返迴值之後,學習如何定義和調用自定義函數。
第7章,討論用戶輸入驗證的重要性。學習編寫用於錯誤陷阱的輸入驗證循環。討論的內容還有:防禦性編程、對明顯和不明顯錯誤進行預測的重要性。
第8章,學習一維數組和二維數組的創建和使用。包含許多數組處理的示例,包括對一維數組元素求和、計算平均值、求數組最大值和最小值,以及對二維數組的行、列和全部元素求和。還演示瞭使用並行數組進行編程的技術。
第9章,學習數組排序和數組元素查找的基礎算法。包括的內容有:起泡排序、選擇排序、插入排序和摺半查找算法。
第10章,介紹順序文件的輸入和輸齣。學習讀取和寫入大集閤數據,將數據另存為字段或記錄,設計可用於處理文件和數組的程序。該章最後討論瞭中斷處理控製。
第11章,講述如何設計程序,該程序顯示菜單,並根據用戶的菜單選項來執行。該章還討論瞭模塊化菜單驅動程序的重要性。
第12章,詳細討論文本處理。包括對字符串逐個字符處理的算法,用於字符和文本處理的若乾常用庫函數。
第13章,討論遞歸及其用途。提供遞歸調用過程的可視化跟蹤,討論遞歸應用程序。給齣許多遞歸算法,例如計算階乘、求最大公約數(GCD)、數組求和、摺半查找,還有經典的漢諾塔算法。
第14章,將過程化和麵嚮對象的編程進行瞭比較。包含類和對象的基本概念,討論瞭域、方法、訪問規範、構造函數、訪問器和變異器。學習如何使用UML來對類建模、如何在特定問題中尋找類。
第15章,討論GUI應用程序的基本內容,以及如何使用可視化設計工具(如Visual Studio或NetBeans)構建圖形用戶界麵。學生要學習事件是如何在GUI應用程序中工作的,以及如何編寫事件處理程序。
附錄,列齣瞭ASCII字符集,與前127個Unicode字符編碼相同。
內容組織本書以逐步推進的方式講授編程邏輯和設計。每一章都包含一組主題,學生隻要按部就班地學習,就可以掌握本書的知識。雖然這些章節按照現有的順序可以很輕鬆地講授,但還是有一些靈活性。圖P-1顯示瞭各章之間的依賴關係。 每個框代錶一章或幾章。箭頭指嚮(即
程序設計基礎(原書第3版) 下載 mobi epub pdf txt 電子書 格式