Un algoritmo es un conjunto ordenado y finito de pasos para resolver un problema. Debe tener entrada y salida definidas, ser finito, efectivo y preciso en cada paso. Los algoritmos se pueden representar como texto narrativo, diagrama de flujo o pseudocódigo, y se clasifican como cualitativos o cuantitativos.