Algorithm is defined as a set of well-defined instructions that are sequenced to do some work including manipulations, etc. Any algorithm will have a start point and a termination point. Abdullah Muhammad bin Musa al-Khwarizmi, the Persian scientist and mathematician, who is also called as "The Father Of Algebra", was indirectly responsible for the formulation of the term "Algorithm" in the 9th century. Later, it has become the information, which can indicate the computer on the series of steps that has to be followed to perform the tasks it is intended to. The data are read from an input source and written back in to an output source after the processing of input data is made. The specific abstract data types require internal data only for algorithm specified. The algorithm has to be specified and defined well based on the constraints that have to be considered in processing the information to attain a specific task.
Algorithms need to be clear and also computational. The flow of control is from top to bottom. Algorithms can be specified as flowcharts or source code or can even be specified in natural languages or programming languages too. Since the natural languages are verbal, it is difficult to follow it when it is more technical. Flowcharts and source codes are better means to formulate algorithms, as they can avoid ambiguities.
Programming languages can be used when the algorithm has to be understood by the computer itself. In the case of terminating an algorithm, the process has to be checked clearly whether the intended task is completed successfully or not. If it is completed then the process can be halted or else, the algorithm should contain the necessary steps to loop the process again. If the output is positive, then it means that the process is successful and can be terminated. The process is considered to be a failure one, when it receives negative responses.