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.
                    Input List
Al orith01
             A step-by-step method for
         solving a problem or doing a task
                   ·Output List
  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.
 Example   No. 2:
  Find the greatest common divisor of
  A=40, B=15;     using Euclidean
  algorithm;
     A = 2B +     A = 15 ; B =
     10 A = 1B    10 A = 10 ; B
     + 5 A = 2B   =5A=5;B=
     +0           0
     gcd is 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
 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.
 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
 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.
 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?...)
 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.
 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.
 Algorithms
           can be expressed in
 many kinds of notation, including:
  Natural language
  Pseudo Code
  Flowcharts
  Programming Language
 “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).
 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.
 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
 Itis 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.
 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.
 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.
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.
 Exampl
 es
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
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
 Exampl
 es:
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
 In summary:
  Write only one statement per
   line.
  Capitalized initial keyword.
  Indent to show hierarchy.
  End multi-line structures.
  Keep statement language
   independent.
• 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.
 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.
 Italso 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
 To
   symbolize the arithmetic
 operators we use these symbols:
  Note: There is a precedence or
   hierarchy implied   in this symbols.
 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:
It  is more difficult   to
 follow the logic of     or
 write   pseudocode      as
 compared                to
 flowcharting.
Prepare ½ crosswise yellow
paper for seatwork after the
discussion.