Un algoritmo es un conjunto de instrucciones bien definidas para resolver un problema mediante pasos sucesivos. Los algoritmos se usan comúnmente para resolver problemas cotidianos y también existen algoritmos matemáticos como el algoritmo de división. Pueden expresarse de varias formas como lenguaje natural, pseudocódigo o diagramas de flujo. Generalmente, la descripción de un algoritmo incluye una descripción de alto nivel, una descripción formal y la implementación en un lenguaje de programación.