An algorithm is a generally comprehensible unambiguous description of a sequence of actions for the solution of a, usually mathematical problem. Algorithms are composed of decisions, which can be realized by means of logics and calculation parts.
Incomputer science algorithms form the basis for writing programs. Corresponding programming languages for the description of algorithms are algorithmic programming languages such as Algol 60 or Fortran. The term algorithm can be traced back to the Arab mathematician Al Chwarismi. It is a set of instructions for solving a mathematical problem, carried out in single steps and reproducible.
With the advent of computing devices, algorithms were formalized and used to solve problems. Each program is, so to speak, the implementation of an algorithm. Once algorithms have been read in, they can be executed over and over again with different data. Algorithms can describe in mathematical form the data structure as algebra and the computational procedures as linkage rules of the mathematical elements. However, they can also be formulated linguistically or as diagrams, such as flowcharts and data flow diagrams. There are cryptographic algorithms for encrypting data.