Original Source : and Problem and Problem Solving.ppt.

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

Transcript of Original Source : and Problem and Problem Solving.ppt.

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.

2

WHAT IS AN ALGORITHM?

Consider the following …Problem: Baking a CakeHow to solve:

1. Start2. Preheat the oven at 180oC3. Prepare a baking pan4. Beat butter with sugar5. Mix them with flour, eggs and essence

vanilla6. Pour the dough into the baking pan7. Put the pan into the oven8. End

3

ALGORITHM IN REAL LIFE

Problem: Prepare a Breakfast

4

‘DIVIDE AND CONQUER’ STRATEGY IN ALGORITHM

1. Start2. Prepare a Breakfast3. End

1. Start2. Prepare a Breakfast 2.1 Prepare a tuna sandwich 2.2 Prepare some chips 2.3 Make a cup of coffee3. End

5

‘DIVIDE AND CONQUER’ STRATEGY IN ALGORITHM

1. Start2. 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 coffee3. End

6

‘DIVIDE AND CONQUER’ STRATEGY IN ALGORITHM

1. Start2. 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 coffee3. End

‘DIVIDE AND CONQUER’ STRATEGY IN ALGORITHM

7

1. Start2. 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 coffee3. End

‘DIVIDE AND CONQUER’ STRATEGY IN ALGORITHM

8

Write a simple algorithm for withdrawing a sum of money at an ATM.

9

CLASS ACTIVITY 5.1

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.

10

WHY DO WE NEED TO BUILD ALGORITHMS?

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.

11

ALGORITHMS IN PROGRAM DESIGN

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.

12

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

13

HOW TO SPECIFY AN ALGORITHM?

A flowchart is a graphical representation of the sequence of operations in a program.

An algorithm can be represented graphically using a flowchart.

14

FLOWCHARTS

15

FLOWCHART NOTATIONS

Start/End

Symbol Semantic

Process

Input/Output

Test

Connector

Flow of activities

16

FLOWCHART: EXAMPLE 1

Start

End

Input Gregorian date

Display Islamic date

Convert Gregoriandate to Islamic date

Algorithm starts here

Algorithm ends here

Display the result

Perform the date conversion

Input data from user

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

17

PSEUDOCODE

1. Start2. Read quantity3. Read price_per_kg4. price quantity * price_per_kg5. Print price6. End

18

EXAMPLE OF PSEUDOCODE

Draw a flowchart which represents the algorithm built in CA[5.1].

19

CLASS ACTIVITY 5.2

20

FLOWCHART: EXAMPLE 2

Start

End

Input length, width

Outputarea

area ← length X width

• length, width and area are referred to as variables.

• A variable is like a box in which a value can be stored

Selection

21

FLOWCHART: EXAMPLE 3

trueheight > 1.6?false

Output“You are tall!”

Output“You are short!”

Inputheight

Start

End

Repetition (looping)

22

FLOWCHART: EXAMPLE 4

true

false

Output“Thank you!”

Inputstop

stop = 1?

Start

End

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.

23

YOU SHOULD NOW KNOW…