Les algorithmes doivent avoir une entrée et une sortie définies, des instructions claires et séquentielles, une garantie de réalisation en un nombre fini d’étapes, et les étapes doivent être assez simple pour être réalisé avec des outils de base comme un crayon et du papier.