Algorithm and pseudo codes


Published on

Published in: Technology

Algorithm and pseudo codes

  1. 1. Prepared By:Mr. Richard R. BasilioBSECE – Dip ICT
  2. 2.  By wikipedia definition: ▪ an algorithm is a sequence of finite instructions, often used for calculation and data processing. ▪ It is formally a type of effective method in which a list of well-defined instructions for completing a task will, when given an initial state, proceed through a well-defined series of successive states, eventually terminating in an end-state.
  3. 3.  First documented algorithm by Euclid (300 B.C.) to compute greatest common divisor (gcd).  Example: gcd(3,21)=3  Condition:1. Let A and B be integers with A > B 0.2. If B = 0, then the gcd is A and the algorithm ends.3. Otherwise, find q and r such that A = qB + r where 0 r < B Note that we have 0 r < B < A and gcd(A,B) = gcd(B,r). Replace A by B, B by r. Go to step 2.
  4. 4.  Example No. 2:  Find the greatest common divisor of A=40, B=15; using Euclidean algorithm; A = 2B + 10 A = 15 ; B = 10 A = 1B + 5 A = 10 ; B = 5 A = 2B + 0 A=5;B=0 gcd is 5
  5. 5.  There are three properties of algorithm that must have to consider in solving a certain problem in programming:  Finiteness  Absence of Ambiguity  Sequence Definition  Input and Output Definition  Effectiveness  Scope of Definition
  6. 6.  Finiteness  The execution of a programmed algorithm must be complete after a finite number of operations have been performed. Otherwise, we cannot claim that the execution produces a solution.
  7. 7.  Absence of Ambiguity  The representation of every step of an algorithm should have a unique interpretation which also understand by the human.  It is convenient to deal with algorithms presented in notational with sparse detail: ▪ Example: ▪ Pseudo code ▪ Flowcharts
  8. 8.  Sequence of Definition  The sequence in which the steps of the algorithm are to carried out should be clearly specified.  In algorithmic specifications, the instructions are performed from top to button, unless the instruction themselves otherwise specified.
  9. 9.  Input and Output Definition  Inputs – are the data items that is presented in the algorithm.  Outputs – are the data items presented to the outside world as the result of the execution of a program based on the algorithm.  An algorithm ought to produce at least one output (otherwise, what use is it?...)
  10. 10.  Effectiveness  it consists of basic instructions that are realizable. This means that the instructions can be performed by using the given inputs in a finite amount of time.  The instructions of an algorithm may order the computer only to perform tasks that is capable of carrying out.
  11. 11.  Scope Definition  An algorithm applies to the following: ▪ Specific problem or class of problem ▪ The range of inputs has to be predefined ▪ The range determines the generality of the algorithm.
  12. 12.  Algorithms can be expressed in many kinds of notation, including:  Natural language  Pseudo Code  Flowcharts  Programming Language
  13. 13.  “Pseudo” means imitation or false and “code” refers to the instructions written in a programming language. Pseudocode is another programming analysis tool that is used for planning a program. Pseudocode is also called Program Design Language (PDL).
  14. 14.  By wikipedia definition:  Pseudocode is a compact and informal high-level description of a computer programming algorithm that uses the structural conventions of some programming language, but is intended for human reading rather than machine reading.
  15. 15.  Pseudocode is made up of the following logic structures that have been proved to be sufficient for writing any computer program:  Sequence Logic  Selection Logic  Iteration Logic
  16. 16.  It is used to perform instructions in a sequence, that is one after another. Thus, for sequence logic, pseudocode instructions are written in an order in which they are to be performed. The logic flow of pseudocode is from top to bottom.
  17. 17.  It is used for making decisions and for selecting the proper path out of two or more alternative paths in program logic. It is also known as decision logic. Selection logic is depicted as either an IF...THEN or an IF...THEN...ELSE structure.
  18. 18.  It is used to produce loops when one or more instructions may be executed several times depending on some of the conditions. It uses structures called the DO_WHILE, FOR and the REPEAT_UNTIL.
  19. 19. 1. Write only one statement per line.  Each statement in your pseudocode should express just one action for the computer.  If the task list is properly drawn, then in most cases each task will correspond to one line of pseudocode.
  20. 20.  Examples
  21. 21. 2. Capitalized initial keyword.  In the example above, READ and WRITE are in caps.  There are just a few keywords we will use: ▪ READ, WRITE, IF, ELSE, ENDIF, WHILE, ENDWHILE, REPEAT, UNTIL
  22. 22. 3. Indent to show hierarchy.  We will use a particular indentation pattern in each of the design structures: ▪ SEQUENCE: keep statements that are “stacked” in sequence all starting in the same column. ▪ SELECTION: indent the statements that fall inside the selection structure, but not the keywords that form the selection ▪ LOOPING: indent the statements that fall inside the loop, but not the keywords that form the loop
  23. 23.  Examples:
  24. 24. 4. End multi-line structures. ▫ All the initial keyword must always in line with the last or end of the structure.5. Keep statement language independent. ▫ Resist the urge to write in whatever language you are most comfortable with. There may be special features available in the language you plan to eventually write the program in; if you are SURE it will be written in that language, then you can use the features. If not, then avoid using the special features.
  25. 25.  In summary:  Write only one statement per line.  Capitalized initial keyword.  Indent to show hierarchy.  End multi-line structures.  Keep statement language independent.
  26. 26. • These are follows: ▫ Number each instruction.  This is to enforce the notion, “well-ordered collection of ... operations.” ▫ Each instruction should be unambiguous.  It means the computing agent, in this case the reader, should be capable of carrying out the instructions. And also, each instruction should be effectively computable (do-able). ▫ Completeness.  Nothing should be left out.
  27. 27.  Following are some of the advantages of using pseudocode:  Converting a pseudocode to a programming language is much more easier than converting a flowchart.  As compared to flowchart, it is easier to modify a pseudocode of a program logic when program modifications are necessary.
  28. 28.  It also suffers from some of the limitations. These limitations are as follows:  In the cases of pseudocode, a graphic representation of program logic is not available.  There are no standard rules to follow for using a pseudocode. Different programmers use their own style of writing pseudocode and hence, communication problem occurs due to lack of standardization.
  29. 29.  To symbolize the arithmetic operators we use these symbols:  Note: There is a precedence or hierarchy implied in this symbols.
  30. 30.  When we have to make a choice between actions, we almost always base that choice on a test. There is a universally accepted set of symbols used to represent these phrases:
  31. 31.  It is more difficult to follow the logic of or write pseudocode as compared to flowcharting.
  32. 32. Prepare ½ crosswise yellow paper forseatwork after the discussion.