L’instruction de lecture
45
2.3 Présentation des données
Dans tous les cas, les données se présentent comme une suite de caractères, quels que soient
les types des variables lues ; par exemple, quand vous fournissez -12, vous fournissez bien 3
caractères : -, 1 et 2.
Là encore, nous ne préciserons pas la disposition relative des différentes valeurs (emplacements, espaces, séparateurs). Ces détails dépendront du langage utilisé. En revanche, comme
dans (presque) tous les langages, les données ne sont pas identifiées. Autrement dit, lorsque
l’on rencontre des valeurs, par exemple :
5
13
rien ne dit à quoi elles correspondent. C’est le programme, par le biais de l’instruction de lecture, qui décidera des variables auxquelles ces valeurs seront attribuées.
Comme nous l’avons déjà dit, lorsque l’on utilise le clavier, toute information saisie apparaît
également à l’écran : cela est bien utile pour contrôler ce que l’on frappe, voire pour le corriger. Dans ces conditions, vous voyez que données et résultats apparaissent « entremêlés » à
l’écran.
D’autre part, ces données ne sont prises en compte que lorsque vous les « validez » en frappant sur une touche appropriée (entrée, retour...). Cela signifie donc que vous pouvez fournir
un nombre d’informations supérieur ou inférieur à celui attendu par l’instruction de lecture.
Par exemple, si n et p sont de type entier, et que à l’instruction :
lire n, p
on fournit simplement :
45
il est clair qu’il manquera la donnée pour p. Dans ce cas, dans la plupart des langages, on
attendra (silencieusement) que l’utilisateur fournisse une autre donnée (sans lui rappeler
qu’on attend autre chose...). De même, si à l’instruction précédente, on fournit :
46 98 12 67
on « consommera » bien les données 46 et 98. Mais, il restera des informations non exploitées qui se trouveront disponibles pour une prochaine lecture. Cette propriété sera d’ailleurs
souvent utilisée pour demander à l’utilisateur de fournir en une seule fois une suite de caractères ou une suite de nombres qu’on lira ensuite individuellement.
Nous n’en dirons pas plus sur ce mécanisme qui, en pratique, peut aboutir à une
« désynchronisation » entre les demandes du programme et les réponses de l’utilisateur.
2.4 Exemple
Nous vous proposons d’adapter le programme précédent, de manière à ce que le « dialogue »
avec l’utilisateur soit plus explicite. Pour cela, nous utilisons des libellés, à la fois dans l’affichage des résultats, mais aussi pour préciser à l’utilisateur ce que l’on attend de lui. Le programme est accompagné d’un exemple d’exécution
Précédent

- 68/370

Suivant