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.