flowchart powerpoint
Download
Report
Transcript flowchart powerpoint
Flowchart
The art of drawing a road map
Symbols
Oval (“racetrack”)
Start or Stop (Terminator)
Start
Calculate Avg
Rectangle
Process (calculation, value assignment, etc)
Perform Tax
Calculation
Rectangle with double vertical sides
A predefined process
Allows you to represent something complicated at an early stage and basically show that “it goes here” in your
flow of activity
Get
TempCent
Rhomboid (slanted rectangle)
Input / output (data)
Diamond
Decision
Arrows indicate direction or “flow” of activity
Small circle (possibly with letter inside)
“on page” continuation
Home Plate
A
“off page” continuation
AvgGrades
Age>
21?
Flowchart
Demonstrates a sequence of activities and decisions
Can be used as a roadmap in writing code
Certain shapes identify code “structures”
Decision structures
A condition which evaluates to True or False
Asks a question which “directs” the continued flow of activity
Repetition structures (loops)
A return to a prior point in the flowchart
NOTE: this return is based on a condition being either true or false
While the shape asking the question is a diamond and could be an “IF”
statement, the fact that one of the branches from the diamond returns
to a prior point indicates that the conditional question asked is part of
a LOOP and not an IF
Flowchart
Forces us to think about what we do
We need to identify each discrete action (process) or question (decision) in order to solve
the problem
Flowcharts can identify that we “missed” something
We have a process which calculates “GROSSPAY”, and know that GROSSPAY requires
“Hoursworked” and “HourlyPay” as input, but we notice that prior to the calculation, we
never bothered to get HoursWorked (missing input)
We’ve calculated a result “NETPAY”, however never display it to the user (output of our
solution)
Flowcharts can identify a sequencing error
We display a result prior to calculating it
We can think about things more abstractly
Calculate Grosspay
If we know someone worked 10 hours at $15/hour the calculation is 10 x 15
NOT abstract enough… it only works for that single case
Work backwards. What does the 10 represent? [ Hoursworked]
Use THAT name to represent any value given
ATM Password Validation
The user gets 3 attempts to
provide the valid password
If valid
Go to the process transaction “offpage” routine
If it’s the 3rd failed attempt
Stop!
Decision
“Valid” diamond
Repetition
3rd attempt question is part of
the LOOP, and not simply an IF
How you can identify the
difference between which structure
to code (IF vs. LOOP)
IF statement / variations
IF
IF .. ELSEIF… ENDIF
blnPass=False
If Avg >=90 then
LG = “A”
ElseIf Avg >= 80
LG = “B”
ElseIf Avg >= 70
LG = “C”
Else
LG = “F”
End If
If AvgGrade > 65 then blnPass=TRUE
IF ..ELSE..ENDIF
If AvgGrade > 65 then
blnPass=True
Else
blnPass = False
End If
Filling in symbols
Processes
Use a “verb” or action word
Think of each process as its own little “IPO” (Input-Process-Output)
Do you have all of the required inputs to do the process at that point in time?
If not, maybe you missed a step somewhere
Decisions
True or false
Comparison
Age>21
Counter <= 3
State
Grade exists?
Slow down!
Draw a flowchart finding the average of 3 grades
How would you do it with paper and pencil?
Take the first grade
Add the 2nd to the first grade
Add the 3rd to that
You’re “accumulating” (totaling) the grades
In English… “I’m adding to the grade total”
After grade total is calculated
Calculate the final average by dividing it by the number of grades
(3)
Show the answer
Average of 3 grades
Average of “n” grades
You’ll still do the same process
Except… you don’t now how many grades you have
Count them!!! (GradeCount accumulator)
You’ll keep counting and adding grades until….
No more grades left (condition in your loop decision)
Maybe ask “no more grades?” (true/false answer)
Additional processes are bolded
Altered decision is bold/dashed
Helpful hints
Don’t keep track of totals in your mind
“Store it” somewhere (write it on paper)
Give it a name (something that represents that value)
If you’re comparing something, like the highest grade
It assumes that you’re keeping track of the last highest grade and
comparing the current grade to it
Start off with HighGrade
Assign the lowest possible value to it BEFORE you start to compare the
grades you get
o This way, the very first grade will be higher
If the current grade is higher than the HighGrade, replace HighGrade
Finding the highest grade and average
Assignment
Find the average height (in meters) of the students in your class
and display the result
Also display the tallest and shortest students’ heights in meters
All measurements are in terms of centimeters
Final result to be displayed in meters (divide cm by 100)
1 inch = 2.54 cm
Heights vary between 150 and 200 cm
Unknown number of students
Approaches
Find the average for 5 students
When that works, change it to work for unknown number of students
When that works, add the logic to find the tallest and shortest
students