290 likes | 309 Views
Learn the problem-solving process in programming with C++. Understand how to analyze a problem, create IPO charts, plan algorithms using pseudocode and flowcharts, and implement desk-checking techniques.
E N D
Chapter 2:Beginning the Problem-Solving Process 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
Problem Solving/Solving Everyday Problems • Steps include: • Analysis • Planning • Review • Implementation • Evaluation • Modification Introduction to Programming with C++, Fourth Edition
Analysis and Planning Introduction to Programming with C++, Fourth Edition
Modified Algorithm Introduction to Programming with C++, Fourth Edition
Creating Computer Solutions to Problems Introduction to Programming with C++, Fourth Edition
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
Analyzing the Problem (continued) Introduction to Programming with C++, Fourth Edition
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
IPO Chart with Input and Output Introduction to Programming with C++, Fourth Edition
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
Problem Specification Introduction to Programming with C++, Fourth Edition
Problem Specification Lacking Information Introduction to Programming with C++, Fourth Edition
Problem Specification with Input not Stated Introduction to Programming with C++, Fourth Edition
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
Completed IPO Chart Introduction to Programming with C++, Fourth Edition
IPO Chart with Flow Chart Introduction to Programming with C++, Fourth Edition
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
Solving Sarah’s Problem Introduction to Programming with C++, Fourth Edition
IPO Chart for Problem Specification Introduction to Programming with C++, Fourth Edition
Hints for Planning Algorithms Introduction to Programming with C++, Fourth Edition
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
Desk-Check Table with New Weekly Pay Introduction to Programming with C++, Fourth Edition
Results of Second Desk-Check Introduction to Programming with C++, Fourth Edition
The Gas Mileage Problem Introduction to Programming with C++, Fourth Edition
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
IPO Chart Introduction to Programming with C++, Fourth Edition
Completed Desk-Check Table Introduction to Programming with C++, Fourth Edition
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