Table des matières indexe chapitre suivant

Annexe I : Remarques d'usage

Tables des matières


1. Style de programmation

Pour qu'un programme soit "compréhensible" par un ordinateur, il faut qu'il respecte les règles syntaxiques du Pascal. Ces règles, qui sont l'objet principal de ce manuel, peuvent être décrites avec précision, sans ambiguďté. Elles doivent être appliquées.

D'autre part, pour qu'un programme soit facilement compréhensible par un lecteur humain, il est bon qu'il respecte quelques "règles de style". Mais la notion même de "programme clair" pouvant varier d'individu á individu, nul n'a pu jusqu'á présent établir un ensemble de règles très précises et universelles, qui garantiraient la clarté de n'importe quel programme dans l'esprit de n'importe quel lecteur.

Ainsi, les conseils généraux donnés ci­dessous doivent être suivis avec discernement. Le lecteur doit surtout s'efforcer d'en saisir l'esprit, afin de les adapter au mieux aux programmes qu'il écrira. Si la correction syntaxique d'un programme dépend de règles strictes, sa clarté est avant tout une question de bon sens.

Voici par exemple un programme PASCAL syntaxiquement correct :

    program p (data,output);
    var a,b : integer; data : text;
    begin
    reset(data);b := 0; {on met b a zero}
    while not eof(data) do
    begin readln(data,a);
    if a > 42 then b := b+1 end;
    writeln(a)
    end.

Ce programme souffre de plusieurs défauts, qui le rendent peu clair; ces défauts ont été éliminés dans le programme suivant, qui est équivalent au premier.

    program sup (data, output);
    { Donnees : un fichier "data" de type text, contenant un entier par ligne
    Resultat : afficher a la sortie standard le nombre d'elements de "data" qui sont > BORNE }
  
    const BORNE = 42 ;

    type nombre = integer ;   {type des elements de "data"}

    var  element : nombre ;   {valeur de chaque element examine}
         compteur : integer ;   {nombre d'elements > BORNE}
         data : text ;

    begin
        reset (data) ;
        compteur := 0 ;  {initialisation : on n'a pas encore trouve d'elements > BORNE}
        while not eof (data) do
        begin
            readln(data,element) ;
            if element > BORNE then compteur := compteur + 1
            {compteur = nombre d'elements lus jusqu'a present et > BORNE}
        end ;
        {on a lu toutes les donnees dans data}
        writeln (compteur,´ elements de data sont > ´,BORNE)
    end.

Ce deuxième programme suit les conseils généraux suivants :


2. Quelques sources d'erreurs fréquentes

Après avoir lu de nombreux programmes PASCAL d'étudiants, les auteurs ont pu isoler un certain nombre de notions qui, mal comprises ou mal assimilées, sont la source de fréquentes erreurs syntaxiques ou sémantiques.

Ces notions ne sont pas particulièrement mises en évidence dans le corps du présent manuel. Mais le lecteur en trouvera la liste dans les pages qui suivent, qui sont destinées á lui servir de pense­bête. Libre á lui d'utiliser les moyens de son choix, surligneur ou autre, pour mettre en évidence le "danger" ou l'importance de ces notions dans les pages précédentes.

2.1. Concernant = := ; , [] () {}

2.2. Déclarations

2.3. Nombres

2.4. Booléens

2.5. Tableaux et fichiers

2.6. Sous­programmes

2.7. Instructions composées

2.8. Instructions conditionnelles

2.9. Instructions de répétition

2.10. Entrées/Sorties


Table des matières indexe chapitre suivant