|

Addison-Wesley / Prentice Hall

Computer Science

My Instructor Resource Center :  Log in or request access

Problem Solving and Program Design in C, 4/E
Jeri R. HanlyLoyola College in Maryland
Elliot B. KoffmanTemple University

ISBN-10: 0321198034
ISBN-13:  9780321198037

Publisher:  Addison-Wesley
Copyright:  2004
Format:  Paper; 770 pp
Published:  07/21/2003

Problem Solving and Program Design in C- , provides beginning programmers with a disciplined approach to solving problems using the C programming language. It provides a broad selection of case studies and exercises that are appealing to students in many disciplines. Throughout the last three editions, students using this best-selling book have developed a strong understanding of program design and C.

Students focus on basic issues of software engineering and good programming style from the first chapters on control structures and modularization. In later chapters, they learn to implement fundamental data structures such as lists, stacks, queues, and trees in a language that fosters their understanding of stack- and heap-dynamic memory allocation and programmer-controlled pointers.

  • Gradual introduction of pointers with consistent emphasis on the connection between problem solving skills and effective software development.
  • Early coverage of functions, logical operators, and operators with side effects.
  • “On to C++” Chapter 15 provides an introduction to the C++ programming language.

  • A glossary of important computing terms provides quick access for readers.
  • Revised index to make the book more useful as a reference manual.
  • Revised and expanded material on strings.
  • Type casting is now covered early.
  • New case study on solar heating.
  • Additional end-of-chapter exercises, covering new topics.



1. Overview of Computers and Programming.

Electronic Computers Then and Now.

Computer Hardware.

Computer Software.

The Software Development Method.

Applying the Software Development Method.

Case Study: Converting Miles to Kilometers.



2. Overview of C.

C Language Elements.

Variable Declarations and Data Types.

Executable Statements.

General Form of a C Program.

Arithmetic Expressions.

Case Study: Evaluating a Collection of Coins.

Formatting Numbers in Program Output.

Interactive Mode, Batch Mode, and Data Files.

Common Programming Errors.



3. Top-Down Design with Functions.

Building Programs from Existing Information.

Case Study: Finding the Area and Circumference of a Circle.

Case Study: Computing the Weight of a Batch of Flat Washers.

Library Functions.

Top-Down Design and Structure Charts.

Case Study: Drawing Simple Diagrams.

Functions without Arguments.

Functions with Input Arguments.

Common Programming Errors.



4. Selection Structures: If and Switch Statements.

Control Structures.

Conditions.

The if Statement.

If Statements with Compound Statements.

Decision Steps in Algorithms.

Case Study: Water Bill Problem.

More Problem Solving.

Case Study: Water Bill with Conservation Requirements.

Nested if Statements and Multiple-Alternative Decisions.

The switch Statement.

Common Programming Errors.



5. Repetition and Loop Statements.

Repetition in Programs.

Counting Loops and the while Statement.

Computing a Sum or Product in a Loop.

Conditional Loops.

Loop Design.

Nested Loops.

The do-while Statement and Flag-Controlled Loops.

Problem Solving Illustrated.

Case Study: Collecting Area for Solar-Heated House.

How to Debug and Test Programs.

Common Programming Errors.



6. Modular Programming.

Functions with Simple Output Parameters.

Multiple Calls to a Function with Input/Output Parameters.

Scope of Names.

Formal Output Parameters as Actual Arguments.

A Program with Multiple Functions.

Case Study: Arithmetic with Common Fractions.

Debugging and Testing a Program System.

Common Programming Errors.



7. Simple Data Types.

Representation and Conversion of Numeric Types.

Representation and Conversion of type char.

Enumerated Types.

Iterative Approximations.

Case Study: Bisection Method for Finding Roots.

Common Programming Errors.



8. Arrays.

Declaring and Referencing Arrays.

Array Subscripts.

Using for Loops for Sequential Access.

Using Array Elements as Function Arguments.

Array Arguments.

Searching and Sorting an Array.

Multidimensional Arrays.

Array Processing Illustrated.

Case Study: Analysis of Sales Data.

Common Programming Errors.



9. Strings.

String Basics.

String Library Functions: Assignment and Substrings.

Longer Strings: Concatenation and Whole-Line Input.

String Comparison.

Arrays of Pointers.

Character Operations.

String-to-Number and Number-to-String Conversions.

String Processing Illustrated.

Case Study: Text Editor.

Common Programming Errors.



10. Recursion.

The Nature of Recursion.

Tracing a Recursive Function.

Recursive Mathematical Functions.

Recursive Functions with Array and String Parameters.

Case Study: Finding Capital Letters in a String.

Case Study: Recursive Selection Sort.

Problem Solving with Recursion.

Case Study: Operations on Sets.

A Classic Case Study in Recursion: Towers of Hanoi.

Common Programming Errors.



11. Structure and Union Types.

User-Defined Structure Types.

Structure Type Data as Input and Output Parameters.

Functions Whose Result Values are Structures.

Problem Solving with Structure Types.

Case Study: A User-Defined Type for Complex Numbers.

Parallel Arrays and Arrays of Structures.

Case Study: Universal Measurement Conversion.

Union Types (Optional).

Common Programming Errors.



12. Text and Binary File Processing.

Input/Output Files: Review and Further Study.

Binary Files.

Searching a Database.

Case Study: Database Inquiry.

Common Programming Errors.



13. Programming in the Large.

Using Abstraction to Manage Complexity.

Personal Libraries: Header Files.

Personal Libraries: Implementation Files.

Storage Classes.

Modifying Functions for Inclusion in a Library.

Conditional Compilation.

Arguments to Function main.

Defining Macros with Parameters.

Common Programming Errors.



14. Dynamic Data Structures.

Pointers.

Dynamic Memory Allocation.

Linked Lists.

Linked List Operators.

Representing a Stack with a Linked List.

Representing a Queue with a Linked List.

Ordered Lists.

Case Study: Maintaining an Ordered List of Integers.

Binary Trees.

Common Programming Errors.



15. On to C++.

C++ Control Structures, Input/Output, and Functions.

C++ Support for Object-Oriented Programming.



Appendixes.

A. Character Sets.

B. ANSI C Standard Libraries.

C Operators.

D. Pointer Arithmetic.

E. ANSI C Reserved Words.



Answers.


Index.


Glossary.

  • 9780321535429
    Problem Solving and Program Design in C, 6/E
    Hanly & Koffman
    ©2010 | Addison-Wesley | Paper; 936 pp | Instock
    ISBN-10: 0321535421 | ISBN-13: 9780321535429
    Brief Description

Stand-alone Access Code Tutor Center
Addison-Wesley
©2008 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0201721708 | ISBN-13: 9780201721706


Instructor's Manual with Solutions, 4/E
Hanly & Koffman
©2004 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321362411 | ISBN-13: 9780321362414
    View Downloadable Files

PowerPoints, 4/E
Hanly & Koffman
©2004 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321224159 | ISBN-13: 9780321224156
    View Downloadable Files

Source Code, 4/E
Hanly & Koffman
©2004 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321362403 | ISBN-13: 9780321362407
    View Downloadable Files

Test Bank, 4/E
Hanly & Koffman
©2004 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 032136063X | ISBN-13: 9780321360632
    View Downloadable Files

CS Support-Student Support Material
Addison-Wesley
©2008 | Addison-Wesley | On-line Supplement | Instock
ISBN-10: 0321446852 | ISBN-13: 9780321446855


Stand-alone Access Code Tutor Center
Addison-Wesley
©2008 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0201721708 | ISBN-13: 9780201721706


Stand-alone Access Code Tutor Center
Addison-Wesley
©2008 | Addison-Wesley | Access Code Card | Instock
ISBN-10: 0201721708 | ISBN-13: 9780201721706


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 contact your Pearson Higher Education representative.