Engineering Problem Solving With C++
$199.99
Title | Range | Discount |
---|---|---|
Trade Discount | 5 + | 25% |
- Description
- Additional information
Description
- Real-world engineering and scientific examples and application problems are emphasised throughout the text. This emphasis is centered around a theme of engineering challenges, which include
- Understanding weather patterns, climate, and global change
- Computerised speech understanding
- Image processing
- Artificial intelligence
- Enhanced oil and gas recovery
- Simulation
- The five-step process for problem-solving reinforces the development of problem-solving skills. Each of these five steps is clearly identified each time a complete engineering problem is solved. In addition, top-down design and stepwise refinement are presented with the use of decomposition outlines, pseudocode, and flowcharts. The five steps are:
- State the problem clearly
- Describe the input and output information and determine data types
- Work a simple exercise by hand
- Develop an algorithm and convert it to a computer program
- 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.
- Readability and documentation are stressed in the development of programs. Because engineers and scientists are expected to develop and implement user-friendly and reusable computer solutions, learning software engineering techniques is crucial.
- Standard C++ library — Utilises the first international standard language published by the IOS (International Standards Organization) and ANSI (American National Standards Institute). By using Standard C++, students learn to write portable code that can be transferred from one computer platform to another. Additional components of the C++ Standard Library are discussed in Appendix A.
- Study and programming aids include Statement Boxes, Memory Snapshots, Program Traces, Structure Charts and Flowcharts, and provide easily accessible visual illustrations of important concepts.
- Margin notes help the reader identify the important concepts, but also easily locate specific topics. In addition, margin notes are used to identify programming style guidelines and debugging information.
- Style guidelines show students how to write C++ programs that incorporate good software discipline; debugging sections help students recognise common errors so that they can avoid them. The programming style notes are indicated with the margin note Style, and the debugging notes with a bug icon. Object-oriented features of C++ display an OOP icon to help students recognise these features early in the text. Each Chapter Summary contains a summary of the style notes and debugging notes, plus a list of the Key Terms from the chapter and a C++ Statement
- Reference of the new statements make the book easy to use as a reference.
- Numerical techniques that are commonly used in solving engineering problems are also presented, and include interpolation, linear modeling (regression), root finding, numerical integration, and the solution to simultaneous equations. The concept of a matrix is also introduced and then illustrated using a number of examples. All of these topics are presented assuming only a trigonometry and college algebra background.
Introduction to Computing and Engineering
1 Problem Solving
1.1 Historical Perspective
1.2 Recent Engineering Achievements
Changing Engineering Environment
1.3 Computing Systems
Computer Hardware
Computer Software
1.4 Data Representation and Storage
Number Systems
Data Types and Storage
1.5 An Engineering Problem-Solving Methodology
Summary
2 Simple C++ Programs
ENGINEERING CHALLENGE: Vehicle Performance
2.1 Program Structure
2.2 Constants and Variables
Scientific Notation
Numeric Data Types
Boolean Data Type
Character Data Type
String Data
Symbolic Constants
Auto Type Specifier
2.3 C++ Classes
Class Declaration
Class Implementation
2.4 Building C++ Solutions with IDEs: Xcode
Xcode
2.5 C++ Operators
Assignment Operator
Arithmetic Operators
Precedence of Operators
Overflow and Underflow
Increment and Decrement Operators
Abbreviated Assignment Operators
2.6 Standard Input and Output
The cout Object
Stream Objects
Manipulators
The cin Object
2.7 Building C++ Solutions with IDEs: NetBeans
NetBeans
2.8 Basic Functions Included in the C++ Standard Library
Elementary Math Functions
Trigonometric Functions
Hyperbolic Functions*
Character Functions
2.9 Problem Solving Applied: Velocity Computation
2.10 System Limitations
Summary
3 Control Structures: Selection
ENGINEERING CHALLENGE: Global Change
3.1 Algorithm Development
Top-Down Design
3.2 Structured Programming
Pseudocode
Evaluation of Alternative Solutions
3.3 Conditional Expressions
Relational Operators
Logical Operators
Precedence and Associativity
3.4 Selection Statements: if Statement
Simple if Statements
if/else Statement
3.5 Numerical Technique: Linear Interpolation
3.6 Problem Solving Applied: Freezing Temperature of Seawater
3.7 Selection Statements: switch Statement
3.8 Building C++ Solutions with IDEs: NetBeans
NetBeans
3.9 Defining Operators for Programmer-Defined Data Types
Summary
4 Control Structures: Repetition
ENGINEERING CHALLENGE: Data Collection
4.1 Algorithm Development
Pseudocode and Flowchart Description
4.2 Repetition Structures 156
while Loop
do/while Loop
for Loop
4.3 Problem Solving Applied: GPS
4.4 break and continue Statements
4.5 Structuring Input Loops
Counter-Controlled Loops
Sentinel-Controlled Loop
End-Of-Data Loop
4.6 Problem Solving Applied: Weather Balloons
4.7 Building C++ Solutions with IDEs: Microsoft Visual C++
Microsoft Visual C++
Summary
5 Working with Data Files
ENGINEERING CHALLENGE: Weather Prediction
5.1 Defining File Streams
Stream Class Hierarchy
ifstream Class
ofstream Class
5.2 Reading Data Files
Specified Number of Records
Trailer or Sentinel Signals
End-of-File
5.3 Generating a Data File
5.4 Problem Solving Applied: Data Filters–Modifying an HTML File
5.5 Error Checking
The Stream State
5.6 Numerical Technique: Linear Modeling
5.7 Problem Solving Applied: Ozone Measurements
5.8 Building C++ Solutions with IDEs: Xcode-Weather Patterns
Summary
6 Modular Programming with Functions
ENGINEERING CHALLENGE: Simulation
6.1 Modularity
6.2 Programmer-Defined Functions
Function Definition
Solution 1
Solution 2
Function Prototype
6.3 Parameter Passing
Pass by Value
Pass by Reference
Storage Class and Scope
6.4 Problem Solving Applied: Calculating a Center of Gravity
6.5 Random Numbers
Integer Sequences
Floating-Point Sequences
6.6 Problem Solving Applied: Instrumentation Reliability
6.7 Defining Class Methods
Public Interface
Accessor Methods
Mutator Methods
6.8 Problem Solving Applied: Design of Composite Materials
Solution 1:
Solution 2:
6.9 Numerical Technique: Roots of Polynomials
Polynomial Roots
Incremental-Search Technique
6.10 Problem Solving Applied: System Stability
Newton—Raphson Method
6.11 Numerical Technique: Integration
Integration Using the Trapezoidal Rule
Summary
7 One-Dimensional Arrays
ENGINEERING CHALLENGE: Tsunami Warning Systems
7.1 Arrays
Definition and Initialization
Pseudocode
Range-based for Statement
Computation and Output
Function Arguments
7.2 Problem Solving Applied: Hurricane Categories 357
7.3 Statistical Measurements
Simple Analysis
Variance and Standard Deviation
Custom Header Files
7.4 Problem Solving Applied: Speech Signal Analysis
7.5 Sorting and Searching Algorithms
Selection Sort
Search Algorithms
Unordered Lists
Ordered Lists
7.6 Problem Solving Applied: Tsunami Warning Systems
7.7 Character Strings
C Style String Definition and I/O
String Functions
7.8 The string Class
7.9 Building C++ Solutions with IDEs: Xcode Vegetation Maps
7.10 The vector class
Parameter Passing
7.11 Problem Solving Applied: Calculating Probabilities
Summary
8 Two-Dimensional Arrays
ENGINEERING CHALLENGE: Terrain Navigation
8.1 Two-Dimensional Arrays
Declaration and Initialization
Computations and Output
Function Arguments
8.2 Problem Solving Applied: Terrain Navigation
8.3 Two-Dimensional Arrays and the vector class
Function Arguments
8.4 Matrices
Determinant
Transpose
Matrix Addition and Subtraction
Matrix Multiplication
8.5 Numerical Technique: Solution to Simultaneous Equations
Graphical Interpretation
Gauss Elimination
8.6 Problem Solving Applied: Electrical Circuit Analysis
8.7 Higher-Dimensional Arrays
Summary
9 An Introduction to Pointers
ENGINEERING CHALLENGE: Weather Patterns
9.1 Addresses and Pointers
Address Operator
Pointer Assignment
Pointer Arithmetic
9.2 Pointers to Array Elements
One-Dimensional Arrays
Character Strings
Pointers as Function Arguments
9.3 Problem Solving Applied: El Niño-Southern Oscillation Data
9.4 Dynamic Memory Allocation
The new Operator
Dynamically Allocated Arrays
The delete Operator
9.5 Problem Solving Applied: Seismic Event Detection
9.6 Common Errors Using new and delete
9.7 Linked Data Structures
Linked Lists
Stacks
Queue 518
9.8 The C++ Standard Template Library
The list class
The stack class
The queue class
9.9 Problem Solving Applied: Concordance of a Text File 525
Summary
10 Advanced Topics
ENGINEERING CHALLENGE: Artificial Intelligence
10.1 Data Abstraction
Overloading Operators
The Pixel class
Arithmetic Operators
friend Functions
Validating Objects
Bitwise Operators
10.2 Building C++ Solutions with IDEs: Xcode Image Files
10.3 Binary File Input and Output
Opening Binary Files
Reading and Writing Binary Files
Contents
10.4 Problem Solving Applied: Color Image Processing
10.5 Recursion
Factorial Function
Fibonacci Sequence
The BinaryTree class
10.6 Generic Programming
Function Templates
Class Templates
10.7 Inheritance
The Rectangle class
The Square Class
The Cube class
10.8 virtual Methods
10.9 Problem Solving Applied: Iterated Prisoner’s Dilemma
Summary
C++ Standard Library
B ASCII Character Codes
C Using MATLAB to Plot Data from ASCII Files
C++ Program to Generate a Data File
ASCII Data File Generated by the C++ Program 649
Generating a Plot with MATLAB
D References
E PRACTICE! Solutions
Index
For one/two semester courses in Engineering and Computer Science at the freshman/sophomore level.
Engineering Problem Solving With C++, Fourth Edition provides a clear, concise introduction to engineering problem solving with C++ as well as the object-oriented features of the C++ programming language. The authors’ proven five-step problem solving methodology is presented and then incorporated in every chapter of the text. The chapters in this text are designed to give the instructor flexibility in the ordering of topics with chapter topics covering the essentials of mathematical computations, character data, control structures, functions, arrays, classes, and pointers. Outstanding engineering and scientific applications are used throughout; all applications are centered around the theme of engineering challenges in the 21st century with an emphasis on incorporating real-world engineering and scientific examples and problems.
For one/two semester courses in Engineering and Computer Science at the freshman/sophomore level.
Engineering Problem Solving With C++, Fourth Edition provides a clear, concise introduction to engineering problem solving with C++ as well as the object-oriented features of the C++ programming language. The authors’ proven five-step problem solving methodology is presented and then incorporated in every chapter of the text. The chapters in this text are designed to give the instructor flexibility in the ordering of topics with chapter topics covering the essentials of mathematical computations, character data, control structures, functions, arrays, classes, and pointers. Outstanding engineering and scientific applications are used throughout; all applications are centered around the theme of engineering challenges in the 21st century with an emphasis on incorporating real-world engineering and scientific examples and problems.
About the Book
- NEW! C++11 features including the range-based “for” statement.
- NEW! Multiple IDEs including
- NetBean
- MS Visual Studio
- Xcode
- NEW! Engineering applications using vegetation maps and weather data.
- NEW! Coverage of binary file input and output.
- Expanded! Coverage of vectors and programmer-defined data types.
- Expanded! Coverage of classes early in the text as optional chapter sections, for flexibility.
- NEW! Numbering of all Practice and Modify sections for clarity.
- Additional! Statement Boxes, Memory Snapshots, Structure Charts and
- Flowcharts.
- Available online! Student Resources and an Instructor’s Resource Center (IRC) at www.pearsonhighered.com/cs-resources
Additional information
Dimensions | 1.10 × 7.30 × 9.00 in |
---|---|
Imprint | |
Format | |
ISBN-13 | |
ISBN-10 | |
Author | |
BISAC | |
Subjects | computer science, higher education, Engineering and Computer Science, COM051070, Introduction to Programming, C++ |