0% found this document useful (0 votes)
18 views

Class2 Notes

This document discusses the problem-solving process for developing computer programs. It covers analyzing problems, creating input-process-output charts, planning algorithms with pseudocode and flowcharts, and desk-checking algorithms by walking through them step-by-step. The goal is to help students understand how to solve problems by determining the required inputs and outputs and developing step-by-step instructions to transform the inputs into outputs.

Uploaded by

Justin Ramon
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Class2 Notes

This document discusses the problem-solving process for developing computer programs. It covers analyzing problems, creating input-process-output charts, planning algorithms with pseudocode and flowcharts, and desk-checking algorithms by walking through them step-by-step. The goal is to help students understand how to solve problems by determining the required inputs and outputs and developing step-by-step instructions to transform the inputs into outputs.

Uploaded by

Justin Ramon
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

CIS 3100

Programming with C++


Professor ENNOURE

Beginning the Problem-Solving Process


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

2
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

3
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

4
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

5
Solving Everyday Problems
(continued)

6
Solving Everyday Problems
(continued)

7
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

8
Creating Computer Solutions to
Problems (continued)

9
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

10
Analyzing the Problem (continued)

11
IPO Charts

• Use an IPO chart to organize and summarize the


results of a problem analysis
– IPO: Input, Processing, and Output

12
IPO Charts (continued)

An Introduction to Programming with C++, Fifth Edition 13


IPO Charts (continued)

14
Analyzing the Problem (continued)

• First, reduce the amount of information you need to


consider in your analysis:

15
Analyzing the Problem (continued)

• Worse than having too much information is not


having enough information to solve problem:

16
Analyzing the Problem (continued)

• Distinguish between information that is missing and


information that is implied:

17
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

18
Planning the Algorithm (continued)

19
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

20
Planning the Algorithm (continued)

21
Planning the Algorithm (continued)

• A problem can have more than one solution:

22
Hints for Writing Algorithms

This problem specification is almost identical to the one shown


earlier in Figure 2-4

23
Hints for Writing Algorithms
(continued)
You may use a portion of a previous solution to solve current problem

24
Desk-Checking the Algorithm

25
Desk-Checking the Algorithm
(continued)

26
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

27
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

28
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

29

You might also like