**Definition:** A method of representing the step – by – step logical procedure for solving a problem in natural language (like English, etc.) is called an algorithm.

Algorithm can also be defined as an ordered sequence of well-defined and effective operations that, when executed, will always produce a result and eventually terminate in a finite amount of time. Note: Algorithm written in English language is called Pseudo code.

Properties an Algorithm should possess:

a. **Generality: **The algorithm must be complete in itself so that it can be also used to solve all problems of a specific type for any input data.

b. **Input / Output:** Each algorithm can take zero; one or more input data and must produce one or more output values.

c. **Optimization:** Unnecessary steps should be eliminated so as to make the algorithm terminate an infinite number of steps.

d. **Effectiveness:** Each step must be effective in the sense that it should be primitive (easily convertible into a program statement) and can be performed exactly in a finite amount of time.

e. **Definiteness**: Each step of the algorithm should be precisely and unambiguously stated.

### Recommended Questions

### Useful Files

### Users Joined

**Definition:** A method of representing the step – by – step logical procedure for solving a problem in natural language (like English, etc.) is called an algorithm.

Algorithm can also be defined as an ordered sequence of well-defined and effective operations that, when executed, will always produce a result and eventually terminate in a finite amount of time. Note: Algorithm written in English language is called Pseudo code.

Properties an Algorithm should possess:

a. **Generality: **The algorithm must be complete in itself so that it can be also used to solve all problems of a specific type for any input data.

b. **Input / Output:** Each algorithm can take zero; one or more input data and must produce one or more output values.

c. **Optimization:** Unnecessary steps should be eliminated so as to make the algorithm terminate an infinite number of steps.

d. **Effectiveness:** Each step must be effective in the sense that it should be primitive (easily convertible into a program statement) and can be performed exactly in a finite amount of time.

e. **Definiteness**: Each step of the algorithm should be precisely and unambiguously stated.