1 / 23

Algorithms, Flowchart and Pseudocode

Algorithms, Flowchart and Pseudocode. Original Source : http :// www.ftsm.ukm.my/zma/TK1914/05-Algorithms and Problem Solving.ppt. WHAT IS AN ALGORITHM?. An algorithm is a set of ordered steps for solving a problem. Examples: An algorithm for preparing breakfast.

osanna
Download Presentation

Algorithms, Flowchart and Pseudocode

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algorithms, Flowchart and Pseudocode Original Source : http://www.ftsm.ukm.my/zma/TK1914/05-Algorithms and ProblemSolving.ppt

  2. WHAT IS AN ALGORITHM? • An algorithm is a set of ordered steps for solving a problem. • Examples: • An algorithm for preparing breakfast. • An algorithm for converting Gregorian dates to Islamic dates. • An algorithm for calculating moon phase. • An algorithm for drawing a curve.

  3. Algorithm in Real Life • Consider the following … Problem: Baking a Cake How to solve: • Start • Preheat the oven at 180oC • Prepare a baking pan • Beat butter with sugar • Mix them with flour, eggs and essence vanilla • Pour the dough into the baking pan • Put the pan into the oven • End

  4. ‘Divide and Conquer’ Strategy in Algorithm Problem: Prepare a Breakfast 1. Start 2. Prepare a Breakfast 3. End

  5. ‘Divide and Conquer’ Strategy in Algorithm 1. Start 2. Prepare a Breakfast 2.1 Prepare a tuna sandwich 2.2 Prepare some chips 2.3 Make a cup of coffee 3. End

  6. ‘Divide and Conquer’ Strategy in Algorithm 1. Start 2. Prepare a Breakfast 2.1 Prepare a tuna sandwich 2.1.1 Take 2 slices of bread 2.1.2 Prepare tuna paste 2.2 Prepare some chips 2.3 Make a cup of coffee 3. End

  7. ‘Divide and Conquer’ Strategy in Algorithm 1. Start 2. Prepare a Breakfast 2.1 Prepare a tuna sandwich 2.1.1 Take 2 slices of bread 2.1.2 Prepare tuna paste 2.2 Prepare some chips 2.2.1 Cut potatoes into slices 2.2.2 Fry the potatoes 2.3 Make a cup of coffee 3. End

  8. ‘Divide and Conquer’ Strategy in Algorithm 1. Start 2. Prepare a Breakfast 2.1. Prepare a tuna sandwich 2.1.1 Take 2 slices of bread 2.1.2 Prepare tuna paste 2.2. Prepare some chips 2.2.1 Cut potatoes into slices 2.2.2 Fry the potatoes 2.3. Make a cup of coffee 2.3.1 Boil water 2.3.2 Add water with sugar and coffee 3. End

  9. CLASS ACTIVITY 5.1 • Write a simple algorithm for withdrawing a sum of money at an ATM.

  10. WHY DO WE NEED TO BUILD ALGORITHMS? • If we wish to build a house, we need to design it first. • Can you think of some possible consequences of not designing a house before building it? • Similarly, computer programs (especially large and complex ones) need to be designed before they are written. • Can you think of some possible consequences of not designing a program before building it? • One of the things considered when designing a computer program is the algorithm which it will be based on.

  11. ALGORITHMS IN PROGRAM DESIGN • A computer program is built to solve a certain problem. Examples: 1. A program to calculate the grade obtained given a mark. 2. A program to convert a Gregorian date to an Islamic date. 3. A program to produce a document.

  12. Below are steps (in fact, an algorithm) for building a program to solve a particular problem: • Analyse the problem • Design a computer solution to the problem by developing an algorithm. • Write a computer program based on the algorithm. • Test the program.

  13. HOW TO SPECIFY AN ALGORITHM? • An algorithm must be specific enough so that it can be conveniently translated into a computer program (using C++, for example). • An algorithm can be specified: • Textually For example, using pseudo code (see later) • Graphically For example, using flowcharts or UML activity charts

  14. FLOWCHARTS • A flowchart is a graphical representation of the sequence of operations in a program. • An algorithm can be represented graphically using a flowchart.

  15. Semantic Symbol Start/End Process Input/Output Test Connector Flow of activities Flowchart notations

  16. Algorithm starts here Input data from user Perform the date conversion Display the result Algorithm ends here FLOWCHART: EXAMPLE 1 Start Input Gregorian date Convert Gregorian date to Islamic date Display Islamic date End

  17. Pseudocode • An outline of a program, written in a form that can easily be converted into real programming statements. It resembles the actual program that will be implemented later. However, it cannot be compiled nor executed. • Pseudocode normally codes the following actions: • Initialisation of variables • Assignment of values to the variables • Arithmetic operations • Relational operations

  18. Example of Pseudocode 1. Start 2. Read quantity 3. Read price_per_kg 4. price  quantity * price_per_kg 5. Print price 6. End

  19. CLASS ACTIVITY 5.2 • Draw a flowchart which represents the algorithm built in CA[5.1].

  20. FLOWCHART: EXAMPLE 2 Start • length, width and area are referred to as variables. • A variable is like a box in which a value can be stored Input length, width area←length X width Output area End

  21. FLOWCHART: EXAMPLE 3 • Selection Start Input height false true height > 1.6? Output “You are short!” Output “You are tall!” End

  22. stop = 1? FLOWCHART: EXAMPLE 4 • Repetition (looping) Start Output “Thank you!” Input stop false true End

  23. YOU SHOULD NOW KNOW… • what an algorithm is. • when an algorithm should be developed when building a computer program. • the basic steps in building a computer program to solve a problem. • what flowcharts are. • how to represent algorithms graphically using flowcharts.

More Related