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