Un algoritmo es un conjunto de instrucciones bien definidas y ordenadas para resolver un problema o realizar una tarea. Los algoritmos se representan gráficamente a través de diagramas de flujo o mediante pseudocódigo, el cual emplea una mezcla de lenguaje natural y sintaxis de programación para describirlos de manera más concisa. Finalmente, la teoría de autómatas y funciones recursivas proveen modelos matemáticos formales para representar algoritmos de manera precisa e independiente de cualquier computadora o lenguaje de programación en particular.