|
![]() |
|||
|
||||
OverviewEngineering Problem Solving with C++, 3e, is ideal for one/two semester courses in Engineering and Computer Science at the freshman/sophomore level. This text is a clear, concise introduction to problem solving and the C++ programming language. The authors’ proven five-step problem solving methodology is presented and then incorporated in every chapter of the text. Outstanding engineering and scientific applications are used throughout; all applications are centered around the theme of engineering challenges in the 21st century. Full Product DetailsAuthor: Delores M. Etter , Jeanine A. IngberPublisher: Pearson Education (US) Imprint: Pearson Edition: 3rd edition Dimensions: Width: 18.70cm , Height: 2.50cm , Length: 23.20cm Weight: 0.820kg ISBN: 9780132492652ISBN 10: 0132492652 Pages: 624 Publication Date: 30 January 2012 Audience: College/higher education , Tertiary & Higher Education Replaced By: 9780273764052 Format: Paperback Publisher's Status: Out of Print Availability: Awaiting stock ![]() Table of ContentsPreface xiii 1 Introduction to Computing and Engineering Problem Solving 2 1.1 Historical Perspective 3 1.2 Recent Engineering Achievements 7 Changing Engineering Environment 9 1.3 Computing Systems 11 Computer Hardware 11 Computer Software 12 1.4 Data Representation and Storage 16 Number Systems 17 Data Types and Storage 23 1.5 An Engineering Problem-Solving Methodology 26 Summary 29 2 Simple C++ Programs 34 ENGINEERING CHALLENGE: Vehicle Performance 2.1 Program Structure 35 2.2 Constants and Variables 39 Scientific Notation 41 Numeric Data Types 42 Boolean Data Type 44 Character Data Type 44 String Data 46 Symbolic Constants 47 2.3 C++ Classes 48 Class Declaration 48 Class Implementation 49 2.4 C++ Operators 52 Assignment Operator 52 Arithmetic Operators 54 Precedence of Operators 56 Overflow and Underflow 58 Increment and Decrement Operators 59 Abbreviated Assignment Operators 60 2.5 Standard Input and Output 61 The cout Object 61 Stream Objects 62 Manipulators 64 The cin Object 67 2.6 Building C++ Solutions with IDEs: NetBeans 69 NetBeans 69 2.7 Basic Functions Included in the C++ Standard Library 76 Elementary Math Functions 77 Trigonometric Functions 78 Hyperbolic Functions* 80 Character Functions 81 2.8 Problem Solving Applied: Velocity Computation 81 2.9 System Limitations 85 Summary 86 3 Control Structures: Selection 94 ENGINEERING CHALLENGE: Global Change 3.1 Algorithm Development 95 Top-Down Design 95 3.2 Structured Programming 97 Pseudocode 97 Evaluation of Alternative Solutions 99 3.3 Conditional Expressions 99 Relational Operators 99 Logical Operators 100 Precedence and Associativity 103 3.4 Selection Statements: if Statement 104 Simple if Statements 104 if/else Statement 107 3.5 Numerical Technique: Linear Interpolation 111 3.6 Problem Solving Applied: Freezing Temperature of Seawater 115 3.7 Selection Statements: switch Statement 119 3.8 Building C++ Solutions with IDEs: NetBeans 122 NetBeans 122 3.9 Defining Operators for Programmer-Defined Data Types 128 Summary 133 4 Control Structures: Repetition 138 ENGINEERING CHALLENGE: Data Collection 4.1 Algorithm Development 139 Pseudocode and Flowchart Description 140 4.2 Repetition Structures 140 while Loop 141 do/while Loop 145 for Loop 148 4.3 Problem Solving Applied: GPS 153 4.4 break and continue Statements 157 4.5 Structuring Input Loops 158 Counter-Controlled Loops 158 Sentinel-Controlled Loop 160 End-Of-Data Loop 161 4.6 Problem Solving Applied: Weather Balloons 163 4.7 Building C++ Solutions with IDEs: Microsoft Visual C++ 168 Microsoft Visual C++ 170 Summary 174 5 Working with Data Files 180 ENGINEERING CHALLENGE: Weather Prediction 5.1 Defining File Streams 181 Stream Class Hierarchy 181 ifstream Class 184 ofstream Class 185 5.2 Reading Data Files 187 Specified Number of Records 188 Trailer or Sentinel Signals 190 End-of-File 192 5.3 Generating a Data File 195 5.4 Problem Solving Applied: Data Filters—Modifying an HTML File 198 5.5 Error Checking 202 The Stream State 203 5.6 Numerical Technique: Linear Modeling* 208 5.7 Problem Solving Applied: Ozone Measurements* 211 Summary 217 6 Modular Programming with Functions 224 ENGINEERING CHALLENGE: Simulation 6.1 Modularity 225 6.2 Programmer-Defined Functions 228 Function Definition 231 Solution 1 234 Solution 2 235 Function Prototype 238 6.3 Parameter Passing 239 Pass by Value 240 Pass by Reference 242 Storage Class and Scope 248 6.4 Problem Solving Applied: Calculating a Center of Gravity 250 6.5 Random Numbers 254 Integer Sequences 254 Floating-Point Sequences 258 6.6 Problem Solving Applied: Instrumentation Reliability 259 6.7 Defining Class Methods 266 Public Interface 267 Accessor Methods 268 Mutator Methods 269 6.8 Problem Solving Applied: Design of Composite Materials 274 Solution 1 276 Solution 2 277 6.9 Numerical Technique: Roots of Polynomials* 280 Polynomial Roots 280 Incremental-Search Technique 282 6.10 Problem Solving Applied: System Stability* 284 Newton—Raphson Method* 290 6.11 Numerical Technique: Integration* 293 Integration Using the Trapezoidal Rule 293 Summary 297 7 One-Dimensional Arrays 308 ENGINEERING CHALLENGE: Tsunami Warning Systems 7.1 Arrays 309 Definition and Initialization 310 Pseudocode 312 Computation and Output 315 Function Arguments 319 7.2 Problem Solving Applied: Hurricane Categories 324 7.3 Statistical Measurements 330 Simple Analysis 330 Variance and Standard Deviation 332 Custom Header Files 335 7.4 Problem Solving Applied: Speech Signal Analysis 335 7.5 Sorting and Searching Algorithms 341 Selection Sort 342 Search Algorithms 343 Unordered Lists 344 Ordered Lists 344 7.6 Problem Solving Applied: Tsunami Warning Systems 346 7.7 Character Strings 352 C Style String Definition and I/O 352 String Functions 354 7.8 The string Class 355 7.9 The vector class 357 Parameter Passing 360 7.10 Problem Solving Applied: Calculating Probabilities 362 Summary 375 8 Two-Dimensional Arrays 382 ENGINEERING CHALLENGE: Terrain Navigation 8.1 Two-Dimensional Arrays 383 Declaration and Initialization 384 Computations and Output 389 Function Arguments 392 8.2 Problem Solving Applied: Terrain Navigation 398 8.3 Two-Dimensional Arrays and the vector class 403 Function Arguments 406 8.4 Matrices 407 Determinant 407 Transpose 408 Matrix Addition and Subtraction 409 Matrix Multiplication 410 8.5 Numerical Technique: Solution to Simultaneous Equations 412 Graphical Interpretation 412 Gauss Elimination 416 8.6 Problem Solving Applied: Electrical Circuit Analysis 418 8.7 Higher Dimensional Arrays 424 Summary 426 9 An Introduction to Pointers 434 ENGINEERING CHALLENGE: Weather Patterns 9.1 Addresses and Pointers 435 Address Operator 436 Pointer Assignment 438 Pointer Arithmetic 441 9.2 Pointers to Array Elements 444 One-Dimensional Arrays 445 Character Strings 447 Pointers as Function Arguments 448 9.3 Problem Solving Applied: El Ni˜no-Southern Oscillation Data 453 9.4 Dynamic Memory Allocation 456 The new Operator 456 Dynamically Allocated Arrays 458 The delete Operator 458 9.5 Problem Solving Applied: Seismic Event Detection 460 9.6 Common Errors Using new and delete 466 9.7 Linked Data Structures 468 Linked Lists 468 Stacks 470 Queue 470 9.8 The C++ Standard Template Library 472 The list class 472 The stack class 474 The queue class 475 9.9 Problem Solving Applied: Concordance of a Text File 477 Summary 482 10 Advanced Topics 488 ENGINEERING CHALLENGE: Artificial Intelligence 10.1 Generic Programming 489 Function Templates 490 10.2 Data Abstraction 494 Overloading Operators 494 The Pixel class 495 Arithmetic Operators 496 friend Functions 501 Validating Objects 506 Bitwise Operators 510 10.3 Problem Solving Applied: Color Image Processing 513 10.4 Recursion 519 Factorial Function 520 Fibonacci Sequence 522 The BinaryTree class 524 10.5 Class Templates 536 10.6 Inheritance 542 The Rectangle class 542 The Square class 545 The Cube class 548 10.7 virtual Methods 551 10.8 Problem Solving Applied: Iterated Prisoner’s Dilemma 554 Summary 563 A C++ Standard Library 568 B ASCII Character Codes 576 C Using MATLAB to Plot Data from ASCII Files 580 C++ Program to Generate a Data File 580 ASCII Data File Generated by the C++ Program 581 Generating a Plot with MATLAB 581 D References 583 E PRACTICE! Solutions 584 Index 601ReviewsAuthor InformationDr. Delores M. Etter has been widely recognized for her innovative textbooks in problem solving for engineering and science students. She is currently holds the Texas Instruments Distinguished Chair in Engineering Education at Southern Methodist University in Dallas, TX. She has been a member of the Electrical and Computing Engineering faculties at the United States Naval Academy, the University of Colorado, Boulder, and the University of New Mexico. She was also a Visiting Professor at Stanford University. Dr. Etter is a member of the National Academy of Engineering , a fellow of IEEE, AAAS, and ASEE, and a former member of the National Science Board. Jeanine A. Ingber is currently the Chief Technical Officer of ASAP, LLC, a limited liability company founded in 2009 that develops numerical solutions to application problems in engineering and physics. She has held faculty positions at Iowa State University and the University of New Mexico and has received numerous teaching honors. Tab Content 6Author Website:Countries AvailableAll regions |