Transcript Slide 1
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 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