PRIORITE DES OPERATEURS
En Pascal, lorsque l'on veut déterminer comment s'exécutent des calculs, on travaille selon des règles prédéfinies. On peut passer outre à ces règles grâce à l'utilisation de parenthèses.

La priorité des différents opérateurs, de la plus élevée à la plus basse, est

    NOT              
    * / DIV MOD AND
    + - OR
    =  <>  <  <=  >  >=  IN

    Au sein d'une même priorité, les opérateurs sont toujours évalués de gauche à droite


Exercices: la priorité des opérateurs
Soit
  A := 1;      B := 2;      C := 4;
Que vaut X après chacune des instructions suivantes,
  X := A / B / C;               ________________
  X := A + B / C;               ________________
  X := A * B * C;               ________________
  X := A * B - C;               ________________
  X := A + B + C;               ________________
  X := A / B * C;               ________________
  X := A * B / C;               ________________
  X := A + B - 1;               ________________

Cliquez ici pour la réponse

Les parenthèses sont utilisées pour passer outre à la priorité des opérateurs. Soit l'affectation

             A + B
        X = -------
             C + D
elle devient en Pascal
        X := ( A + B ) / ( C + D )
et l'affectation
                   B
        X = A  +  ---  +  D
                   C
devient en Pascal
        X := A + ( B / C ) + D


Testez-vous
Ecrivez les instructions Pascal qui expriment correctement chacune des expressions mathématiques suivantes.
             2                                2 
 1. Z = X + Y                2.  Z = ( X + Y )

         A + B + E                        B
 3. Z = -----------          4.  Z = A + ---
           D + E                          C

         A + B                              B
 5. Z = -------              6.  Z = A + -------
           C                              D - C


Cliquez ici pour la réponse


Lesquelles de ces instructions sont fausses et pourquoi?
     Y := 2X + A
     4 := X - Y
     A := 1 / ( X + ( Y - 2 )
    -J := K + 1
     S := T / * 3
     Z + 1 := A

Cliquez ici pour la réponse


Copyright B Brown/P Henry/CIT, 1988-1995. Tous droits réservés.
Copyright UCL/INGI, 1995. Tous droits réservés
URL: http://candix1.fsa.ucl.ac.be/langages/Pascal/tutoriel/pas039.htm