|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Engineering Problem Solving with C++, 2/E
Delores M. EtterU.S. Naval Academy
Jeanine A. IngberUniversity of New Mexico

ISBN-10: 0136011756
ISBN-13:  9780136011750

Publisher:  Prentice Hall
Copyright:  2008
Format:  Paper; 576 pp
Published:  12/31/2007
Status: Instock


Suggested retail price: $111.00
Buy from myPearsonStore



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.

 

Supplements Include:

 

For Students: Access Data Files at  www.prenhall.com/etter

 

Instructor Resource Center includes:

  •  Lecture PowerPoints 
  •  Solutions to all exercises in the text.
  • Quizzes to accompany all chapters

Real-world engineering and scientific examples and application problems.

 

Five-step process for problem-solving:

1) State the problem clearly

2) Describe the input and output information and determine data types

3) Work a simple exercise by hand

4) Develop an algorithm and convert it to a computer program

5) Test the solution with a variety of data. The steps are clearly identified each time that a complete engineering problem is solved.

 

• Extensive pedagogy – Chapters contain Practice! problems, Modify!exercises, Exam Practice!and programming problems.

 

Emphasis on readability and documentation – Stresses the importance of these two facets in program development.

 

Standard C++ library – Utilizes the first international standard language published by the IOS (International Standards Organization) and ANSI (American National Standards Institute).

 

Study and programming aids – Uses margin notes, style guidelines, and icons to emphasize style and potential program bugs.

 

Optional chapter sections on numerical techniques – Include interpolation, linear modeling (regression), root finding, numerical integration, solution to simultaneous equations, and an introduction to the concept of a matrix.

 

Appendices – Include components in the Standard C++ library; ASCII character codes; and a list of references.

 

Instructors Resource CD-ROM – Includes solutions to most programming exercises; data files; a test bank; and a complete set of PowerPoint slide lecture notes.

 

• New statement boxes:

– Provide a clear picture of the syntax of newly introduced statements

– Make the text easier for students to use as a reference

– Aid the instructor in preparing lecture notes.  

 

• Added program traces – Illustrate flow of control and assignment of values to variables. 

 

• Term statement block defined and incorporated – Facilitates a cleaner discussion of C++ constructs.

 

Numerous added Practice! exercises – Support and improve coverage of  new and existing material.

 

50% new Engineering Challenge chapter openers and Problem Solving Applied problems.

 

• Many new problems added to the Programming Problems at the end of each chapter.

 

Major revisions in Chapter 1 to bring material up to date – Adds a new section on number systems and data representation,several Practice! problems, and an Exam Practice section at the end of the chapter. 

 

• New material in Chapter 4:

Adds coverage of file streams, includinga discussion of the stream class hierarchy and a discussion of stream state flags.  – Adds numerous tables and programming examples to aid in error checking has also been added to chapter 4.  

 

Additional coverage of recursion in chapters 5 and 10.

 

Expanded discussion of functions in chapter 5 – Gives students a bigger picture of this complicated topic.

 

Modified discussion of OO programming in chapter 4 to support the discussion of file streams. 

 

Discussion of function templates, function overloading and STL vectors removed from chapter 6 – Covers these topics in more detail in chapters 8,9,and 10.

 

Contents

 

Chapter 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

 

Chapter 2

SIMPLE C++ PROGRAMS 34

ENGINEERING CHALLENGE: Global Change 34

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++ Operators 47

           Assignment Operator 47

           Arithmetic Operators 49

           Precedence of Operators 51

           Overflow and Underflow 54

           Increment and Decement Operators 55

           Abbreviated Assignment Operators 55

2.4 Standard Input and Output 57

           The cout Object 57

           Stream Objects 58

           Manipulators 60

           The cin Object 63

2.5 Numerical Technique: Linear Interpolation 65

2.6 Problem Solving Applied: Freezing Temperature of Seawater 69

2.7 Basic Functions Included in the C++ Standard Library 73

           Elementary Math Functions 74

           Trigonometric Functions 75

           Hyperbolic Functions* 76

           Character Functions 78

2.8 Problem Solving Applied: Velocity Computation 78

2.9 System Limitations 82

Summary 83

 

Chapter 3

CONTROL STRUCTURES 92

ENGINEERING CHALLENGE: Global Change 92

3.1 Algorithm Development 93

           Top-Down Design 93

           Structured Programming 94

           Refinement in Pseudocode 95

           Evaluation of Alternative Solutions 98

3.2 Conditional Expressions 98

           Relational Operators 98

           Logical Operators 99

           Precedence and Associativity 101

3.3 Selection Statements 102

           Simple if Statements 102

           if/else Statement 104

           switch Statement 108

3.4 Loop Structures 111

           while Loop 111

           do/while Loop 114

           for Loop 116

           break and continue Statements 120

           Structuring Input Loops 121

3.5 Problem Solving Applied: Weather Balloons 125

Summary 130

 

Chapter 4

WORKING WITH DATA FILES 138

ENGINEERING CHALLENGE: Weather Prediction 138

4.1 Stream Class Hierarchy 139

Stream Class Hierarchy 139

           ifstream Class 142

           ofstream Class 144

4.2 Reading Data Files 145

           Specified Number of Records 146

           Trailer or Sentinel Signal 148

           End-of-File 150

4.3 Generating a Data File 153

4.4 Problem Solving Applied: Data Filters–Modifying an HTML File 156

4.5 Error Checking 159

           The Stream State 161

4.6 Numerical Technique: Linear Modeling* 166

4.7 Problem Solving Applied: Ozone Measurements* 169

Summary 175

 

Chapter 5

MODULAR PROGRAMMING WITH FUNCTIONS 182

ENGINEERING CHALLENGE: Enhanced Oil and Gas Recovery 182

5.1 Modularity 183

5.2 Programmer-Defined Functions 185

Function Definition 186

           Function Prototype 194

5.3 Parameter Passing 195

           Pass by Value 196

           Pass by Reference 198

           Storage Class and Scope 204

5.4 Problem Solving Applied: Calculating a Center of Gravity 206

5.5 Random Numbers 210

           Integer Sequences 210

           Floating-Point Sequences 214

5.6 Problem Solving Applied: Instrumentation Reliability 215

5.7 Numerical Technique: Roots of Polynomials* 222

           Polynomial Roots 222

           Incremental-Search Technique 224

5.8 Problem Solving Applied: System Stability* 226

           Newton—Raphson Method* 232

5.9 Numerical Technique: Integration* 236

Integration Using the Trapezoidal Rule 236

Summary 240

 

Chapter 6

ONE-DIMENSIONAL ARRAYS 250

ENGINEERING CHALLENGE: Hurricane Tracking 250

6.1 Arrays 251

           Definition and Initialization 252

Computation and Output 256

           Function Arguments 260

6.2 Problem Solving Applied: Hurricane Categories 263

6.3 Statistical Measurements 269

           Simple Analysis 269

           Variance and Standard Deviation 271

           Custom Header Files 274

6.4 Problem Solving Applied: Speech Signal Analysis 274

6.5 Sorting Algorithms 280

           Selection Sort 281

6.6 Search Algorithms 282

           Unordered Lists 283

           Ordered Lists 283

6.7 Character Strings 285

           C Style String Definition and I/O 285

String Functions 288

6.8 Problem Solving Applied: Palindromes 289

6.9 The string Class 293

Summary 295

 

Chapter 7

TWO-DIMENSIONAL ARRAYS AND MATRICES 300

ENGINEERING CHALLENGE: Terrain Navigation 300

7.1 Two-Dimensional Arrays 301

           Declaration and Initialization 302

           Computations and Output 306

           Function Arguments 308

7.2 Problem Solving Applied: Terrain Navigation 311

7.3 Matrices* 316

           Determinant 316

Transpose 317

           Matrix Addition and Subtraction 318

Matrix Multiplication 318

7.4 Numerical Technique: Solution to Simultaneous Equations* 321

           Graphical Interpretation 321

           Gauss Ellimination 323

7.5 Problem Solving Applied: Electrical Circuit Analysis* 327

7.6 Higher Dimensional Arrays* 333

Summary 335

 

Chapter 8

AN INTRODUCTION TO CLASSES 342

ENGINEERING CHALLENGE: Simulation 342

8.1     Programmer Defined Types 343

8.2     Design and Implementation of Classes 345

                        Class Declaration 345

Class Implementation 347

8.3     Class Composition 353

8.4     Constructors 357

Initialization Lists 361   

8.5     The vector Class 364

                        Parameter Passing 366

8.6   Problem Solving Applied: Calculating Probabilities 368

8.7   The UnitVector Class 381

        Private Member Functions 382

        Class Objects as Arguments to Member Functions 384

8.8   Problem Solving Applied: Simulation 385

Summary 392

 

Chapter 9

AN INTRODUCTION TO POINTERS 396

ENGINEERING CHALLENGE: Weather Patterns 396

9.1 Addresses and Pointers 397

        Address Operator 398

        Pointer Assignment 400

        Pointer Arithmetic 403

9.2 Pointers to Array Elements 406

        One-Dimensional Arrays 407

        Character Strings 409

        Pointers as Function Arguments 410

9.3 Problem Solving Applied: El Ni˜no[K1] -Southern Oscillation Data 415

9.4 Dynamic Memory Allocation 418

        The new Operator 418

        Dynamically Allocated Arrays 420

        The delete Operator 420

9.5 Problem Solving Applied: Seismic Event Detection 422

9.6 Common Errors Using new and delete 428

9.7 Data Structures and the C++ Standard Template Library (STL) 430

        The link Class 430

        The stack Class 434

        The queue Class 436

9.8 Problem Solving Applied: Concordance of a Text File* 438

Summary 444

 

Chapter 10

ADDITIONAL TOPICS IN PROGRAMMING WITH CLASSES 450

ENGINEERING CHALLENGE: Artificial Intelligence 450

10.1 Introduction to Generic Programming 451

        Function Templates 452

        Overloading Operators 456

        The pixel Class 456

        Arithmetic Operators 458

        friend Functions 463

10.2 Problem Solving Applied: Color Image Processing 468

10.3 Recursion 475

        Factorial Function 475

        Fibonacci Sequence 477

        Binary Trees 479

10.4 Class Templates 490

10.5 Inheritance 496

        The Square Class 497

        The Cube Class 502

   Virtual Methods 504

10.6 Problem Solving Applied: Iterated Prisoner’s Dilemma 507

Summary 516

 

Appendix A   C++ Standard Library 521

Appendix B   ASCII Character Codes 529

Appendix C   Using MATLAB to Plot Data from ASCII Files 533

        C++ Program to Generate a Data File 533

        ASCII Data File Generated by the C++ Program 534

        Generating a Plot with MATLAB 534

Appendix D   References 536

Appendix E   PRACTICE! Solutions 537

Index 553


 [K1]Comp: fix accent to be over “n”

Dr. Delores M. Etter, Assistant Secretary of the Navy for Research, Development and Acquisition, leads R&D and acquisition throughout the U.S. Navy. She is the first United States Naval Academy faculty member to hold the Office of Naval Research Distinguished Chair in Science and Technology. Dr. Etter is a member of the National Academy of Engineering, and a fellow of IEEE, AAAS, and ASEE.

Jeanine Ingber was educated at the University of Michigan where she completed a Master’s Degree in Computer Aided Design Engineering. She held faculty positions at Iowa State University and the University of New Mexico, and has been honored in three separate editions of Who’s Who Among American Teachers. Jeanine is currently the owner of IngberConsulting.com and works as a computer consultant and technical trainer offering short courses in C, C++, Java, and Object Oriented Design using UML.

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.

 

Bridge Page t/a Engineering Problem Solving with C++ Bridge Page, 2/E
Etter & Ingber
©2008 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0136011780 | ISBN-13: 9780136011781
URLhttp://www.prenhall.com/etter


Instructor Resource Center t/a Engineering Problem Solving with C++, Etter, 2/E
Etter & Ingber
©2008 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0136011772 | ISBN-13: 9780136011774
  View Downloadable Files



MyTest test bank to accompany Engineering Problem Solving with C++
Simons & Ingber
©2009 | Prentice Hall | On-line Supplement | Instock
ISBN-10: 0132085666 | ISBN-13: 9780132085663
URLhttp://www.prenhall.com/etter
  View Downloadable Files



ESource Access Pack
Esource
©2001 | Prentice Hall | Paper | Instock
ISBN-10: 0130904007 | ISBN-13: 9780130904003


Interwrite Personal Response System
EduCue, Addison-Wesley & Benjamin Cummings
©2004 | Prentice Hall | Electronic Supplement | Instock
ISBN-10: 0321267354 | ISBN-13: 9780321267351


Give your students a choice! PearsonChoices products are designed to give your students more value and flexibility by letting them choose from a variety of text and media formats to best match their learning style and their budget.

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, see the Packages Tab.

  • 9780135075487
    Computer Science Custom Library
    Pearson Custom Publishing
    ©2009 | Prentice Hall | On-line Supplement | Instock
    ISBN-10: 0135075483 | ISBN-13: 9780135075487
    Brief Description

  • 9780136011767
    Engineering Problem Solving with C++, CourseSmart eTextbook, 2/E
    Etter & Ingber
    ©2008 | Prentice Hall | On-line Supplement; 576 pp | Instock
    ISBN-10: 0136011764 | ISBN-13: 9780136011767
    URLhttp://www.coursesmart.com
    Brief Description | Buy from myPearsonStore

Pearson Higher Education offers special pricing when you choose to package your text with other student resources. If you're interested in creating a cost-saving package for your students, browse our available packages below, or contact your Pearson Higher Education representative to create your own package.

Package ISBN-10: 0138137366 | ISBN-13: 9780138137366
©2008 | Instock | Suggested retail price: $111.00 | Buy from myPearsonStore
This package contains:

Etter & Ingber | ©2008 | Prentice Hall | Paper; 576 pp
DePasquale | ©2006 | Prentice Hall | Paper; 96 pp


Package ISBN-10: 0137156545 | ISBN-13: 9780137156542
©2008 | Instock | Suggested retail price: $145.87 | Buy from myPearsonStore
This package contains:

Etter & Ingber | ©2008 | Prentice Hall | Paper; 576 pp
Etter, Kuncicky & Moore | ©2005 | Prentice Hall | Paper; 304 pp


Package ISBN-10: 0137058055 | ISBN-13: 9780137058051
©2009 | Instock (Additional assembly time required) | Suggested retail price: $117.67 | Buy from myPearsonStore
This package contains:

Etter & Ingber | ©2008 | Prentice Hall | Paper; 576 pp
  • Visual C++ 2008 Programming Companion, 3/E
Becerra | ©2009 | Prentice Hall | Paper Bound w/CD-ROM; 48 pp