9780321197184

Problem Solving, Abstraction, and Design Using C++

by ;
  • ISBN13:

    9780321197184

  • ISBN10:

    0321197186

  • Edition: 5th
  • Format: Paperback
  • Copyright: 1/1/2007
  • Publisher: Addison Wesley
  • View Upgraded Edition
  • Purchase Benefits
  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $103.00

Summary

Problem Solving, Abstraction, and Design Using C++ presents and then reinforces the basic principles of software engineering and object-oriented programming while introducing the C++ programming language. The hallmarks of this book are the focus on problem solving and program design. This book carefully presents object-oriented programming by balancing it with procedural programming so the reader does not overlook the fundamentals of algorithm organization and design.

Table of Contents

Introduction to Computers, Problem Solving, and Programming
Overview of Computers
Computer Hardware
Computer Software
Processing a High-Level Language Program
The Software Development Method
Applying the Software Development Method
Professional Ethics for Computer Programmers
Chapter Review
Interview with Bjarne Stroustrup
Overview of C++
C++ Language Elements
Reserved Words and Identifiers
Data Types and Declarations
Executable Statements
General Form of a C++ Program
Arithmetic Expressions
Interactive Mode, Batch Mode, and Data Files
Common Programming Errors
Chapter Review
Programming Projects
Interview with Josée Lajoie
Top-Down Design with Functions and Classes
Building Programs from Existing Information
Library Functions
Top-Down Design and Structure Charts
Functions without Arguments
Functions with Input Arguments
Scope of Names
Extending C++ through Classes: Using Class string
Common Programming Errors
Chapter Review
Programming Projects
Interview with Mark Hall
Selection Structures: if and switch Statements
Control Structures
Logical Expressions
Introduction to the if Control Statement
if Statements with Compound Alternatives
Decision Steps in Algorithms
Checking the Correctness of an Algorithm
Nested if Statements and Multiple-Alternative Decisions
The switch Control Statement
Common Programming Errors
Chapter Review
Programming Projects
Repetition and Loop Statements
Counting Loops and the while Statement
Accumulating a Sum or Product in a Loop
The for Statement
Conditional Loops
Loop Design and Loop Patterns
The do-while Statement
Review of while, for, and do-while Loops
Nested Loops
Debugging and Testing Programs
Common Programming Errors
Chapter Review
Programming Projects
Interview with Mike Weisert
Modular Programming
Value and Reference Parameters
Functions with Output and Input Parameters
Stepwise Design with Functions
Using Objects with Functions
Debugging and Testing a Program System
Recursive Functions (Optional)
Common Programing Errors
Chapter Review
Programming Projects
Intervew with Robert Sebesta
Simple Data Types
Constants Revisited
Internal Representations of Numeric Data Types
Character Data and Functions
Type bool Data and Logical Expressions
Enumeration Types
Common Programming Errors
Chapter Review
Programming Projects
Interview with Thomas Drake
Streams and Files
The Standard Input/Output Streams
External Files
Using External Files for Communication between Programs
More on Reading String Data
Input/Output Manipulators
Common Programming Errors
Chapter Review
Programming Projects
Interview with Anita Borg
Data Structures:Arrays and Structs
The Array Data Type
Sequential Access to Array Elements
Array Arguments
Reading Part of an Array
Searching and Sorting Arrays
Analyzing Algorithms: Big-O Notation
The Struct Data Type
Structs as Operands and Arguments
Strings as Arrays of Characters (Optional)
Common Programming Errors
Chapter Review
Programming Projects
User-Defined Classes
Class Definition and Use
Class Implementation
Summary of Rules for Use of Classes and Objects
Classes as Operands and Arguments
A Fraction Class
A Circle Class
A Simple String Class
A Savings Account Class
Common Programming Errors
Chapter Review
Programming Projects
Interview with Timothy Budd
Data Abstraction and Object-Oriented Design
Multidimensional Arrays
Array of Structs
Template Classes
The Indexed List Abstract Data Type
Implementing the Indexed List Class
Illustrating Object-Oriented Design
Operator Overloading and Friends
The vector Class
Common Programming Errors
Chapter Review
Programming Projects
Interview with John Lakos
Recursion
The Nature of Recursion
Tracing Recursive Functions
Recursive Mathematical Functions
Recursive Functions with Array Arguments
Problem Solving with Recursion
Common Programming Errors
Chapter Review
Programming Projects
Interview with Marshall Cline
Pointers and Dynamic Data Structures
Pointers and the new Operator
Manipulating the Heap
Linked Lists and the list Class
The Stack Abstract Data Type
The Queue Abstract Data Type
Binary Trees
Binary Search Tree Abstract Data Type
Efficiency of a Binary Search Tree
Common Programming Errors
Chapter Review
Programming Projects
Multiprocessing Using Processes and Threads
Multitasking
Processes
Interprocess Communications and Pipes
Threads
Common Programming Errors
Chapter Review
Programming Projects
ASCII Character Set
Reserved Words and Special Characters
Selected C++ Library Facilities
Operators
A Brief Introduction to Inheritance and Polymorphism
Answers to Odd-Numbered Questions
Index
Table of Contents provided by Publisher. All Rights Reserved.

Rewards Program

Write a Review