250 likes | 1.47k Views
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
E N D
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
The taxi algorithm: Go to the taxi stand. Get in a taxi. Give the driver my address. The call-me algorithm: When your plane arrives, call my cell phone. Meet me outside baggage claim. The rent-a-car 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. Four algorithms
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 • Take clothes off • Turn on water • Step into shower • Wash face • Wash body • Shampoo hair • Turn water off • Dry off • Get dressed Problem: You are dirty Solution: Take a shower How: Take a Shower Algorithm
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 step-by-step procedure • Flowcharts make it easier to create programming code
Flowchart Elements begin Specific shapes have specific roles in a flowchart ... start, end Do Assignment #5 read x input print y output Pre-defined process, usually complex x = y * x computation if x > 0 comparison or decision F T
Flowcharts Is letter bigger than envelope? yes start obtain envelope fold letter no obtain stamp seal envelope address envelope insert into envelope affix stamp place in mailbox raise flag 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 Print The Remain to the left of previous remains Divide the Number By 2 Start Get a number Is the quotient Equal to 1? No Print 1 To the left of Previous remains Yes End
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 • Get a number • IF the number is equal to 1 or 0 Print the number; END • Divide the number by 2 • IF quotient is 1 THEN Print 1 to the left of the previous remains • ELSE Print the remain to the left of previous remains. GOTO 3 • 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.