Transcript Flowchart

CS 240
COMPUTER
PROGRAMMING 1
1
Flowcharts
ALGORITHM
An informal definition of an algorithm is:
a step-by-step method for solving a problem or doing a
task.
2
ALGORITHM
A step-by-step problem-solving procedure
An algorithm is a sequence of unambiguous
instructions for solving a problem.
The number of steps of an algorithm will be countable and
finite.
It is a sequence of instructions (or set of instructions) to
make a program more readable; a process used to answer a
question.
3
HOW TO UNDERSTAND THE PROBLEM?
Define the problem
Analyze the problem
Develop an algorithm/method of solution
Write a computer program corresponding to
the algorithm
Test and debug the program
Document the program (how it works and how
to use it)
4
TOOLS
There are two commonly used tools to help to
document program logic (the algorithm)
Flowcharts
Pseudo code
5
FLOWCHART
Definitio
n
The production flowchart is a visual representation
of the sequence of the program. It shows what
comes first, second, third, etc
A flowchart
indicates:
The steps to be taken in order to solve a problem.
The order or the sequence of these steps.
6
FLOWCHART RULES
1. Use only one start and one stop per flowchart, --that is, one
way in and one way out of the flowchart.
2. The logic flow of the solution is displayed from top to
bottom and from left to right.
3. Use the appropriate symbol for each type of operation.
4. Use arrows when moving to another part of the
flowchart rather than lines.
5. Do not leave dead-ends--that is, a part of a question
unanswered.
7
SYMBOLS
Symbol
Description
TERMINAL - To start or end a flowchart
INPUT / OUTPUT - Used with Read, Input, Print and other I/O
commands.
PROCESSING - Used for operations done inside the computer. Such
as calculations, storing and moving of data.
DECISION - Used to ask a question in programming. Questions are
Yes/No format (Used with the If Statement).
DIRECTION FLOW - Used to connect symbols and to represent the
direction of flow. Lines should not cross each other. Arrowheads
should be placed at the end close to the symbol.
8
Connector - or joining of two parts of program
1.SIMPLE SEQUENTIAL FLOWCHART
Example
1
Construct a flow chart that prints
"Hello, World"?
9
1.SIMPLE SEQUENTIAL FLOWCHART
Algorithm
Step 1- Start
Step 2- Print "Hello,
World"
Step 3- Stop
10
1.SIMPLE SEQUENTIAL FLOWCHART
Flowchart
Start
Print
“Hello, World”
Stop
11
1.SIMPLE SEQUENTIAL FLOWCHART
Example
2
Construct a flow chart that finds
the sum of two numbers.
12
1.SIMPLE SEQUENTIAL FLOWCHART
Variables
Algorithm
A: First Number
Step 1- Start
B: Second
Number
Step 2- Read
A
C: Sum (A+B)
Step 3- Read B
Step 4- Calculate C =
A+B
Step 5- Print C
Step 6- Stop
13
1.SIMPLE SEQUENTIAL FLOWCHART
Flowchart
Start
Read A
Read B
C= A+B
Print C
14
Stop
1.SIMPLE SEQUENTIAL FLOWCHART
Example
3
Construct a flow chart that finds
the sum, average and product of
three numbers.
15
1.SIMPLE SEQUENTIAL FLOWCHART
Variables
X: First Number
Y: Second
Number
Z: Third Number
S: Sum (X+Y+Z)
A: Average (S/3)
P: Product
(X*Y*Z)
Algorithm
Step 1Start
Step 2- Read X, Y, Z
Step 3- Calculate S = X+Y+Z
Step 4- Calculate A = S/3
Step 5- Calculate P = X*Y*Z
Step 6- Print S, A, P
Step 7- Stop
16
1.SIMPLE SEQUENTIAL FLOWCHART
Flowchart
Start
Read X,Y,Z
S= X+Y+Z
A=S/3
P=X*Y*Z
Print
S,A,P
Stop
17
1.SIMPLE SEQUENTIAL FLOWCHART
Example
4
Construct a flow chart that finds
the difference and the division of
two numbers and display the
result
18
1.SIMPLE SEQUENTIAL FLOWCHART
Variables
N1 : First Number
N2 : Second
Number
D: Difference
V: Division
Algorithm
Step 1Start
Step 2- Read N1, N2
Step 3- Calculate D = N1-N2
Step 4- Calculate V =
N1/N2
Step 5- Print D,V
Step 6- Stop
19
1.SIMPLE SEQUENTIAL FLOWCHART
Flowchart
Start
Read N1, N2
D= N1 –N2
V=N1/N2
Print D,V
Stop
20
1.SIMPLE SEQUENTIAL FLOWCHART
Example
5
Exercise
Construct a flow chart that finds
the circle area and circumference
of a circle where R (radius) is
given
21
1.SIMPLE SEQUENTIAL FLOWCHART
Variables
R : Radius
PI: PI = 3.14
A: Area
C: Circumference
Algorithm
Step 1Start
Step 2- Read
R
Step 3- Calculate A = PI*(R)2
Step 4- Calculate C =
2*PI*R
Step 5- Print R, A, C
Step 6- Stop
22
2. BRANCHED FLOWCHARTS
Example
1
Construct a flow chart for the
following function
F(x) = {
X
-X
X>=0
X<0
23
2. BRANCHED FLOWCHARTS
Variables
X : Number
F: function of X
Algorithm
Step 1Start
Step 2- Read X
Step 3- if X >=0 then F =X
Step 4- if X <0 then F =-X
Step 5- Print F
Step 6- Stop
24
2. BRANCHED FLOWCHARTS
Start
Flowchart
Read X
NO
X>=0
YES
F=X
F=-X
Print F
Stop
25
2. BRANCHED FLOWCHARTS
Example
2
Trace the following flowchart and
write the output of it.
1. When X = 20
2. When X = -10
26
2. BRANCHED FLOWCHARTS
Start
Flowchart
Read X
0>
W=2*X-1
>0
X?
=0
W=X+1
W=SIN(X)+5
Print X,W
27
Stop
2. BRANCHED FLOWCHARTS
Result
When X=20
When X=-10
X= 20
W= 21
X= -10
W= -21
28
2. BRANCHED FLOWCHARTS
Example
3
Exercise
Draw a flowchart that shows the
traffic light processing
29
2. BRANCHED FLOWCHARTS
Variables
C : Traffic light color
Algorithm
Step 1Start
Step 2- Read
C
Step 3- make a Decision (what is c)
Step 4- if C is RED then Print
STOP
Step 5- if C is YELLOW then Print
WAIT
Step 6- if C is GREEN then Print
PASS
Step 7- Stop
30
3. LOOP FLOWCHARTS
Example
1
Trace the following flowchart and
write the output of it.
31
3. LOOP FLOWCHARTS
Flowchart
Start
N=1
Print N
F
While
N<=7
T
N=N+3
Stop
32
3. LOOP FLOWCHARTS
Result
N
Loop
1
1
4
2
7
3
33
3. LOOP FLOWCHARTS
Example
2
Trace the following flowchart and
write the output of it.
34
3. LOOP FLOWCHARTS
Flowchart
Start
i=0
Sum=0
While
i<10
T
F
avg=Sum/10
Read X
Print avg
Sum= X + Sum
Increment i
Stop
35
3. LOOP FLOWCHARTS
Result
Loop
Read X
Sum
i
1
2
3
3
4
1
3
7
8
1
2
3
4
10
18
4
5
7
25
5
6
5
30
6
7
3
33
7
8
8
41
8
9
10
4
5
45
50
9
10
Avg =50/10 =5
36