Problem Solving, Abstraction, & Design Using C++: Visual C++ Edition / Edition 3

Problem Solving, Abstraction, & Design Using C++: Visual C++ Edition / Edition 3

by Frank Friedman, Elliot Koffman
     
 

ISBN-10: 020175066X

ISBN-13: 9780201750669

Pub. Date: 08/10/2001

Publisher: Pearson Education

This revision of the classic 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. One of the hallmarks of this book is the focus on program design. Professors Frank Friedman and Elliot Koffman present a…  See more details below

Overview

This revision of the classic 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. One of the hallmarks of this book is the focus on program design. Professors Frank Friedman and Elliot Koffman present a Software Development Method in Chapter 1 that is revisited in the Case Studies throughout the book.

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. Object-oriented concepts are presented through an overview in Chapter 1 and then demonstrated with the use of the standard string and iostream classes and a user-defined money class throughout the early chapters. Chapter 10 shows how to write your own classes and Chapter 11 shows how to write template classes. The presentation of classes is flexible and writing classes can be covered earlier if desired.

Other Highlights:

  • Conforms to ANSI/ISO C++ standards, including new material on the Standard Library
  • Makes use of proven pedagogical features including end-of section self-check exercises and programming exercises, extensive examples, robust case studies, clearly marked program style displays and syntax displays, in-depth chapter reviews, arid detailed syntax and run-time error discussions in each chapter
  • Utilizes a dynamic two-color design to highlight important material
  • Includes interviews with leading computer scientists to show the significance of the material in thereal-world
  • Contains new appendices covering Visual C++, C++ Builder, and the standard container classes and iterators

Read More

Product Details

ISBN-13:
9780201750669
Publisher:
Pearson Education
Publication date:
08/10/2001
Series:
Visual QuickStart Guide Series
Edition description:
Older Edition
Pages:
822
Product dimensions:
7.50(w) x 1.37(h) x 9.25(d)

Table of Contents

1. 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.

2. 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.

3. 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: string and money.
Common Programming Errors.

4. 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.
The switch Control Statement.
Common Programming Errors.

5. 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.

6. Modular Programming.
Value and Reference Parameters.
Functions with Output and Inout Parameters.
Stepwise Design with Functions.
Using Objects with Functions.
Debugging and Testing a Program System.
Recursive Functions (Optional).
Common Programing Errors.

7. 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.

8. 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.

9. 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.
Common Programming Errors.

10. 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.

11. Modeling Data with Arrays, Structs, and Classes.
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 Stack Abstract Data Type.
Implementing the Stack Class.
Common Programming Errors.

12. Recursion.
The Nature of Recursion.
Tracing Recursive Functions.
Recursive Mathematical Functions.
Recursive Functions with Array Arguments.
Problem Solving with Recursion.
Common Programming Errors.

13. Pointers and Dynamic Data Structures.
Pointers and the new Operator.
Manipulating the Heap.
Linked Lists.
Stacks as Linked Lists.
The Queue Abstract Data Type.
Binary Trees.
Binary Search Tree Abstract Data Type.
Efficiency of a Binary Search Tree.
Common Programming Errors.

Appendix A. ASCII Character Set.
Appendix B. Reserved Words and Special Characters.
Appendix C. Selected C++ Library Facilities.
Appendix D. Operators.
Appendix E. A Brief Introduction to Inheritance and Polymorphism.
Appendix F. Using Visual C++.
Appendix G. Using C++ Builder.
Appendix H. Containers and Iterators.
Index.

Read More

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >