Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Module 4 - Input Process Output

Uploaded by

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

Module 4 - Input Process Output

Uploaded by

indominus12rex
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
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