algorithms and flow charts adapted from the slides prepared by department of preparatory year 1...

39
Algorithms and flow charts Adapted from the slides Prepared by Department of Preparatory year 1 Ghader Kurdi

Upload: clement-morris

Post on 22-Dec-2015

216 views

Category:

Documents


0 download

TRANSCRIPT

Algorithms and flow charts

Adapted from the slides Prepared by Department of Preparatory year

Ghader Kurdi

Prepared by Department of Preparatory year

2

Programming language

• Programming language is an artificial language that specifies instruction to be executed on a computer. There are two types of programming languages:

– Low level languages– High level languages

Prepared by Department of Preparatory year

3

Computer Languages:

• The language which consists of a set of commands, understandable by computer directly or after translating, is known as computer programming language.

Prepared by Department of Preparatory year

4

Computer Languages:

• There are many types of computer languages, which can be categorized into the following four types:-

a) Low-Level Languages (1st & 2nd Generation Languages)b) High-Level Languages (3rd Generation Languages)c) User-Friendly Languages (4th Generation Languages)d) Object-Oriented Languages (5th Generation Languages)

Prepared by Department of Preparatory year

5

Computer Languages:

a) Low-Level Language:Languages, which computer can understand directly and are machine dependent are called Low-Level Languages.

For Example: Machine Language & Assembly Language.

Prepared by Department of Preparatory year

6

Low level languages

• A language that is machine-dependent and/or that offers few control instructions and data types. Each statement in a program written in a low-level language usually corresponds to one machine instruction.

Prepared by Department of Preparatory year

7

Computer Languages:

b) High-Level Language:The languages, which computer cannot

understand directly and are not machine dependent are called High-Level Languages. Some of the high-level languages are:-

i. BASIC (Beginners All Purpose Symbolic Instruction Code)ii. COBOL (Common Business Oriented Language)iii. FORTRAN (Formula Translator)iv. C etc.

Prepared by Department of Preparatory year

8

Computer Languages:

c) User-Friendly Languages:These languages are very easy

to codify and simplest to learn. Some of the common user-friendly languages are:-

i. dBASEii. FoxProiii. Oracleiv. MS Accessv. Sybase etc.

Prepared by Department of Preparatory year

9

Computer Languages:

d) Object-Oriented Languages:The languages which are based on object

oriented programming (OOP) approach are called as Object-Oriented languages. For example:-

i. Smalltalkii. C++iii. Object COBOLiv. JAVAv. Simula etc.

Prepared by Department of Preparatory year

10

Language Translators:

• The software, which converts the codes of other languages into machine code are called Language Translator.

• Language Translators are categorized into three types:-1) Assemblers2) Interpreters3) Compilers

Prepared by Department of Preparatory year

11

Language Translators:

1) Assembler:Assembler translates the assembly

language code (source program) into machine language code (object program). After assembling, a linker program is used to convert the object program into an executable program. The Microsoft assembler program (MASM) & Borland Turbo assembler program (TASM) are two popular assemblers. Assemblers are used mainly in development of system software.

Prepared by Department of Preparatory year

12

Language Translators:

2) Interpreters:Interpreters translate the high-

level language code into machine language code, command by command. They are very slow for executing large programs, so interpreters are not suitable for most of applications development.

Prepared by Department of Preparatory year

13

Language Translators:

3) Compilers:As contrast to interpreters, compilers

provide faster execution speed. Compilers translate the entire program (source code) into machine code (object code). By using linker, the object code is converted into executable code. Compilers are widely used in translating codes of high level languages. As compared to assemblers or interpreters, compilers are preferred in development of application software.

Prepared by Department of Preparatory year

144

Main operation of high level language program

• Input operations:– Like input, read

• Output operations;– Like write, print

• Arithmetic operations:– Like add, subtract, multiply etc....

• control transferring operations:– Like “GO TO”, conditional, non-conditional etc....

• Looping:– Like repeat, do while, for, etc...

Prepared by Department of Preparatory year

15

Main step in developing program

- Problem understanding

- Algorithm developing

- Program writing

- Program editing

- Program compiling

- Program running

- Testing and debugging

Prepared by Department of Preparatory year

16

What an Algorithm is ???

“Sequence of precise instructions which leads to a solution is called an algorithm.”

or“An algorithm is a set of steps that defines how a task is to performed.”

Example:Steps (algorithm) for preparing a cake.Steps (algorithm) for calculating the area of a rectangle.Steps (algorithm) to solve a first degree equation.Steps (algorithm) to solve a second degree equation

using delta.

Prepared by Department of Preparatory year

17

Algorithm Representation

There are many ways in which we may represent an algorithm;

We use many techniques to represent an algorithm in computer programming. The techniques that will study are:

Flowchart

Pseudocode

Prepared by Department of Preparatory year

18

Some verbs used in Pseudocode

• Get, Read used when a computer is required to receive information or input from a particular source

• Put, Output, Display, Print used when the computer is required to receive information or input from a particular source

• Compute, Calculate used when when the computer is required to perform arithmetic

• Initialise, Set used to give data an initial value • If used to select one of two alternate actions• Dowhile, Enddo used to repeat a group of actions

Prepared by Department of Preparatory year

19

Pseudocode Example:

What is algorithm for calculating the area of a rectangle ?

1. Get the values width, height

2. Calculate the value of area = width * height

3. Display the value of the area

Prepared by Department of Preparatory year

20

What is algorithm for solving a first degree equation (AX+B = 0) ?

1. Read the values A,B

2. Check if A=0 (if yes there is no equation) therefore no

equation to be solved (end processing).

3. Check if B=0 (if yes X=0 and end processing).

4. Calculate the value of X= -B/A

5. Print the value of : X

Pseudocode Example:

Prepared by Department of Preparatory year

21

Why Flowcharts:

The flowchart is graphical representation of the steps required for an algorithm or program.

The flowchart is characterized by:

Clarify the program logic

Identify alternative processing methods

Serve as guide for program coding

Serve as documentation

Prepared by Department of Preparatory year

22

Principals of Flowchart

1. Simplicity:- Easy to put on paper- Easy to draw- Readable and meaningful

2. Organization:- putting ideas together and organizing those ideas in logical way.

3. Planning:- flowchart helps for looking the program in deeper and global way.

Prepared by Department of Preparatory year

23

General Concepts

Flowchart must be characterized by the following:

1. The major element of the project.

2. Elements are clearly labeled.

3. Sequence of element must be clear.

4. No gap or dead ends.

5. Sequence of elements must be in logical form.

6. Flowchart must be used correctly.

Prepared by Department of Preparatory year

24

1. Simple sequential flowchart.

2. Branched flowchart.

3. Simple-loop flowchart.

4. Multi-loop flowchart.

Levels of Program Flowchart

25

No Name Symbol Usage

1 Ellipse Start/Stop

2 Rectangle Expressions

3 Parallelogram

Input (Read) / Output(Print)

4 Rhombus Conditional checking

5 Arrow Flow of solution

6 Circle Connector

7 Elongated Hexagon Continue

8 Rectangle with bars

Procedure / Function call

Prepared by Department of Preparatory year

26

Example:1 Algorithm for reading student name

1. Start

2. Read student name

3. End

start

Read student name

Stop

Prepared by Department of Preparatory year

27

Example:2 Algorithm for calculate the area of circle

1. Start

2. Read value of R

3. Set PI equal to 3.14

4. Calculate Area=PI*R*R

5. Print R, Area

6. Stop

start

Read R

Stop

PI=3.14

Area=Pi*R*R

Print R, Area

Prepared by Department of Preparatory year

28

Example:3 Draw flow chart for evaluating the following functions: F(X)=x if X>=0, F(X)= -X if X<0

1. Start

2. Read X

3. If X>=0 then go to step 4, else step 5

4. Calculate F(X)=X than go to step 6

5. Calculate F(X)= -X

6. Print X, F(X)

7. Stop

start

Read X

Stop

F(x)= -x

Print x, F(x)

X>=0

F(x)=x

A

Yes

No

Prepared by Department of Preparatory year

29

Example:4 Write an algorithm and draw the flow chart to add two numbers.

Algorithm:

1.Start

2.Read a, b

3.Calculate c=a + b

4.Print c

5.Stop

Flow chart:

Start

c = a+ b

Print c

Read a, b

Stop

Prepared by Department of Preparatory year

30

Exercise 5: Write an algorithm and draw the flow chart to find the circumference of circle

Algorithm:

1.Start

2.Read r

3.Calculate c= 2*3.14 * r

4.Print c

5.Stop

Start

c =2 * 3.14 * r

Print c

Read r

Stop

Prepared by Department of Preparatory year

31

Flowchart Levels

First Level of Flowchart

It is simplest level which contain the sequence of steps without loops or branch and the flowchart comes in straight line from the beginning to the end.

Prepared by Department of Preparatory year

32

Second Level of Flowchart

It is branched flowchart, when there is a condition statement in the program.

Look at the following example:

operation

condition

Yes

No

operation

Prepared by Department of Preparatory year

33

Third Level of Flowchart

It is a flowchart which contain iteration or repetitions. It is usually called loop flowcharts.

In this type we need to repeat some operation several times using the same set of operation.

The general from for this type is as follows:

operation

condition

Yes

No

Prepared by Department of Preparatory year

34

Exercise 6: write an algorithm and draw a flowchart for printing 10 integers starting from 1

Algorithm:

1.Start

2.Take the initial value of A=1

3.Check if A>=10 if yes and

If no print the number and increment A by 1

start

EndPrint A

A>=10?

A=A+1

A=1

Yes

No

Prepared by Department of Preparatory year

35

Looping

• When we need to use a loop a special symbol can be used

1. Counter i2. Any Initial value 3. Final Value (N)4. Increment or Decrement Value (M)

Loopi = 0,N,M

Instructions to be executed

M

Prepared by Department of Preparatory year

36

Homework

• Write an algorithm and draw a flowchart to calculate and print the sum of numbers from 1 to 100 .

Prepared by Department of Preparatory year

37

Exercise 7: Write an algorithm and draw a flowchart to calculate and print the sum of numbers from 1 to 100 .

Algorithm:

1.Start

2.Take the initial value of A=1, Sum=0

3.Check if A<=100 if yes add the value of A to the Sum and increment A by 1

If no print the Sum and end

start

End

Sum = Sum + A

A<=100?

A=A+1

A=1, Sum=0

no

yesPrint sum

Prepared by Department of Preparatory year

38

Homework

Write an algorithm and draw a flowchart to calculate and print the sum of numbers from 1 to 100 .

39

ExercisesWrite algorithms and draw flowcharts to represent the logic of the following programs:

• Accepts a number and display “Even Number” if the number entered is even. Otherwise the program will display “Odd Number”.

• Asks the user to input the password “hello”. Only if the password is correct, will display “Welcome”. The user has three chances to input the password.

• Finds and prints the factorial of any number that is entered by the user.

• Compares two numbers to see if one is greater than the other and print the result of the comparison.