### What is an Algorithm?

The step by step procedure to solve a particular problem is called an ** Algorithm**. A Good Programmer always writes algorithms before developing programs.

Algorithmic Notation with example algorithms |

### Advantages of writing an Algorithm

- The process of solving a problem becomes simpler and easier with the help of algorithm.
- There are less chance of errors in the program, if we design algorithms before writing our programs in any programming language.
- We can convert an algorithm into a program of any programming language.
- It is not dependent on any programming language. Therefore it is easy to understand for anyone even without programming knowledge.

### What is the Relationship between an Algorithm and a Program

Sponsored Links

An algorithm is the sequenc of steps to perform a task, whereas a program is the set of statements to perform a specific task. Normally, we will use a programming statement (instruction of a programming language) for each step of an algorithm.

For example, consider the following four steps of an algorithm of a program to find square of a number:

- Print “Enter a number:”
- Input a number in n.
- Calculate square = n * n
- Print “Square=”,square

1. printf("Enter a number:");

2. scanf("%d",n);

3. square = n * n;

4. printf("Square=%d",square);

### Introduction to Algorithmic Notation

The algorithms are written using an algorithmic noataion. Normally there is no standard algorithmic otation. Every author uses his own set of algorithmic statements to design the algorithms.

For example, we will use the following set of statements as algorithmic notation to design the algorithms:

#### The Name of Algorithm

First of all we will write the name of the algorithm for example:

Algorithm square.

#### The Description of Algorithm

Here we will describe the purpose of the algorithm.

For example:

// This algorithm is used to input a number and display its square.

#### The Comments

The comments are used to explain the purpose of a step of an algorithm. For example:

// Compute square of the number n

square = n * n

We will use double slash // to start a single line comment.

#### The Variables

A variable is an entity whose value can be changed. It is used to store data. We do not need to declare variables. We simply use variables in an algorithm according to the requirements. We will use simple variable names in small letters. For example, n or num1, num2, square, factorial, first_name etc.

### The Statements

There are differnt statements in an algorithmic notation to perform differnt tasks.

#### Input Statement

Inmput statement is used to input data into different variables.

For example:

Input a number in n.

Or more precisely

Input n

Input radius of circle in rad.

Note: rad is a variable to store the value of the radius of the circle.

Or more precisely,

Input rad

#### Output statement

The output statement is used to display string messages and the values of variables:

For example:

Print “Enter a number”

or

Print “Sum=”,sum

#### Assignment statement

Assignment statement is used to assign a value to a variable or to calculate a formula. For example,

i = 1

or

sum = num1 + num2

#### If statement

If statement is used to decide the execution of a statement or a set of statements if the given condition is true.

For example:

If (num1 == num2)

Print “both numbers are equal”

End If

#### If Else Statement

If else statement is a two way selection. If condition is true, the if block is executed otherwise, the else block of statements is executed:

If (num1 == num2)

Print “both numbers are equal”

Else

Print “numbers are different”

End If

#### Repeat – For

A Repeat – for construct is a looping statement. It is used to execute a block of one or more statements repeatedly for a fixed number of times. For example: the following for statement print 1 to 5 numbers.

Step 1. Repeat steps 1.1 For i = 1 to 5 step 1

Step 1.1 Print i

End For

#### Repeat – While

A Repeat – While statement is used to execute a block of one or more statements as long as the given condition remains true. For example: Input a number, and sum it as long as we enter a number gretare than zero.

Step 1. sum = 0

Step 2. Print "Enter a number:"

Step 3. Input n

Step 3. Repeat Step 3.1,3.2,3.3 While ( n > 0)

Step 3.1 sum = sum + n

Step 3.2 Print "Enter a number:"

Step 3.3 Input n

End While

Step 4. Print "Sum=",sum

## Algorithm to Add Two Numbers

## Algorithm to Check whether Two Numbers are Equal

### Algorithm To Find Factorial of a Number

### Algorithms, Algorithmic Notation and Problem Solving

We have discussed the following concepts in this Algorithms and Algorithmic Notation tutorial:

Algorithms, Importance of Algorithm, Notation used to describe algorithms and some important examples of algorithms.