Ce sont des sous-programmes plus généraux que les fonctions. Une fonction peut toujours être écrite sous forme de procédure, alors que l'inverse est faux.
Elles permettent la structuration du programme en sous-programmes (méthode de programmation descendante). Les avantages de ce découpage sont :