Announcement

advertisement
Flow chart and Algorithm
Announcement

Exam One
–
–
–

Wednesday October 1st
100 points
Mixture of short answer, problem solving, matching,
and maybe a multiple choice question
Monday class will be held as a review session.
Exam Next Wednesday









History of Computers
Hardware – inside and outside
Software – Microsoft Word, Excel
Spread sheet and data
Operating Systems and Computer Security
Pirates of Silicon Valley
Writing Lab Reports
Binary Mathematics
Flowcharts and Algorithms
Today’s Topics



Algorithms
Flowcharts
Pseudo code
Problem Solving

For the rest of the semester, we will practice
problem-solving. If you learn nothing else from
this class, I would like you to learn to take a
good approach to problem solving
Algorithms




To solve a problem, you got to figure out how to solve it
by yourself.
To make a computer solve a problem, you need to you
have to tell the computer, step by step, exactly what
you want it to do.
The computer then "executes" the program, following
each step mechanically, to accomplish the end goal.
Algorithm: Sequence of step-by-step instructions that
will produce a solution to a problem
Four algorithms

The taxi algorithm:
–
–
–

–
When your plane arrives,
call my cell phone.
Meet me outside baggage
claim.
The rent-a-car algorithm:
–
Go to the taxi stand.
Get in a taxi.
Give the driver my
address.
The call-me algorithm:
–

–
–

Take the shuttle to the rental
car place.
Rent a car.
Follow the directions to get to
my house.
The bus algorithm:
–
–
–
–
Outside baggage claim,
catch bus number 70.
Transfer to bus 14 on Main
Street.
Get off on Grand River Ave.
Walk two blocks north to my
house.
Problem to Solve

What steps would you propose to solve the
following problem?
–
–
You are dirty and want to clean up
Solution: Take a shower

What are the steps?
Example of Algorithm
Take a Shower Algorithm
Problem:
You are dirty


Solution:
Take a shower



How:
Take a Shower
Algorithm




Take clothes off
Turn on water
Step into shower
Wash face
Wash body
Shampoo hair
Turn water off
Dry off
Get dressed
Sequence of Steps

Fairly regular order of events
–
–



must take clothes off first
cannot dry off before washing
Cannot skip steps to complete job
Result oriented
Termination of algorithm after result
Algorithm Example

Define the algorithm for mailing a letter, from
obtaining the envelope to placing it in the
mailbox
Mailing a Letter








Obtain Envelope
If letter is too big, fold letter
Place letter in envelope
Address Envelope
Seal envelope
Obtain stamp
Affix stamp
Place in mailbox
Flowcharts



Flowcharts are graphical and verbal
illustrations of algorithms
Flowcharts are useful in describing any stepby-step procedure
Flowcharts make it easier to create
programming code
Flowchart Elements
Specific shapes
have specific
roles in a
flowchart ...
begin
start, end
read x
input
print y
output
x=y*x
if x > 0
T
computation
F
comparison
or decision
Do
Assignment
#5
Pre-defined
process, usually
complex
Flowcharts
start
Is letter
bigger than
envelope?
obtain
envelope
yes
fold letter
no
obtain
stamp
affix
stamp
seal
envelope
place in
mailbox
address
envelope
raise
flag
insert into
envelope
end
Flowchart Checklist





All major elements of the algorithm are
indicated.
The elements are clearly labeled.
Sequence of elements is clear and there are
no gaps or dead ends.
Sequence of elements is logical from user's
point of view.
Flowchart symbols are used correctly.
Decimal number to binary number:
Decimal number to binary number
Start
Get a
number
Divide the
Number
By 2
No
End
Print 1
To the left of
Previous remains
Print
The Remain
to the left of
previous remains
Is the quotient
Equal to 1?
Yes
Pseudo code



Flow chart in a text form.
More like a computer program, but with human
language.
Can be easily translated into computer
languages.
Elements of pseudo code


IF condition is true THEN
Process step (1)
ELSE
Process step (2)
GOTO
–
Unconditional jump
If condition
Is true
Process
Step (1)
Process
Step (2)
Example: Binary2Decimal
1.
2.
Get a number
IF the number is equal to 1 or 0
Print the number; END
3.
4.
Divide the number by 2
IF quotient is 1 THEN
Print 1 to the left of the previous remains
5.
ELSE
Print the remain to the left of previous remains. GOTO 3
6.
END
Binary-ASCII conversion




Each letter is represented by an 8-bit binary
number, called ASCII (American Standard
Code for Information Interchange. )
Binary to Base Ten
Base Ten to ASCII
Details?
Steps in Binary-ASCII








Input number
Break number up into eight bits
Compute base two values for each bit
Sum base two values to get base ten value
Using base ten number, look in ASCII chart
Output ASCII character
Is there another number?
Repeat procedure
Pre-lab Assignment


Using the steps of the Binary-ASCII
conversion, create a flowchart, using the
proper shapes, arrows, etc.
In Friday’s Lab we will use Powerpoint to
create flow chart.
Download