340 likes | 1.13k Views
Algorithms and flow charts. Prepared by: lec . Ghader Kurdi. Adapted from the slides Prepared by Department of Preparatory year. Programming language. Programming language is an artificial language that specifies instruction to be executed on a computer.
E N D
Algorithms and flow charts Prepared by: lec. GhaderKurdi Adapted from the slides Prepared by Department of Preparatory year
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
Low level language • Low level language is 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.
Computer Languages • There are many types of computer languages, which can be categorized into the following four types:- • Low-Level Languages (1st & 2nd Generation Languages) • High-Level Languages (3rd Generation Languages) • User-Friendly Languages (4th Generation Languages) • Object-Oriented Languages (5th Generation Languages)
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... 4
Main step in developing program • Problem understanding • Algorithm developing • Program writing • Program editing • Program compiling • Program running • Testing and debugging
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.
What an Algorithm is ??? • In other words, algorithm is a method of representing the step-by-step logical procedure for solving a problem. • An algorithm is a recipe for finding the right-answer to a problem or to a difficult problem by breaking down the problem into simple cases. • An algorithm can be written in English like sentences or in any standard representation. Sometimes, algorithm written in English like languages is called Pseudo Code.
What an Algorithm is ??? • According to D.E. Knuth, a pioneer in the computer science discipline, an algorithm must possess the following properties: (i) Finiteness: An algorithm must terminate in a finite number of steps (ii) Definiteness: Each step of the algorithm must be precisely and unambiguously stated (iii) Effectiveness: Each step must be effective, in the sense that it should be primitive (easily convertible into program statement) can be performed exactly in a finite amount of time. (iv) Generality: The algorithm must be complete in itself so that it can be used to solve all problems of a specific type for any input data. (v) Input/output: Each algorithm must take zero, one or more quantities as input data produce one or more output values.
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
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
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
Pseudocode Example: 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
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
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.
General Concepts Flowchart must be characterized by the following: • The major element of the project. • Elements are clearly labeled. • Sequence of element must be clear. • No gap or dead ends. • Sequence of elements must be in logical form. • Flowchart must be used correctly.
Levels of Program Flowchart • Simple sequential flowchart. • Branched flowchart. • Simple-loop flowchart. • Multi-loop flowchart.
Simple sequential flowchart • It is simplest level which contain the sequence of steps without loops or branch. • The flowchart comes in straight line from the beginning to the end.
Example1: Algorithm for reading student name • Start • Read student name • End start Read student name Stop
Example2: Algorithm for calculate the area of circle start • Start • Read value of R • Set PI equal to 3.14 • Calculate Area=PI*R*R • Print R, Area • Stop Read R PI=3.14 Area=Pi*R*R Print R, Area Stop
Start Read a, b c = a+ b Print c Stop Example3: Write an algorithm and draw the flow chart to add two numbers. • Algorithm: • Start • Read a, b • Calculate c=a + b • Print c • Stop Flow chart:
Start Read r c =2 * 3.14 * r Print c Stop Example4: Write an algorithm and draw the flow chart to find the circumference of circle • Algorithm: • Start • Read r • Calculate c= 2*3.14 * r • Print c • Stop
Branched flowchart • It is branched flowchart, when there is a condition statement in the program.
Example5: Draw flow chart for evaluating the following functions: F(X)=x if X>=0, F(X)= -X if X<0 start • Start • Read X • If X>=0 then go to step 4, else step 5 • Calculate F(X)=X than go to step 6 • Calculate F(X)= -X • Print X, F(X) • Stop Read X X>=0 Yes No F(x)=x F(x)= -x A Print x, F(x) Stop
Example6: Write an algorithm and draw the flowchart that reads three numbers and print the value of the largest number.
Simple-loop 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.
Example7: write an algorithm and draw a flowchart for printing 10 integers starting from 1 start • Algorithm: • Start • Take the initial value of A=1 • Check if A>=10 if yes and • If no print the number and increment A by 1 A=1 A>=10? Yes No End A=A+1 Print A
Multi-loop flowchart • Looping is used to manage a loop to fulfill a repetition under a definite condition Algorithm Sample 1.Counter i 2. Any Initial value → ( Set i =0) 3.Final Value (N) → (Set N= 10) 4.Increment or Decrement Value (M) → (Set M=1)
Exercises Write algorithms and draw flowcharts to represent the logic of the following programs: • Calculate and print the sum of numbers from 1 to 100 . • 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”. • Compares two numbers to see if one is greater than the other and print the result of the comparison.