0% found this document useful (0 votes)
27 views35 pages

Module 4 - Input Process Output

Uploaded by

indominus12rex
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
0% found this document useful (0 votes)
27 views35 pages

Module 4 - Input Process Output

Uploaded by

indominus12rex
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1/ 35

Computer Programming

CPro1

Chapter 2
Beginning the Problem-Solving
Process
2

Week 1 Summary
• Programs: step-by-step instructions that tell a computer
how to perform a task

• Programmers use programming languages to


communicate with the computer
▫ First programming languages were machine languages

▫ High-level languages can be used to create procedure-oriented


programs or object-oriented programs

• Algorithm: step-by-step instructions that accomplish a task


(not written in a programming language)
▫ Algorithms contain one or more of the following control
structures: sequence, selection, and repetition
3

Week 1 Summary
• 3 main elements of programming

▫ Sequence structure: process the instructions,


one after another, in the order listed

▫ Repetition structure: repeat one or more


instructions until some condition is met

▫ Selection structure: directs the computer to


make a decision, and then to select an
appropriate action based on that decision
4

Week 2 Objectives
• Explain the problem-solving process used to
create a computer program

• Analyze a problem

• Complete an Input-Process-Output (IPO)


chart (not Initial Public Offering)

• Plan an algorithm using pseudocode and


flowcharts

• Desk-check (pen and paper check) an


algorithm
5

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
6

Problem Solving
• In this lecture, we will:

▫ Explore the thought process followed when solving


problems. All of us have a different way of solving
things, take for example a simple 8 x 9 problem.
 Some of us will memorize it.

 Some of use will solve it by 8 x 10  80 – 8  72

 Some of use will do 8 x 5 + 8 x 4 (‘coz we can’t


remember our multiplication tables).

 Some of us will go through those “songs” for


multiplication tables during our primary school days.
7

Problem Solving
• In this lecture, we will:

▫ Learn how to use a similar process to create a


computer solution to a problem
 Called a computer program.

 Each of us will have a different approach, so


sometimes programming is called an Art as some
believe it isn’t a science!

 We start with analyzing the problem, finding a


solution and then only creating the program.
8

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


9

Solving Everyday Problems


(1st attempt)
10

Solving Everyday Problems


(modification)
11

Creating Computer Solutions to


Problems
• Analysis tools: IPO charts,
pseudocode/algorithm, flowcharts

• To desk-check or hand-trace, use


pencil, paper, and sample data to walk
through algorithm

• A coded algorithm is called a program


12

Creating Computer Solutions to


Problems (continued)
13

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

▫ Meaning, what does the customer want, or what


are the answers to your problem. That’s the most
important part.
14

Analyzing the Problem


• Always search first for the output
(continue)

▫ From knowing what you want for the


answer, you can then determine what are
the questions you need to ask (input)

▫ And how you are going to use (process) the


input to obtain the output.
15

Analyzing the Problem


(continued)
• Consider you have the following simple requirements
about what Sarah Martin wants.
16

IPO Charts
• Use an IPO chart to organize and
summarize the results of a problem
analysis

▫ IPO: Input, Processing, and Output


17

Analyzing the Problem


(continued)
• Reduce the amount of information you
need to consider in your analysis:
18

IPO Charts (continued)


• First, the output …
19

IPO Charts (continued)


• Then the input …
20

IPO Charts  Problem


Analyzing
• Then you work out the processing
required.
21

Analyzing the Problem


(continued)
• But as mentioned, most requirements are
incomplete!

• Worse than having too much information is not


having enough information to solve problem:
22

Analyzing the Problem


(continued)
• Distinguish between information that is
missing and information that is implied:
23

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
24

Planning the Algorithm (Con’t)


• Pseudocode is a tool programmers use to
help them plan an algorithm

▫ Short English statements

▫ Indentation is important (as mentioned last


week).
25

Planning the Algorithm


(continued)
26

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
▫ Diamond: selection symbol

27

Planning the Algorithm


(continued)
28

Planning the Algorithm


(continued)
• A problem can have more than one
solution:
29

Hints for Writing Algorithms

This problem specification is almost identical to the one shown


earlier in Figure 2-4
30

Hints for Writing Algorithms


You may use a portion of a previous solution to solve current problem
31

Desk-Checking the Algorithm


32

Desk-Checking the Algorithm


(con’t)
33

Desk-Checking the Algorithm


(con’t)
• 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 (in reality, you MUST) test an algorithm with


invalid data

▫ Users may make mistakes when entering data

▫ A good programmer can foresee what type of mistakes


users make.
34

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
35

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

You might also like