Zum Hauptinhalt springen
Nicht aus der Schweiz? Besuchen Sie lehmanns.de
Problem Solving, Abstraction, and Design Using C++ - Frank L. Friedman, Elliot B. Koffman

Problem Solving, Abstraction, and Design Using C++

Buch | Softcover
800 Seiten
2000 | 3rd edition
Pearson (Verlag)
978-0-201-61277-6 (ISBN)
CHF 97,15 inkl. MwSt
zur Neuauflage
  • Titel erscheint in neuer Auflage
  • Artikel merken
Zu diesem Artikel existiert eine Nachauflage
This third edition text focuses on teaching beginners how to program and write C++ code. It uses a five-step problem-solving process throughout and uses C++ to teach students introductory principles of software engineering.
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 via 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.

Dr. Frank L. Friedman is Professor and Chairman of Computer and Information Science at Temple University. He received M.S. degrees from Johns Hopkins University and Purdue University and his Ph.D. in Computer Science from Purdue University. Dr. Friedman is also the coauthor of textbooks on programming in Fortran and Basic. His current research and instructional interests are in software engineering, specifically object-oriented paradigms for software design. Elliot Koffman is a professor of computer and information science at Temple University. He is one of the country's foremost CS educators, a former chairman of the ACM Task Force for introductory programming methods courses, and author of a number of successful language texts in Modula-2, FORTRAN, in addition to his four editions of Pascal and Turbo Pascal. 0201612771AB04062001

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.



Appendices.


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

Erscheint lt. Verlag 19.4.2000
Sprache englisch
Maße 185 x 229 mm
Gewicht 1198 g
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
ISBN-10 0-201-61277-1 / 0201612771
ISBN-13 978-0-201-61277-6 / 9780201612776
Zustand Neuware
Informationen gemäß Produktsicherheitsverordnung (GPSR)
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und praktische Anwendungen von Transpondern, kontaktlosen …

von Klaus Finkenzeller

Buch (2023)
Hanser (Verlag)
CHF 125,95
das umfassende Handbuch

von Marc Marburger

Buch | Hardcover (2024)
Rheinwerk (Verlag)
CHF 69,85