Lecture et écriture

De quoi parle-t’on ?

Trifouiller des variables en mémoire vive par un chouette programme, c’est vrai que c’est très marrant, et d’ailleurs on a tous bien rigolé au chapitre précédent. Cela dit, à la fin de la foire, on peut tout de même se demander à quoi ça sert.
En effet. Imaginons que nous ayons fait un programme pour calculer le carré d’un nombre, mettons 12. Si on a fait au plus simple, on a écrit un truc du genre :

ALGORITHM SquareOf12
VAR
    a:NUMBER
BEGIN
    a ← 12^2
END

D’une part, ce programme nous donne le carré de 12. C’est très gentil à lui. Mais si l’on veut le carré d’un autre nombre que 12, il faut réécrire le programme. Bof.

D’autre part, le résultat est indubitablement calculé par la machine. Mais elle le garde soigneusement pour elle, et le pauvre utilisateur qui fait exécuter ce programme, lui, ne saura jamais quel est le carré de 12. Re-bof.

C’est pourquoi, heureusement, il existe des instructions pour permettre à la machine de dialoguer avec l’utilisateur. Dans un sens, ces instructions permettent à l’utilisateur de rentrer des valeurs au clavier pour qu’elles soient utilisées par le programme. Cette opération est la lecture.

Dans l’autre sens, d’autres instructions permettent au programme de communiquer des valeurs à l’utilisateur en les affichant à l’écran. Cette opération est l’écriture.

Remarque essentielle : A première vue, on peut avoir l’impression que les informaticiens étaient beurrés comme des petits lus lorsqu’ils ont baptisé ces opérations ; puisque quand l’utilisateur doit écrire au clavier, on appelle ça la lecture, et quand il doit lire sur l’écran on appelle çà l’écriture. Mais avant d’agonir d’insultes une digne corporation, il faut réfléchir un peu plus loin. Un algorithme, c’est une suite d’instructions qui programme la machine, pas l’utilisateur ! Donc quand on dit à la machine de lire une valeur, cela implique que l’utilisateur va devoir écrire cette valeur. Et quand on demande à la machine d’écrire une valeur, c’est pour que l’utilisateur puisse la lire. Lecture et écriture sont donc des termes qui comme toujours en programmation, doivent être compris du point de vue de la machine qui sera chargée de les exécuter. Et là, tout devient parfaitement logique. Et toc.

Les instructions de lecture et d’écriture

Tout bêtement, pour que l’utilisateur entre la (nouvelle) valeur de Titi, on mettra :

INPUT Titi

Dès que le programme rencontre une instruction Lire, l’exécution s’interrompt, attendant la frappe d’une valeur au clavier

Dès lors, aussitôt que la touche Entrée (Enter) a été frappée, l’exécution reprend. Dans le sens inverse, pour écrire quelque chose à l’écran, c’est aussi simple que :

PRINT Toto

Avant de Lire une variable, il est très fortement conseillé d’écrire des libellés à l’écran, afin de prévenir l’utilisateur de ce qu’il doit frapper (sinon, le pauvre utilisateur passe son temps à se demander ce que l’ordinateur attend de lui… et c’est très désagréable !) :

PRINT "Entrez votre nom : "
INPUT NomFamille

Lecture et Ecriture sont des instructions algorithmiques qui ne présentent pas de difficultés particulières, une fois qu’on a bien assimilé ce problème du sens du dialogue (homme → machine, ou machine ← homme).
Et ça y est, vous savez d’ores et déjà sur cette question tout ce qu’il y a à savoir…

Exercices

ALGORITHM ex1
/*Quel résultat produit le programme suivant ?*/
VAR
    val, double : NUMBER
BEGIN
    Val ← 231
    Double ← Val * 2
    PRINT Val
    PRINT Double
END

Exercice 2 .
Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche le carré de ce nombre.

Exercice 3.
Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de TVA, et qui fournit le prix total TTC correspondant. Faire en sorte que des libellés apparaissent clairement.

Exercice 4.
Ecrire un algorithme utilisant des variables de type chaîne de caractères, et affichant quatre variantes possibles de la célèbre « belle marquise, vos beaux yeux me font mourir d’amour ». On ne se soucie pas de la ponctuation, ni des majuscules.

Print Friendly, PDF & Email