## Problem-Solving Methodology

The emphasis on engineering and scientific problem solving is an integral part of the text. Chapter 1 introduces a five-step process for solving engineering problems using the computer. This five-step problem-solving process was developed by the author of this text early in her academic career, and it has been successfully used by the many thousands of students who were in her classes or used one of her textbooks. This successful process has also been adopt- ed by a number of other authors.

The five steps are:

1. State the problem clearly.
2. Describe the input and output information.
3. Work a simple example by hand.
4. Develop an algorithm and convert it to a computer program.
5. Test the solution with a variety of data.

To reinforce the development of problem-solving skills, each of these five steps is clear- ly identified each time that 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.

## Four Types of Problems

Learning any new skill requires practice at several different levels of difficulty. Four types of exercises are used throughout the text to develop problem-solving skills. The first set of exer- cises is Practice! problems. These are short-answer questions that relate to the section of the material just presented. Most sections are immediately followed by a set of Practice! problems so that students can determine whether they are ready to continue to the next sec- tion. Complete solutions to all the Practice! problems are included at the end of the text. The Modify! problems are designed to provide hands-on experience with the pro- grams developed in the Problem Solving Applied sections. In these sections, we develop a complete C program using the five-step process. The Modify! problems ask students to run the program with different sets of data to test their understanding of how the program works and of the relationships among the engineering variables. These exercises also ask the students to make simple modifications to the program and then run the program to test their changes. Selected solutions to some of the Modify! problems are included at the end of the text. Each chapter ends with two sets of problems. The Short-Answer problems include true/false problems, multiple choice problems, matching problems, syntax problems, fill-in-the-blank problems, memory snapshot problems, program output problems, and program segment analysis problems. Complete solutions to all the Short-Answer problems are included at the end of the text. The final set of problems in each chapter (except for Chapter 1) are Programming problems. These are new problems that relate to a variety of engineering applications. The level of difficulty ranges from very straightforward to longer project assignments. Each problem requires that the students develop a complete C program or function. Selected solu- tions to the programming problems are included at the end of the text. Complete solutions to the programming problems are available for instructors.