Download presentation

Presentation is loading. Please wait.

Published byMiranda Millison Modified over 2 years ago

1
An Introduction to Programming with C++ Fifth Edition Chapter 2 Beginning the Problem-Solving Process

2
An Introduction to Programming with C++, Fifth Edition2 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

3
An Introduction to Programming with C++, Fifth Edition3 Concept Lesson Problem Solving Solving Everyday Problems Creating Computer Solutions to Problems Analyzing the Problem Planning the Algorithm Desk-Checking the Algorithm The Gas Mileage Problem Summary

4
An Introduction to Programming with C++, Fifth Edition4 Problem Solving In this lesson, you will: –Explore the thought process followed when solving problems –Learn how to use a similar process to create a computer solution to a problem Called a computer program

5
An Introduction to Programming with C++, Fifth Edition5 Solving Everyday Problems First step in solving a problem: analyze it –E.g., problem of being hungry Next, you plan, review, implement, evaluate, and modify (if necessary) the solution –E.g., if you are still hungry

6
Solving Everyday Problems (continued) An Introduction to Programming with C++, Fifth Edition6

7
7 Solving Everyday Problems (continued)

8
An Introduction to Programming with C++, Fifth Edition8 Creating Computer Solutions to Problems Analysis tools: IPO charts, pseudocode, flowcharts To desk-check or hand-trace, use pencil, paper, and sample data to walk through algorithm A coded algorithm is called a program

9
Creating Computer Solutions to Problems (continued) An Introduction to Programming with C++, Fifth Edition9

10
10 Analyzing the Problem Analyze a problem to: –Determine the goal of solving it Output –Determine the items needed to achieve that goal Input Always search first for the output

11
Analyzing the Problem (continued) An Introduction to Programming with C++, Fifth Edition11

12
An Introduction to Programming with C++, Fifth Edition12 IPO Charts Use an IPO chart to organize and summarize the results of a problem analysis –IPO: Input, Processing, and Output

13
IPO Charts (continued) An Introduction to Programming with C++, Fifth Edition13

14
IPO Charts (continued) An Introduction to Programming with C++, Fifth Edition14

15
An Introduction to Programming with C++, Fifth Edition15 Analyzing the Problem (continued) First, reduce the amount of information you need to consider in your analysis:

16
Analyzing the Problem (continued) Worse than having too much information is not having enough information to solve problem: An Introduction to Programming with C++, Fifth Edition16

17
An Introduction to Programming with C++, Fifth Edition17 Analyzing the Problem (continued) Distinguish between information that is missing and information that is implied:

18
An Introduction to Programming with C++, Fifth Edition18 Planning the Algorithm Algorithm: set of instructions that will transform the problem’s input into its output –Record it in the Processing column of the IPO chart Processing item: intermediate value used by algorithm when processing input into output Pseudocode is a tool programmers use to help them plan an algorithm –Short English statements

19
An Introduction to Programming with C++, Fifth Edition19 Planning the Algorithm (continued)

20
An Introduction to Programming with C++, Fifth Edition20 Planning the Algorithm (continued) Flowcharts are also used to plan an algorithm –Use standardized symbols –Symbols connected with flowlines –Oval: start/stop symbol –Rectangle: process symbol Represents tasks such as calculations –Parallelogram: input/output symbol Represents I/O tasks

21
An Introduction to Programming with C++, Fifth Edition21 Planning the Algorithm (continued)

22
An Introduction to Programming with C++, Fifth Edition22 Planning the Algorithm (continued) A problem can have more than one solution:

23
An Introduction to Programming with C++, Fifth Edition23 Hints for Writing Algorithms This problem specification is almost identical to the one shown earlier in Figure 2-4

24
An Introduction to Programming with C++, Fifth Edition24 Hints for Writing Algorithms (continued) You may use a portion of a previous solution to solve current problem

25
An Introduction to Programming with C++, Fifth Edition25 Desk-Checking the Algorithm

26
An Introduction to Programming with C++, Fifth Edition26 Desk-Checking the Algorithm (continued)

27
An Introduction to Programming with C++, Fifth Edition27 Desk-Checking the Algorithm (continued) Valid data is data that the programmer is expecting the user to enter Invalid data is data that he or she is not expecting the user to enter You should test an algorithm with invalid data –Users may make mistakes when entering data

28
An Introduction to Programming with C++, Fifth Edition28 The Gas Mileage Problem

29
An Introduction to Programming with C++, Fifth Edition29 The Gas Mileage Problem (continued) After planning the algorithm, you desk-check it:

30
An Introduction to Programming with C++, Fifth Edition30 Summary Problem-solving typically involves analyzing the problem, and then planning, reviewing, implementing, evaluating, and modifying (if necessary) the solution Programmers use tools (IPO charts, pseudocode, flowcharts) to help them analyze problems and develop algorithms –During analysis, you determine the output and input –During planning, you write the steps that will transform the input into the output

31
An Introduction to Programming with C++, Fifth Edition31 Summary (continued) After the analysis and planning, you desk-check the algorithm –Follow each of the steps in algorithm by hand Coding refers to translating the algorithm into a language that the computer can understand Before writing an algorithm, consider whether you have already solved a similar problem

32
An Introduction to Programming with C++, Fifth Edition32 Application Lesson: Using the First Steps in the Problem-Solving Process Lab 2.1: Stop and Analyze Lab 2.2: –Create a program that the salesclerks can use to calculate and display the required number of rolls Lab 2.3: –The program must now display the number of single and double rolls of wallpaper Lab 2.4: Desk-Check Lab Lab 2.5: Debugging Lab

Similar presentations

© 2017 SlidePlayer.com Inc.

All rights reserved.

Ads by Google