0% found this document useful (0 votes)
27 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
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
27 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
We take content rights seriously. If you suspect this is your content, claim it here.
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