Algorithmandpseudocodes 120630115656 Phpapp02
Algorithmandpseudocodes 120630115656 Phpapp02
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.