Section courante

A propos

Section administrative du site

Titre du programme et partie déclaration

Chaque programme est composé d'un titre et d'un bloc. Le bloc contient une partie déclaration, dans laquelle sont définis tous les objets locaux du programme, et une partie instruction, qui spécifie les actions à exécuter sur ces objets.

        
<programme> ::= <entête du programme> <bloc>.
<bloc> ::= <partie déclaration d'étiquette>
           <partie de définition constante>
           <partie de définition de type>
           <partie de déclaration de variable>
           <partie déclaration de procédure et de fonction>
           <partie déclaration>

Entête du programme

L'entête donne un nom au programme (sans signification particulière au sein du programme) et répertorie ses paramètres, grâce auxquels le programme communique avec l'environnement :

<entête du programme> ::= program <identificateur> { <identificateur de fichier>
                          { , <identificateur de fichier> } );

Partie déclaration d'étiquette

Toute instruction d'un programme peut être marquée en la préfixant d'une étiquette suivie de deux points (permettant une référence par une instruction goto). Cependant, l'étiquette doit être définie dans la partie déclaration d'étiquette avant son utilisation. Le symbole étiquette en tête de cette partie, ayant la forme générale suivante :

label <étiquette> {, <étiquette>};

Une étiquette est définie comme un entier non signé, composé d'au plus 4 chiffres.

Exemple :

  1. label 3,18;

Définition d'une constante

Une définition de constante introduit un identifiant comme synonyme d'une constante. Le symbole const introduit la définition de la constante, ayant la forme générale suivante :

const <identificateur> = <constante>; {<identificateur> = <constante>:

Où une constante est soit un nombre, soit un identifiant de constante (éventuellement signé), soit une chaîne de caractères.

L'utilisation d'identifiants de constantes améliore généralement la lisibilité d'un programme et constitue une aide pratique à la documentation. Elle permet également au programmeur de regrouper les quantités dépendantes de la machine ou de l'exemple au début du programme, où elles peuvent être facilement notées et/ou modifiées. (Ce qui favorise la portabilité et la modularité du programme.)

À titre d'exemple, considérons le programme suivant :

  1. { exemple de partie de définition constante }
  2.  
  3. program convert(output);
  4.  
  5. const addin = 32; mulby = 1.8; low = 0; high = 39;
  6.       separator = ' ----------';
  7. var degree : low..high;
  8. begin
  9.    writeln(separator);
  10.    for degree := low to high do
  11.    begin   write(degree,'c',round(degree*mulby + addin),'f');
  12.       if odd(degree) then writeln
  13.    end;
  14.    writeln;
  15.    writeln(separator)
  16. end.

on obtiendra le résultat suivant :

----------
        0c        32f        1c      34f
        2c        36f        3c      37f
        4c        39f        5c      41f
        6c        43f        7c      45f
        8c        46f        9c      48f
       10c        50f       11c      52f
       12c        54f       13c      55f
       14c        57f       15c      59f
       16c        61f       17c      63f
       18c        64f       19c      66f
       20c        68f       21c      70f
       22c        72f       23c      73f
       24c        75f       25c      77f
       26c        79f       27c      81f
       28c        82f       29c      84f
       30c        86f       31c      88f
       32c        90f       33c      91f
       34c        93f       35c      95f
       36c        97f       37c      99f
       38c       100f       39c     102f
----------

Partie définition de type

En Pascal, un type de données peut être décrit directement dans la déclaration de variable ou référencé par un type identifiant. Outre plusieurs identifiants de type standard, un mécanisme de création de nouveaux types est fourni. Le type symbole introduit une partie de programme contenant les définitions de type. La définition elle-même détermine un ensemble de valeurs et lui associe un identifiant. La forme générale est :

type <identificateur> = <type>; {<identificateur> <type>;}

Partie déclaration de variable

Chaque variable apparaissant dans une instruction doit être déclarée dans une déclaration de variable. Cette déclaration doit précéder textuellement toute utilisation de la variable.

Une déclaration de variable associe un identifiant et un type de données à une nouvelle variable en listant simplement l'identifiant suivi de son type. Le symbole var est en tête de la partie déclaration de variable.

La forme générale est :

var <identificateur> {. <identificateur>} : <type>;
    {<identificateur> {, <identificateur>} : <type>;

Exemp1e :

  1. var root1,root2,root3: real;
  2.     count,i: integer;
  3.     found: Boolean;
  4.     filler: char;

Cette association identifiant/type est valide dans tout le bloc contenant la déclaration, sauf si l'identifiant est redéfini dans un bloc subordonné. Supposons qu'un bloc B soit imbriqué dans le bloc A (c'est-à-dire déclaré dans la portée de A et donc subordonné à celui-ci). Il est possible de déclarer dans B un identifiant déjà déclaré dans A. Cela a pour effet d'associer cet identifiant à une variable locale à B - non disponible pour A - pouvant être de n'importe quel type. Cette dernière définition est alors valide dans toute la portée de B, sauf redéclaration dans un bloc subordonné à B. Il n'est pas permis de déclarer un même identifiant plus d'une fois au même niveau et à la même portée. Par conséquent, ce qui suit est toujours incorrect :

  1. var a : integer;
  2.     a : real;

Partie Déclaration de procédure et de fonction

Toute procédure ou fonction doit être définie (ou annoncée) avant son utilisation. Les procédures sont des sous-routines activées par des instructions de procédure. Les fonctions sont des sous-routines générant une valeur de résultat et peuvent donc être utilisées comme constituants d'expressions.



Dernière mise à jour : Mardi, le 12 Mars 2024