Sucesión finita y bien definida de instrucciones para ejecutar mecánicamente un proceso o resolver un problema a partir de un input o condiciones iniciales.
A partir de ese input o estado inicial, los pasos sucesivos en las instrucciones permiten llegar a un estado final --la actividad realizada o la solución del problema.
Ejemplos:
1) Algoritmo de la división:
--Estado inicial: dos números enteros
--Estado final: cociente y residuo
2) Algoritmo de Euclides:
--Estado inicial: dos números enteros
--Estado final: máximo común divisor