Cada paso del algoritmo debe ser claro y preciso. No puede haber ambigüedad sobre qué debe hacerse en cada etapa.
El algoritmo debe tener un número limitado de pasos. Debe llegar a una conclusión después de un tiempo finito, no puede continuar indefinidamente.
Los algoritmos pueden requerir datos iniciales para funcionar. Estos datos son proporcionados antes de la ejecución del algoritmo.
Un algoritmo siempre debe producir al menos una salida o resultado del procesamiento de las entradas.
Cada paso del algoritmo debe ser realizable en una cantidad finita de tiempo. No debe haber ningún paso que requiera una cantidad infinita de recursos o tiempo para completarse. Debe ser práctico