Chapter 2 Beginning the ProblemSolving Process Introduction to
Chapter 2: Beginning the Problem-Solving Process Introduction to Programming with C++ Fourth Edition Introduction to Programming with C++, Fourth Edition
Objectives • Explain the problem-solving process used to create a computer program • Analyze a problem • Complete an IPO chart • Plan an algorithm using pseudocode and flowcharts • Desk-check an algorithm Introduction to Programming with C++, Fourth Edition 2
Problem Solving/Solving Everyday Problems • Steps include: – Analysis – Planning – Review – Implementation – Evaluation – Modification Introduction to Programming with C++, Fourth Edition 3
Analysis and Planning Introduction to Programming with C++, Fourth Edition 4
Modified Algorithm Introduction to Programming with C++, Fourth Edition 5
Creating Computer Solutions to Problems Introduction to Programming with C++, Fourth Edition 6
Analyzing the Problem • Purpose of analyzing the problem: – to determine the goal – to determine the items needed to achieve the goal Introduction to Programming with C++, Fourth Edition 7
Analyzing the Problem (continued) Introduction to Programming with C++, Fourth Edition 8
IPO (Input, Processing, Output) Charts • Used by programmers to organize and summarize the results of a problem analysis • To determine input: – Search the problem specification for an answer to the following question: What information will the computer need to know to print, display, or store the output items? Introduction to Programming with C++, Fourth Edition 9
IPO Chart with Input and Output Introduction to Programming with C++, Fourth Edition 10
Determining Important Information • If you are not sure if a piece of information is important, ask yourself this question: If I didn’t know this information, could I still solve the problem? • When reading a problem specification, it helps to use a pencil to lightly cross out unnecessary information Introduction to Programming with C++, Fourth Edition 11
Problem Specification Introduction to Programming with C++, Fourth Edition 12
Problem Specification Lacking Information Introduction to Programming with C++, Fourth Edition 13
Problem Specification with Input not Stated Introduction to Programming with C++, Fourth Edition 14
Planning the Algorithm • Processing item - an intermediate value that the algorithm uses when processing the input into the output • Pseudocode - a tool programmers use to help them plan an algorithm • Flowchart - uses standardized symbols to show the steps the computer needs to take to accomplish the program’s goal Introduction to Programming with C++, Fourth Edition 15
Completed IPO Chart Introduction to Programming with C++, Fourth Edition 16
IPO Chart with Flow Chart Introduction to Programming with C++, Fourth Edition 17
Flowchart Symbols • Flowlines - used to connect symbols • Start/stop symbol (oval) – indicates beginning of flowchart • Process symbols (rectangles) – used to represent tasks such as calculations • Input/output symbol (parallelogram) - used to represent input tasks Introduction to Programming with C++, Fourth Edition 18
Solving Sarah’s Problem Introduction to Programming with C++, Fourth Edition 19
IPO Chart for Problem Specification Introduction to Programming with C++, Fourth Edition 20
Hints for Planning Algorithms Introduction to Programming with C++, Fourth Edition 21
Desk-Checking the Algorithm • Reasons for desk-checking: – To verify that the program is not missing any steps – To verify that the existing steps are correct and in the proper order Introduction to Programming with C++, Fourth Edition 22
Desk-Check Table with New Weekly Pay Introduction to Programming with C++, Fourth Edition 23
Results of Second Desk-Check Introduction to Programming with C++, Fourth Edition 24
The Gas Mileage Problem Introduction to Programming with C++, Fourth Edition 25
The Gas Mileage Problem (continued) • Analyze the problem looking for nouns and adjectives that represent both input and output • Output should answer the following question: What does the user want to see printed on paper, displayed on the screen, or stored in a file? • Input should answer the following question: What information will the computer need to know to print, display, or store the output items? Introduction to Programming with C++, Fourth Edition 26
IPO Chart Introduction to Programming with C++, Fourth Edition 27
Completed Desk-Check Table Introduction to Programming with C++, Fourth Edition 28
Summary • Explain the problem-solving process used to create a computer program • Complete an IPO chart • Use algorithms (pseudocode) and flowcharts • Use desk-checking techniques Introduction to Programming with C++, Fourth Edition 29
- Slides: 29