Quand un programme informatique qui implémente l'algorithme en question s'exécute, alors il doit impérativement faire parvenir l'utilisateur (c'est à dire la personne qui exécute le programme) de son état. Autrement dit, le programme doit afficher à l'écran des messages qui indiquent ce qu'il est entrain de faire. En d'autre part, l'utilisateur doit, de temps à autre, renseigner au programme des valeurs dont il a besoin pour poursuivre son exécution. On parle alors d'interaction homme-machine, c'est à dire que le programme a la capacité d'interagir avec l'utilisateur (ou son environnement d'exécution en général) en accueillant des données à l'entrée et en retournant des résultats à la sortie. L'entrée peut être le clavier qui permet par exemple à l'utilisateur d'assigner une valeur à une variable et la sortie peut être l'écran où le programme affiche des messages que l'utilisateur peut lire (comme le résultat d'addition de deux nombres dont les valeurs ont été initialisées par ce dernier). Afin de mette en place cette interaction, en algorithmique on dispose des fonctions lire() et écrire().
La fonction lire() permet au programme d'accueillir des valeurs saisies par l'utilisateur, et la fonction écrire() permet d'afficher des messages (à l'écran par exemple) afin que l'utilisateur puisse les lire.