390 likes | 1.16k Views
Algorithms and flow charts. 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.
E N D
Algorithms and flow charts 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 Prepared by Department of Preparatory year
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
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
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
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
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
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
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
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
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
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
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
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
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
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) to solve a first degree equation. Steps (algorithm) to solve a second degree equation using delta. Prepared by Department of Preparatory year
Example: What is algorithm for solving a first degree equation? 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
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 • Pseudocde Prepared by Department of Preparatory year
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
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
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
Levels of Program Flowchart • Simple sequential flowchart. • Branched flowchart. • Simple-loop flowchart. • Multi-loop flowchart. Prepared by Department of Preparatory year
Example:1 Algorithm for reading student name • Start • Read student name • End start Read student name Stop Prepared by Department of Preparatory year
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
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
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
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
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
Second Level of Flowchart It is branched flowchart, when there is a condition statement in the program. Look at the following example: Prepared by Department of Preparatory year
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
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
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
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