Enseignement > Pascal > Cours > Entrées sorties à l'écran  

Entrées sorties à l'écran

La commande write permet d'afficher du texte et de laisser le curseur à la fin du texte affiché. Cette commande permet d'afficher des chaînes de caractères d'excédant pas 255 signes ainsi que des valeurs de variables, de constantes, de types... Le texte doit être entre apostrophe. Si le texte à afficher contient une apostrophe, il faut alors la doubler. Les différents noms de variables doivent êtres séparés par des virgules.
Note : toute commande doit être suivie d'un point virgule.
Syntaxe :

Write ('Texte à afficher', variable1, variable2, 'texte2') ;
Write ('
L''apostrophe se double.
') ;

La commande Writeln est semblable à la précédente à la différence près que le curseur est maintenant renvoyé à la ligne suivante.
Syntaxe :

Writeln  ('Texte avec renvoi à la ligne') ;

La commande read permet à l'utilisateur de rentrer une valeur qui sera utilisée par le programme. Cette commande ne provoque pas de retour Chariot, c'est-à-dire que le curseur ne passe pas à la ligne.
Syntaxe :

Read (variable) ;

La commande ReadLn permet à l'utilisateur de rentrer une valeur qui sera utilisée par le programme. Cette commande provoque le retour Chariot, c'est-à-dire que le curseur passe à la ligne suivante. Lorsqu'aucune variable n'est affectée à la commande, il suffit de presser sur <ENTREE>.
Syntaxe :

ReadLn (variable1, variable2) ;

ReadLn ;

Program exemple
;
Var
nom
: String;
BEGIN

Write ('Entrez votre nom : ') ;
ReadLn(
nom
) ;
WriteLn('
Votre nom est
', nom) ;
ReadLn ;

END.

Ce programme exemple1 déclare tout d'abord la variable nommée nom comme étant une chaîne de caractère (String). Ensuite, dans le bloc programme principal, il est demandé à l'utilisateur d'affecter une valeur à la variable nom qui est initialisée automatiquement (valeur nulle) à chaque démarrage du programme. Ensuite, il y a affichage de la valeur de la variable et attente que la touche entrée soit validée (ReadLn).

L'équivalent de la commande ReadLn est ReadKey qui donne une valeur à une variable de type Char (caractère ASCII).
Syntaxe :

x := ReadKey ;

Il existe une équivalence à cette commande très utile pour sortir d'une boucle : KeyPressed.
Syntaxe :

Repeat
...
commandes
...
Until KeyPressed ;

Program exemple2
;
Uses crt ;
Var i : integer ;
Const
bornesup
=10000 ;
BEGIN

Repeat
WriteLn(sqrt(i)) ;
Inc(i) ;
Until (i=
bornesup) or KeyPressed ;

END.

Ce programme exemple2 répète une boucle jusqu'à qu'une valeur soit atteinte (bornesup) mais s'arrête si on appuie sur une touche. L'instruction Inc(a,n); incrémente la valeur n à la variable a (par défault n vaut 1), cette dernière étant de type integer

Sachez encore que le format (le nombre de signes) d'une variable de type real peut être modifié  lors de son affichage : writeln (nombre : 5 :2) pour afficher le nombre sur 5 chiffres avant la virgule, et 2 chiffres après.

Pour pouvez appliquer ce format pour tous les autres types de variable de manière générale si vous ne stipuler que le nombre d'espace(s) à afficher devant votre texte ou valeur.
Exemple :
WriteLn ( 'Coucou' : 20 ) ;
Ici, la chaîne de caractères sera affichée après 20 espaces.