-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

工程問題C++語言求解(原書第3版)

( 簡體 字)
作者:(美)Delores M. Etter; Jeanine A. Ingber 類別:1. -> 程式設計 -> C++ -> C++
譯者:
出版社:機械工業出版社工程問題C++語言求解(原書第3版) 3dWoo書號: 39209
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:8/1/2014
頁數:442
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787111459071
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

言源自于C語言,它通過使用類和程序員自定義類型來支持面向對象編程的特性。C語言中那些適用于系統級操作和嵌入式編程的特性在C++中也得到了支持,這使C++語言成為最強大和最通用的編程語言之一,同時對于科學家和工程師而言,它也是計算導論課程的不錯選擇。本書主要介紹如何使用C++來求解工程問題,同時也介紹了C++語言面向對象的特性。我們的目標如下:

設計一種用于求解工程問題的通用方法論。

在著眼于編程和解決問題的基本層面的同時,闡述C++的面向對象特性。

通過大量的工程示例和應用,說明使用C++解決問題的過程。

為了使內容通俗易懂,整合了對于數據類型、函數、在C++標準模板庫中定義的容器類的介紹。

為了達到這些目標,第1章中介紹了本書其他章節求解工程問題時使用的五步處理過程。第2章介紹了C++支持的內建數據類型,同時介紹了類、自定義對象和支持標準輸入/輸出的成員函數。第3∼6章介紹了C++解決工程問題的基本能力,包括控制結構、數據文件、函數和自定義數據類型。第7和第8章介紹了數組、向量和字符串類。第9章介紹了指針、動態內存分配和鏈式數據結構的用法。第10章對于一些高級主題進行了更深入的介紹,包括函數模板、類模板、遞歸成員函數、繼承和虛函數。貫穿所有這些章節,我們使用了大量來自不同的工程、自然科學和計算機科學的示例。這些示例的解決方案都是使用五步處理過程和標準C++開發的。

第3版的特征

介紹了兩種集成開發環境(IDE):

NetBeans

MS Visual Studio

包含了使用全球定位系統(GPS)數據和海嘯預警系統數據的新工程應用程序。

包括了按位操作符的介紹。

擴展了控制結構的覆蓋面。

為了靈活性考慮,在本書可選章節提早介紹了類和自定義數據類型的開發。

整合了貫穿全書的類的覆蓋范圍,提供了標準解決方案和面向對象解決方案的比較。

包括了附加的語句塊、程序跟蹤和內存快照以及流程圖。

學生資源和教師資源中心可以在線訪問www.pearsonhighered.com/etter。

先決條件

本書不假定讀者之前具備計算機使用經驗。對于數學的要求是大學代數和三角知識。當然,如果學生曾用過其他計算機語言或者軟件工具,則可以更快地閱讀前面的內容。

課程結構

本書中的內容可以作為工程和科學計算專業一學期課程的基礎部分。這些章節包含數學計算、字符數據、控制結構、函數、數組、類和指針的基本主題。具有其他計算機語言背景的學生應該能夠在半學期內掌握這些內容。僅介紹C++的短學時課程只需使用本書的必修章節(可選章節的內容使用星號標識)。下面是使用本書的三種方式以及相關推薦章節:

介紹C++ 許多基礎類課程除了介紹程序語言外還包括若干計算機工具。對于這類課程,我們推薦使用第1∼8章中的非可選章節。這些內容介紹了C++的基本能力,通過學習學生將能夠使用數學計算、字符數據、控制結構、自定義數據類型、函數和數組寫出內容充實的程序。

使用C++求解問題 在半學期的課程中專門教授學生掌握C++語言,我們推薦覆蓋第1∼10章中所有的非可選章節。這些內容覆蓋了C++語言中所有的基礎概念,包括數學計算、字符數據、控制結構、函數、數組、類、模板和指針。

使用C++和數值方法求解問題 高年級學生或者已經熟悉了其他高級語言的學生可以較快地學習書中的內容。此外,他們可以將數值方法的相關內容應用到其他課程中。因此,我們推薦這些學生學習第1∼10章中的所有章節,包括可選內容。

本書章節的設計在主題的順序上為教師提供了較大的靈活性。自定義類型和類的相關內容自第2章開始貫穿本書。但是,有關類的內容都作為一個可選小節放在每章的結尾部分。下面的依賴關系圖對此進行了說明。



解決問題的方法論

需要強調的是,工程和科學問題求解方法在本書中是一個完整的過程。第1章中介紹了使用計算機解決工程問題的五步處理過程:

1)清楚地描述問題。

2)描述輸入和輸出信息,確定需要的數據類型。

3)手動運行一個簡單的例子。

4)設計算法,并將它轉換成計算機程序。

5)使用大量數據測試解決方案。

為了不斷強化求解問題的能力,這五步中的每一步在每次解決完一個完整的工程問題時都要清楚地標識出來。此外,使用分解提綱、偽代碼和流程圖完成自頂向下的設計并逐步細化。

工程和科學應用

本書的重點放在將真實世界的工程、科學示例和問題相結合上。這個重點以各類工程挑戰為中心,這些挑戰包括:

天氣、氣候和全球變化的預測

計算機語音識別

圖像處理

人工智能

提高油氣采集率

仿真

每一章都以有關某個工程挑戰的討論開始,其中給出了工程師可能感興趣的地方。每章的后面,我們不僅解決了開頭所引出的問題,還將解決方案應用于其他的問題中。

標準C++

書中所有的語句和程序都是使用符合國際標準組織和美國國家標準學會(ISO/ANSI)C++標準委員會發布的C++標準編寫的。ISO和ANSI共同發布了C++編程語言的第一個國際標準。通過使用標準C++,學生可以學習編寫可移植的代碼,這些代碼可以從一種計算機平臺移植到另一種計算機平臺上。本書中討論了許多C++編程語言的標準功能,同時在附錄A中還討論了C++標準庫中的附加組件。

軟件工程的觀點

工程師和科學家都希望設計并實現對用戶友好且可重用的計算機解決方案,因此了解軟件工程技術是很關鍵的。在程序的設計中需要強調可讀性和文檔。有關軟件工程的主題在本書各處都有討論,其中包括軟件生命周期、可移植性、維護、模塊化、遞歸、抽象、可重用性、結構化編程、確認和驗證。

類型豐富的練習題

學習任何新的技能都需要進行大量不同難度層次的練習。本書中設計了多種類型的練習題,用于訓練學生解決問題的能力。第一種類型是練習,這是答案較短的問題,與該節所討論的內容相關。大部分節后面都帶有一組練習,這樣學生可以確定他們是否做好了繼續學習下一節的準備。本書末尾給出了完整的練習答案。

本書設計了“修改”類型的問題用來進行動手練習,一般與示例程序和“解決應用問題”節中的程序有關。在這些節中,我們使用五步處理過程開發一個完整的C++程序。“修改”類型的問題要求學生使用不同的數據集來運行程序,以測試他們對程序運行和工程變量之間關系的理解。這些練習題要求學生對程序進行簡單的修改,然后運行程序對他們的修改進行測試。

每章都以習題結束,其中包括判斷題、語法題、多選題等,還包括一組編程題。大部分習題是與本章所介紹內容相關的、答案較短的問題,這些問題幫助學生確定他們是否很好地理解了本章所介紹的C++特性。編程題是與各種工程應用相關的新問題,難度不同,可能非常直接地看出解決辦法(易),也可能需要較長的工程作業(難)。每個編程題都要求學生開發一個完整的C++程序或函數。

可選的數值方法

數值方法在解決工程問題時得到了廣泛的應用,本書在可選章節中對數值方法進行了討論,包括插值、線性建模(回歸)、求根、數值積分和解聯立方程。書中還介紹了矩陣的概念,并使用大量的例子進行了說明。所有這些主題都假定讀者只有代數和三角知識背景。

附錄

為了進一步方便讀者參考,附錄中包含了許多重要的主題。附錄A包含了對于C++標準庫的討論。附錄B給出了ASCII字符編碼。附錄C中介紹了MATLAB。附錄D給出了練習答案。附錄E包含了本書中用到的參考文獻。

其他資源

所有教師和學生資源都可以訪問網站www.pearsonhighered.com/etter得到。在這里,學生可以得到本書的所有源代碼,教師還可以在教師資源中心注冊。教師資源中心包含本書使用的全部示例程序、所有編程問題的完整解決方案、測試題庫,以及應用問題中用到的數據文件和完整的課程講座幻燈片。

致謝

感謝杰出的評審團隊——科羅拉多礦業大學的Roman Tankelevich,賓州州立大學的John Sustersic,波特蘭大學的Tanya L. Crenshaw,紐約城市學院的Daniel McCracken,弗吉尼亞理工學院的Deborah L. Pollio,科羅拉多礦業大學的Keith Hellman,波特蘭大學的Tammy VanDeGrift,賓州州立大學Behrend校區的Melanie Ford,加州理工大學的Amar Raheja,他們為本書提出了詳盡和有建設性的建議,感謝他們頗具價值的觀點。還要對優秀的編輯人員表示感謝,他們是Tracy Dunkelberger、Stephanie Sellinger和Emma Snider,感謝他們把每件事都處理得井井有條。最后,還要感謝杰出的產品團隊,包括Eric Arima、Kayla Smith-Tarbox和Lily Ferguson,感謝他們對每個細節的洞察與關注。
內容簡介:

是以工程問題求解和C++編程語言知識結構相互融匯講解的經典之作,書中利用已經過作者證明的求解工程問題的五步法,展現了大量來自工程、科學和計算機科學領域的不同示例,包括物體的速率、海水冰點、氣象氣球、臭氧測量、儀器可靠性、語音信號分析、颶風等級分析、海嘯預警、地形導航以及電路分析等。

本書特點
真實世界的工程、科學示例和應用問題。
求解工程問題的五步法:
1)清楚地描述問題。
2)描述輸入和輸出信息,確定需要的數據類型。
3)手動運行一個簡單的例子。
4)設計算法,并將它轉換成計算機程序。
5)使用大量數據測試解決方案。
類型豐富的練習題:節后的練習,與示例程序和“解決應用問題”節中的程序有關的“修改”問題,每章后的習題(包括判斷題、語法題、多選題、編程題等)。
目錄:

出版者的話

譯者序

前言

第1章 計算與工程問題求解導論  1

1.1 歷史回顧  1

1.2 現代工程成就  3

1.3 計算機系統  6

1.3.1 計算機硬件  6

1.3.2 計算機軟件  6

1.4 數據表示與存儲  9

1.4.1 數制  10

1.4.2 數據類型與存儲  14

1.5 解決工程問題的方法論  16

本章小結  18

習題  19

第2章 簡單的C++程序  22

工程挑戰:汽車性能  22

2.1 程序結構  22

2.2 常量和變量  25

2.2.1 科學記數法  27

2.2.2 數值數據類型  27

2.2.3 布爾數據類型  28

2.2.4 字符數據類型  29

2.2.5 字符串數據  30

2.2.6 符號常量  31

2.3 C++類  31

2.3.1 類聲明  32

2.3.2 類實現  32

2.4 C++操作符  34

2.4.1 賦值操作符  34

2.4.2 算術操作符  36

2.4.3 操作符的優先級  38

2.4.4 上溢和下溢  40

2.4.5 自增和自減操作符  40

2.4.6 縮寫賦值操作符  41

2.5 標準輸入和輸出  42

2.5.1 cout對象  42

2.5.2 流對象  43

2.5.3 操縱符  44

2.5.4 cin對象  46

2.6 使用IDE構建C++解決方案:NetBeans  48

2.7 包含在C++標準庫中的基本函數  55

2.7.1 基本的數學函數  55

2.7.2 三角函數  56

*2.7.3 雙曲函數  57

2.7.4 字符函數  58

2.8 解決應用問題:速率計算  59

2.9 系統限制  61

本章小結  62

習題  65

第3章 控制結構:選擇  68

工程挑戰:全球變化  68

3.1 算法設計  68

3.2 結構化編程  69

3.2.1 偽代碼  70

3.2.2 可選方案的評估  71

3.3 條件表達式  71

3.3.1 關系操作符  71

3.3.2 邏輯操作符  72

3.3.3 優先級和結合性  74

3.4 選擇語句:if語句  74

3.4.1 簡單的if語句  75

3.4.2 if/else語句  76

3.5 數值方法:線性插值  79

3.6 解決應用問題:海水的冰點  81

3.7 選擇語句:switch語句  85

3.8 使用IDE構建C++解決方案:NetBeans  87

3.9 為自定義數據類型定義操作符  93

本章小結  97

習題  98

第4章 控制結構:循環  101

工程挑戰:數據收集  101

4.1 算法設計  101

4.2 循環結構  102

4.2.1 while循環  102

4.2.2 do/while循環  105

4.2.3 for循環  107

4.3 解決應用問題:GPS  110

4.4 break和continue語句  114

4.5 結構化輸入循環  114

4.5.1 計數器控制循環  114

4.5.2 標志控制循環  116

4.5.3 數據終止循環  117

4.6 解決應用問題:氣象氣球  118

4.7 使用IDE構建C++解決方案:Microsoft Visual C++  122

本章小結  128

習題  129

第5章 使用數據文件  132

工程挑戰:天氣預報  132

5.1 定義文件流  132

5.1.1 流的類層次  132

5.1.2 ifstream類  134

5.1.3 ofstream類  135

5.2 讀取數據文件  137

5.2.1 指定記錄的數目  137

5.2.2 標志信號  139

5.2.3 文件結束  141

5.3 生成數據文件  143

5.4 解決應用問題:數據過濾器——修改HTML文件  145

5.5 錯誤檢查  148

*5.6 數值方法:線性建模  154

*5.7 解決應用問題:臭氧測量  156

本章小結  160

習題  162

第6章 使用函數進行模塊化編程  166

工程挑戰:仿真  166

6.1 模塊化  166

6.2 自定義函數  168

6.2.1 函數定義  171

6.2.2 函數原型  175

6.3 參數傳遞  177

6.3.1 值傳遞  177

6.3.2 引用傳遞  179

6.3.3 存儲類型和作用域  183

6.4 解決應用問題:計算重心  185

6.5 隨機數  188

6.5.1 整數序列  188

6.5.2 浮點序列  192

6.6 解決應用問題:儀器可靠性  192

6.7 定義類方法  198

6.7.1 公共接口  198

6.7.2 訪問方法  199

6.7.3 修改方法  200

6.8 解決應用問題:復合材料設計  204

*6.9 數值方法:多項式的根  208

6.9.1 多項式的根  209

6.9.2 增量搜索方法  211

*6.10 解決應用問題:系統穩定性  211

*6.11 數值方法:積分  219

本章小結  222

習題  224

第7章 一維數組  229

工程挑戰:海嘯預警系統  229

7.1 數組  229

7.1.1 定義和初始化  230

7.1.2 偽代碼  231

7.1.3 計算與輸出  235

7.1.4 函數參數  238

7.2 解決應用問題:颶風等級  241

7.3 統計表征數  245

7.3.1 簡單分析  246

7.3.2 方差和標準差  247

7.3.3 自定義頭文件  249

7.4 解決應用問題:語音信號分析  250

7.5 排序和搜索算法  254

7.5.1 選擇排序  254

7.5.2 搜索算法  256

7.5.3 無序列表  256

7.5.4 有序列表  257

7.6 解決應用問題:海嘯預警系統  258

7.7 字符串  263

7.7.1 C風格字符串定義和I/O  263

7.7.2 字符串函數  265

7.8 string類  266

7.9 vector類  267

7.10 解決應用問題:概率計算  270

本章小結  280

習題  281

第8章 二維數組  285

工程挑戰:地形導航  285

8.1 二維數組  285

8.1.1 聲明和初始化  286

8.1.2 計算與輸出  290

8.1.3 函數參數  292

8.2 解決應用問題:地形導航  297

8.3 二維數組和vector類  300

8.4 矩陣  303

8.4.1 行列式  304

8.4.2 轉置  304

8.4.3 矩陣加法和減法  305

8.4.4 矩陣乘法  305

8.5 數值方法:解聯立方程  307

8.5.1 圖形分析  307

8.5.2 高斯消元法  309

8.6 解決應用問題:電路分析  311

8.7 高維數組  316

本章小結  317

習題  318

第9章 指針  322

工程挑戰:天氣模式  322

9.1 地址與指針  322

9.1.1 地址操作符  323

9.1.2 指針的分派  324

9.1.3 指針的算術  326

9.2 指向數組元素的指針  329

9.2.1 一維數組  329

9.2.2 字符串  331

9.2.3 指針作為函數參數  332

9.3 解決應用問題:厄爾尼諾南方濤動數據  336

9.4 動態內存分配  338

9.4.1 new操作符  338

9.4.2 動態分配數組  339

9.4.3 delete操作符  339

9.5 解決應用問題:地震監測  340

9.6 使用new和delete的常見錯誤  345

9.7 鏈式數據結構  346

9.7.1 鏈表  346

9.7.2 棧  348

9.7.3 隊列  348

9.8 C++標準模板庫  349

9.8.1 list類  349

9.8.2 stack類  350

9.8.3 queue類  352

9.9 解決應用問題:文本文件的索引  353

本章小結  357

習題  358

第10章 高級主題  361

工程挑戰:人工智能  361

10.1 泛型編程  361

10.2 數據抽象  365

10.2.1 操作符重載  365

10.2.2 像素類  365

10.2.3 算術操作符  367

10.2.4 友元函數  371

10.2.5 驗證對象  374

10.2.6 按位操作符  378

10.3 解決應用問題:彩色圖像處理  380

10.4 遞歸  385

10.4.1 階乘函數  385

10.4.2 斐波納契序列  387

10.4.3 BinaryTree類  388

10.5 類模板  396

10.6 繼承  401

10.6.1 Rectangle類  401

10.6.2 Square類  404

10.6.3 Cube類  406

10.7 虛方法  409

10.8 解決應用問題:可重復的囚徒困境  411

本章小結  418

習題  419

附錄A C++標準庫  422

附錄B ASCII字符編碼  430

附錄C 使用MATLAB從ASCII文件中繪制數據點  434

附錄D 練習答案  437

附錄E 參考文獻  445
序: