1 / 39

Algorithms and flow charts

Algorithms and flow charts. 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. There are two types of programming languages:

avidan
Download Presentation

Algorithms and flow charts

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 and flow charts GhaderKurdi Adapted from the slides 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:- • 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) Prepared by Department of Preparatory year

  5. Computer Languages: • 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: • 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:- • BASIC (Beginners All Purpose Symbolic Instruction Code) • COBOL (Common Business Oriented Language) • FORTRAN (Formula Translator) • C etc. Prepared by Department of Preparatory year

  8. Computer Languages: • User-Friendly Languages: These languages are very easy to codify and simplest to learn. Some of the common user-friendly languages are:- • dBASE • FoxPro • Oracle • MS Access • Sybase etc. Prepared by Department of Preparatory year

  9. Computer Languages: • Object-Oriented Languages: The languages which are based on object oriented programming (OOP) approach are called as Object-Oriented languages. For example:- • Smalltalk • C++ • Object COBOL • JAVA • 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:- • Assemblers • Interpreters • Compilers Prepared by Department of Preparatory year

  11. Language Translators: • 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: • 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: • 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

  14. 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 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. PseudocodeExample: 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. 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 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: • 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. Prepared by Department of Preparatory year

  24. Levels of Program Flowchart • Simple sequential flowchart. • Branched flowchart. • Simple-loop flowchart. • Multi-loop flowchart. Prepared by Department of Preparatory year

  25. Example:1 Algorithm for reading student name • Start • Read student name • End start Read student name Stop Prepared by Department of Preparatory year

  26. Example:2 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 Prepared by Department of Preparatory year

  27. Example:3 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 Prepared by Department of Preparatory year

  28. Start Read a, b c = a+ b Print c Stop Example:4 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: Prepared by Department of Preparatory year

  29. Start Read r c =2 * 3.14 * r Print c Stop Exercise 5: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 Prepared by Department of Preparatory year

  30. 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

  31. Second Level of Flowchart It is branched flowchart, when there is a condition statement in the program. Look at the following example: condition operation No Yes operation Prepared by Department of Preparatory year

  32. 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: condition No Yes operation Prepared by Department of Preparatory year

  33. Exercise 6: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 Prepared by Department of Preparatory year

  34. Looping • When we need to use a loop a special symbol can be used Loop i = 0,N,M Counter i Any Initial value Final Value (N) Increment or Decrement Value (M) Instructions to be executed M Prepared by Department of Preparatory year

  35. 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

  36. Exercise 7:Write an algorithm and draw a flowchart to calculate and print the sum of numbers from 1 to 100 . start • Algorithm: • Start • Take the initial value of A=1, Sum=0 • 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 A=1, Sum=0 A<=100? no yes Print sum A=A+1 Sum = Sum + A End Prepared by Department of Preparatory year

  37. 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

  38. Exercises Write 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.

More Related