What is an algorithm?
An algorithm is a step-by-step solution to a given problem.
An algorithm have the following steps:
finiteness = the process terminates, the number of steps are finite
definiteness =each step is precisely stated
effective computability = each step can be carried out by a computer