You are on page 1of 6

LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

Introduction to Algorithm

What is an Algorithm?

What is an Algorithm?
An algorithm itself is division of a problem into small steps which are ordered in sequence
and easily understandable. Algorithms are very important to the way computers process
information, because a computer program is basically an algorithm that tells computer what
specific tasks to perform in what specific order to accomplish a specific task. In short
algorithm is:
• A step-by-step procedure in solving a problem
• Finite set of instructions that specify a sequence of operations to be carried out.

What is the Difference between Algorithm and a Program?


Algorithm
• Detailed sequence of steps
• Any Language
• Optional
Program
• Detailed set of instruction
• Programming Language
• Mandatory
Characteristic of Algorithm
• Input - An algorithm may have many inputs or no inputs at all.
• Output - It should result at least one output.
• Definiteness - Each step must be clear, well-defined and precise. There should be no
any ambiguity.

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor
LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

• Finiteness - An algorithm should have finite number of steps and it should end after a
finite time.
• Effectiveness - Each step must be simple and should take a finite amount of time.

Guidelines for Developing Algorithm

Following guidelines must be followed while developing an algorithm:


• An algorithm will be enclosed by START (or BEGIN) and STOP (or END).
• To accept data from user, generally used statements are INPUT, READ, GET or OBTAIN.
• To display result or any message, generally used statements are PRINT, DISPLAY, or
WRITE.
• Generally, COMPUTE or CALCULATE is used while describing mathematical expressions
and based on situation relevant operators can be used.
Example of an Algorithm
Algorithm: Calculation of Simple Interest
Step 1: Start
Step 2: Read principle (P), time (T) and rate (R)
Step 3: Calculate I = P*T*R/100
Step 4: Print I as Interest
Step 5: Stop
Advantages of an Algorithm: Designing an algorithm has following advantages:
• Effective Communication: Since algorithm is written in English like language, it is simple
to understand step-by-step solution of the problems.
• Easy Debugging: Well-designed algorithm makes debugging easy so that we can
identify logical error in the program.
• Easy an Efficient Coding: An algorithm acts as a blueprint of a program and helps
during program development.
• Independent of Programming Language: An algorithm is independent of
programming languages and can be easily coded using any high-level language.
Disadvantages of an Algorithm: An algorithm has following disadvantages:
• Developing algorithm for complex problems would be time consuming and difficult to
understand.
• Understanding complex logic through algorithms can be very difficult.

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor
LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

Importance of Algorithms
Algorithms give us the most ideal option of accomplishing a task. Here is some importance of
algorithms in computer programming.
• To improve the efficiency of a computer program
When it comes to programming, efficiency can be used to mean different things. One
of them is the accuracy of the software. With the best algorithm, a computer program
will be able to produce very accurate results.

Another way of looking at the efficiency of the software is speed. An algorithm can be
used to improve the speed at which a program executes a problem. A single
algorithm has the potential of reducing the time that a program takes to solve a
problem.
• Proper utilization of resources
A typical computer has different resources. One of them is computer memory. The
usage of computer memory depends on the algorithm that has been used.

The right choice of an algorithm will ensure that a program consumes the least
amount of memory. Apart from memory, and the algorithm can determine the
amount of processing power that is needed by a program.
• Algorithms
Given that we have mentioned the impact of an algorithm on resources, it will be
imperative to look at the cost. This is because each resource comes with a price tag.
You can decide to use an algorithm that will use the least resources. The leaner the
resources, the less the cost.
Concept of Algorithm
An algorithm is a set of instructions to obtain the solution of a given problem. Computer
needs precise and well-defined instructions for finding solution of problems. If there is any
ambiguity, the computer will not yield the right results. It is essential that all the stages of
solution of a given problem be specified in details, correctly and clearly moreover, the steps
must also be organized rightly so that a unique solution is obtained.
A typical programming task can be divided into two phases:
(a) Problem solving phase
In this stage an ordered sequence of steps that describe solution of the problem is
produced. Their sequence of steps can be called anti-Algorithm
(b) Implementation Phase
In this phase, the program is implemented in some programming languages.
Algorithm may be set up for any type of problems, mathematical/scientific or business.
Normally algorithms for mathematical and scientific problems involve mathematical

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor
LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

formulars. Algorithms for business problems are generally descriptive and have little use of
formula.
Features of an Algorithm
1. It should be simple
2. It should be clear with no ambiguity
3. It should head to unique solution of the problem
4. It should involve a finite number of steps to arrive at a solution
5. It should have the capability to handle unexpected situation.
Methods of Representing Algorithm
Algorithms are statements of steps involved in solving a particular problem. The steps to the
solutions are broken into series of logical steps in English related form. Programs are written to
solve real life problems.
There can’t be a solution if there is no recognized problem and once a problem exist, one
must take certain step in order to get a desired solution. The following methods could be
used to represent an algorithm.
• Methods of English like form
• Methods of Flowchart
• Methods of Pseudo code
• Methods of Decision table
• Methods of Data flow Diagram (DFD)
Pseudo code
A pseudo code is the English-like representation of the program logic. It does not make use
of standard symbols like the flowchart. It is a sequential step by step arrangements of the
instructions to be performed to accomplish a task. It is an informal and artificial language
that helps programmers develop algorithms.
Example 1. Write a pseudo code for findings the area of a room.
Solution:
• Begin process
• Input room length
• Input room width
• Multiply length by width to get area
• Print area
• End process

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor
LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

Example 2. Write a Pseudo code for finding the greatest of 3 numbers represented as A, B,
and C.
Solution
• Begin process
• Input A,B,C
• If A>B then big = A
• Else big = B
• If big >C then bigst = big
• Else bigst = C
• End Process
Example 3. Write an Algorithm to determine a student’s final grade and indicate whether it is
passing or failing.
The final grade is calculated as the average of four marks.
Solution
• Input a set of 4 marks
• Calculate their average by summing and dividing by 4.
• If average is below 50
Solution for example 3 (below under pseudo code)
• Step 1: Input M1, M2, M3, M4
• Step 2: Grade ← (M1 + M2 + M3 + M4)/4
• Step 3: If (Grade < 50) then
• Step 4: Print “FALL”
• Step 5: Print “Pass”
• Step 6: End it.
English-like form
The English form of representing as algorithm entails breaking down the solution steps of the
problem into single and sequential English words. The steps are represented in English to say
what action should be taken in such a step.
Example 1. Develop an algorithm to obtain a book on computer from your school library
located on the fourth floor of the building. You are to proceed to the library from your
ground floor classroom.
1. Start from the classroom
2. Climb the stairs to the 4th floor and reach the library
3. Search a book on computer
4. Have the book issued
5. Return to your classroom
6. Stop.

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor
LECTURE in Computer Programming 1: Programming Logic Design and Formulation LEC2

Note: The above algorithm solution of example 1, has been written in simple and clear
English way.
Example 2. Develop an algorithm to find the average of four numbers stored in variables
A,B,C,D
Solution
1. Start
2. Read values in variables A,B,C,D
3. Calculate the average as (A+B+C+D)/4 and store the result in P.
4. Write the value stored in P
5. Stop.
Example 3. Develop and algorithm to find the average of four numbers stored in variables A,
B, C, D. When the value of variable A is zero, no averaging is to be done.
Solution
1. Start
2. Read values stored in variable A,B,C.D
3. If the value of A is Zero, then jump to step 6
4. Calculate the average of A, B, C, D and store the result in variable P.
5. Write the value of P
6. Stop.

End of Topic

Note: “I am not here to be AVERAGE, I am here to be AWESOME”


STUDY HARD!!!

Prepared by: Mrs. Jasmin G. Geronaga


Computer Programming 1 Instructor

You might also like