Un algoritmo es un conjunto de pasos ordenados para resolver un problema. Debe ser finito, definible, aceptar datos de entrada y producir una salida. Existen algoritmos cualitativos y cuantitativos. Los algoritmos se pueden representar mediante narrativa, diagrama de flujo, diagrama N-S o pseudocódigo.