< Langage Pascal
fin de la boite de navigation du chapitre

Lire et écrire avec (read et write)

Tout programme qui se respecte doit pouvoir interagir avec l'utilisateur. Il doit donc pouvoir lire ce que lui donne l'utilisateur, et lui écrire des messages. En mode console, ceci est possible avec les procédures "read" et "write".

var
    a, b : integer;

Begin
    read(a);
    read(b);
    write(a + b)
End.

Ce code attend donc qu'on lui donne 2 entiers via l'entré standard (habituellement le clavier) et écrit le résultat de l'addition sur la sortie standard (habituellement l'écran).

Différence entre write et writeln

Si on remplace write par writeln, le programme ajoute un saut de ligne après l’affichage de la chaine de caractère. Si on désire simplement sauter une ligne, il est possible d'appeler writeln sans paramètre.

Begin
    writeln('1ere ligne');
    writeln;
    write('2eme ligne')
End.

Dans cet exemple, le programme va afficher 1ere ligne puis sauter une ligne avec un seul appel à writeln. Ensuite, un nouveau saut de ligne est effectué, avant d'afficher 2eme ligne sans ajouter un dernier saut de ligne.

Différence entre read et readln

Lorsque l'utilisateur entre des valeurs sur une même ligne de l'entrée standard, read lit la 1re valeur et l'affecte à la variable qui lui a été envoyé en paramètre. Readln fait quelque chose en plus, il supprime ce qui suit.

Reprenons le code précédent :

var
    a, b : integer;

Begin
    writeln('Je veux deux entiers.');
    read(a);
    read(b);
    write(a + b)
End.

Le programme demande qu'on lui donne deux entiers grâce à deux read. Dans ce cas, les deux possibilité suivantes donne un résultat identique.

Alors qu'avec readln seul la 2e possibilité aurait été possible, car après avoir lu ce qu’il a besoin (juste le premier entier) il supprime le reste de ce qui a été fournit par l'utilisateur. Il imposerai ainsi une deuxième saisie.

Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.