معرفی کتاب «Engineering Problem Solving with C++ (3rd Edition)» نوشتهٔ Delores Maria Etter; Jeanine A. Ingber، منتشرشده توسط نشر Pearson ; Pearson Education در سال 2012. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است. «Engineering Problem Solving with C++ (3rd Edition)» در دستهٔ بدون دستهبندی قرار دارد.
__**Engineering 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. Cover 1 Title Page 3 Copyright Page 4 Acknowledgments 18 Contents 6 Preface 13 1 Introduction to Computing and Engineering Problem Solving 21 1.1 Historical Perspective 21 1.2 Recent Engineering Achievements 25 Changing Engineering Environment 27 1.3 Computing Systems 29 Computer Hardware 29 Computer Software 30 1.4 Data Representation and Storage 34 Number Systems 35 Data Types and Storage 41 1.5 An Engineering Problem-Solving Methodology 44 Summary 47 2 Simple C++ Programs 53 ENGINEERING CHALLENGE: Vehicle Performance 52 2.1 Program Structure 53 2.2 Constants and Variables 57 Scientific Notation 59 Numeric Data Types 60 Boolean Data Type 62 Character Data Type 62 String Data 64 Symbolic Constants 65 2.3 C++ Classes 66 Class Declaration 66 Class Implementation 67 2.4 C++ Operators 70 Assignment Operator 70 Arithmetic Operators 72 Precedence of Operators 74 Overflow and Underflow 76 Increment and Decrement Operators 77 Abbreviated Assignment Operators 78 2.5 Standard Input and Output 79 The cout Object 79 Stream Objects 80 Manipulators 82 The cin Object 85 2.6 Building C++ Solutions with IDEs: NetBeans 87 NetBeans 87 2.7 Basic Functions Included in the C++ Standard Library 94 Elementary Math Functions 95 Trigonometric Functions 96 Hyperbolic Functions* 98 Character Functions 99 2.8 Problem Solving Applied: Velocity Computation 99 2.9 System Limitations 103 Summary 104 3 Control Structures: Selection 113 ENGINEERING CHALLENGE: Global Change 112 3.1 Algorithm Development 113 Top-Down Design 113 3.2 Structured Programming 115 Pseudocode 115 Evaluation of Alternative Solutions 117 3.3 Conditional Expressions 117 Relational Operators 117 Logical Operators 118 Precedence and Associativity 121 3.4 Selection Statements: if Statement 122 Simple if Statements 122 if/else Statement 125 3.5 Numerical Technique: Linear Interpolation 129 3.6 Problem Solving Applied: Freezing Temperature of Seawater 133 3.7 Selection Statements: switch Statement 137 3.8 Building C++ Solutions with IDEs: NetBeans 140 NetBeans 140 3.9 Defining Operators for Programmer-Defined Data Types 146 Summary 151 4 Control Structures: Repetition 157 ENGINEERING CHALLENGE: Data Collection 156 4.1 Algorithm Development 157 Pseudocode and Flowchart Description 158 4.2 Repetition Structures 158 while Loop 159 do/while Loop 163 for Loop 166 4.3 Problem Solving Applied: GPS 171 4.4 break and continue Statements 175 4.5 Structuring Input Loops 176 Counter-Controlled Loops 176 Sentinel-Controlled Loop 178 End-Of-Data Loop 179 4.6 Problem Solving Applied: Weather Balloons 181 4.7 Building C++ Solutions with IDEs: Microsoft Visual C++ 186 Microsoft Visual C++ 188 Summary 192 5 Working with Data Files 199 ENGINEERING CHALLENGE: Weather Prediction 198 5.1 Defining File Streams 199 Stream Class Hierarchy 199 ifstream Class 202 ofstream Class 203 5.2 Reading Data Files 205 Specified Number of Records 206 Trailer or Sentinel Signals 208 End-of-File 210 5.3 Generating a Data File 213 5.4 Problem Solving Applied: Data Filters—Modifying an HTML File 216 5.5 Error Checking 220 The Stream State 221 5.6 Numerical Technique: Linear Modeling* 226 5.7 Problem Solving Applied: Ozone Measurements* 229 Summary 235 6 Modular Programming with Functions 243 ENGINEERING CHALLENGE: Simulation 242 6.1 Modularity 243 6.2 Programmer-Defined Functions 246 Function Definition 249 Solution 1 252 Solution 2 253 Function Prototype 256 6.3 Parameter Passing 257 Pass by Value 258 Pass by Reference 260 Storage Class and Scope 266 6.4 Problem Solving Applied: Calculating a Center of Gravity 268 6.5 Random Numbers 272 Integer Sequences 272 Floating-Point Sequences 276 6.6 Problem Solving Applied: Instrumentation Reliability 277 6.7 Defining Class Methods 284 Public Interface 285 Accessor Methods 286 Mutator Methods 287 6.8 Problem Solving Applied: Design of Composite Materials 292 Solution 1 294 Solution 2 295 6.9 Numerical Technique: Roots of Polynomials* 298 Polynomial Roots 298 Incremental-Search Technique 300 6.10 Problem Solving Applied: System Stability* 302 Newton–Raphson Method* 308 6.11 Numerical Technique: Integration* 311 Integration Using the Trapezoidal Rule 311 Summary 315 7 One-Dimensional Arrays 327 ENGINEERING CHALLENGE: Tsunami Warning Systems 326 7.1 Arrays 327 Definition and Initialization 328 Pseudocode 330 Computation and Output 333 Function Arguments 337 7.2 Problem Solving Applied: Hurricane Categories 342 7.3 Statistical Measurements 348 Simple Analysis 348 Variance and Standard Deviation 350 Custom Header Files 353 7.4 Problem Solving Applied: Speech Signal Analysis 353 7.5 Sorting and Searching Algorithms 359 Selection Sort 360 Search Algorithms 361 Unordered Lists 362 Ordered Lists 362 7.6 Problem Solving Applied: Tsunami Warning Systems 364 7.7 Character Strings 370 C Style String Definition and I/O 370 String Functions 372 7.8 The string Class 373 7.9 The vector class 375 Parameter Passing 378 7.10 Problem Solving Applied: Calculating Probabilities 380 Summary 393 8 Two-Dimensional Arrays 401 ENGINEERING CHALLENGE: Terrain Navigation 400 8.1 Two-Dimensional Arrays 401 Declaration and Initialization 402 Computations and Output 407 Function Arguments 410 8.2 Problem Solving Applied: Terrain Navigation 416 8.3 Two-Dimensional Arrays and the vector class 421 Function Arguments 424 8.4 Matrices 425 Determinant 425 Transpose 426 Matrix Addition and Subtraction 427 Matrix Multiplication 428 8.5 Numerical Technique: Solution to Simultaneous Equations 430 Graphical Interpretation 430 Gauss Elimination 434 8.6 Problem Solving Applied: Electrical Circuit Analysis 436 8.7 Higher Dimensional Arrays 442 Summary 444 9 An Introduction to Pointers 453 ENGINEERING CHALLENGE: Weather Patterns 452 9.1 Addresses and Pointers 453 Address Operator 454 Pointer Assignment 456 Pointer Arithmetic 459 9.2 Pointers to Array Elements 462 One-Dimensional Arrays 463 Character Strings 465 Pointers as Function Arguments 466 9.3 Problem Solving Applied: El Niño-Southern Oscillation Data 471 9.4 Dynamic Memory Allocation 474 The new Operator 474 Dynamically Allocated Arrays 476 The delete Operator 476 9.5 Problem Solving Applied: Seismic Event Detection 478 9.6 Common Errors Using new and delete 484 9.7 Linked Data Structures 486 Linked Lists 486 Stacks 488 Queue 488 9.8 The C++ Standard Template Library 490 The list class 490 The stack class 492 The queue class 493 9.9 Problem Solving Applied: Concordance of a Text File 495 Summary 500 10 Advanced Topics 507 ENGINEERING CHALLENGE: Artificial Intelligence 506 10.1 Generic Programming 507 Function Templates 508 10.2 Data Abstraction 512 Overloading Operators 512 The Pixel class 513 Arithmetic Operators 514 friend Functions 519 Validating Objects 524 Bitwise Operators 528 10.3 Problem Solving Applied: Color Image Processing 531 10.4 Recursion 537 Factorial Function 538 Fibonacci Sequence 540 The BinaryTree class 542 10.5 Class Templates 554 10.6 Inheritance 560 The Rectangle class 560 The Square class 563 The Cube class 566 10.7 virtual Methods 569 10.8 Problem Solving Applied: Iterated Prisoner’s Dilemma 572 Summary 581 A: C++ Standard Library 586 B: ASCII Character Codes 594 C: Using MATLAB to Plot Data from ASCII Files 598 C++ Program to Generate a Data File 598 ASCII Data File Generated by the C++ Program 599 Generating a Plot with MATLAB 599 D: References 601 E: PRACTICE! Solutions 602 Index 619 A 619 B 619 C 620 D 620 E 621 F 621 G 621 H 621 I 622 J 622 K 622 L 622 M 623 N 623 O 623 P 623 Q 624 R 624 S 624 T 625 U 626 V 626 W 626 X 626 Z 626
Engineering Problem Solving with C++
Second Edition Delores M. Etter - Jeanine A. Ingber
Thoroughly updated for today's new challenges, this is the most complete, accessible introduction to engineering problem solving with ANSI C++, incorporating a clear writing style and a well-illustrated introduction to procedural, and object-oriented, problem solutions.
Delores M. Etter and Jeanine A. Ingber introduce an easy-to-use, five-step methodology for engineering problem solving. Readers learn how to state problems clearly; describe the required I/O; work simplified hand examples; develop appropriate algorithms and convert them to C++ programs; and finally, test problem solutions with diverse data sets.
Etter and Ingber introduce basic C++ features that support all facets of engineering problem solving, including data types, control structures, file streams, arrays, functions, pointers, dynamic data structures, and the use of pre-defined functions and classes provided in the Standard C++ Library. Additional C++ features that support generic programming, data abstraction, and object-oriented problem solutions are introduced in later chapters, including function templates, class templates, iterators, inheritance, virtual methods, and UML diagrams. The authors also present powerful top-down design and stepwise refinement techniques utilizing decomposition outlines, pseudocode, and flowcharts.
Readers can practice new skills with four types of exercises that are used throughout the text, including Practice! exercises, Modify! exercises, Exam Practice! exercises, and an extensive collection of Programming Problems provided at the end of every chapter. The authors also demonstrate their methodology in Problem Solving Applied sections included in every chapter of the text. Problem Solving Applied Problems focus on current Engineering Challenges, presented at the beginning of each chapter.
Features of this new edition include:
- New coverage of number systems.
- Expanded coverage of data types and data representation.
- Expanded coverage of file streams and error handling.
- Expanded coverage of programmer-defined functions and classes.
- Expanded coverage of recursion.
- Addition of Statement Boxes, Program Traces, and UML diagrams.
- New Problem Solving Applied problems.
About the Authors
Dr. Delores M. Etter has been widely recognized for her innovative textbooks in problem solving for engineering and science students. She has been a member of the Electrical and Computer Engineering faculty at the United States Naval Academy, the University of Colorado, Boulder, and the University of New Mexico. Dr. Etter is a member of the National Academy of Engineering and a fellow of IEEE, AAAS, and ASEE.
Jeanine A. Ingber is an independent training consultant who works extensively with Sandia National Labs. She has held faculty positions at Iowa State University and the University of New Mexico and has recieved numerous teaching honors.
Engineering 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.