Pascal - Opérateurs

Un opérateur est un symbole qui indique au compilateur d'effectuer des manipulations mathématiques ou logiques spécifiques. Pascal autorise les types d'opérateurs suivants -

  • Opérateurs arithmétiques
  • Opérateurs relationnels
  • opérateurs booléens
  • Opérateurs de bits
  • Définir les opérateurs
  • Opérateurs de chaîne

Discutons un par un des opérateurs arithmétique, relationnel, booléen et bit. Nous discuterons plus tard des opérateurs d'ensemble et des opérations sur les chaînes.

Opérateurs arithmétiques

Le tableau suivant montre tous les opérateurs arithmétiques pris en charge par Pascal. Supposons une variableA détient 10 et variable B détient 20, alors -

Afficher des exemples

Opérateur La description Exemple
+ Ajoute deux opérandes A + B donnera 30
- Soustrait le deuxième opérande du premier A - B donnera -10
* Multiplie les deux opérandes A * B donnera 200
/ Divise le numérateur par le dénominateur B / A donnera 2
% Opérateur de module et reste après une division entière B% A donnera 0

Opérateurs relationnels

Le tableau suivant montre tous les opérateurs relationnels pris en charge par Pascal. Supposons une variableA détient 10 et variable B détient 20, alors -

Afficher des exemples

Opérateur La description Exemple
= Vérifie si les valeurs de deux opérandes sont égales ou non, si oui, alors la condition devient vraie. (A = B) n'est pas vrai.
<> Vérifie si les valeurs de deux opérandes sont égales ou non, si les valeurs ne sont pas égales, la condition devient vraie. (A <> B) est vrai.
> Vérifie si la valeur de l'opérande gauche est supérieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> B) n'est pas vrai.
< Vérifie si la valeur de l'opérande gauche est inférieure à la valeur de l'opérande droit, si oui, la condition devient vraie. (A <B) est vrai.
> = Vérifie si la valeur de l'opérande gauche est supérieure ou égale à la valeur de l'opérande droit, si oui, la condition devient vraie. (A> = B) n'est pas vrai.
<= Vérifie si la valeur de l'opérande gauche est inférieure ou égale à la valeur de l'opérande droit, si oui, alors la condition devient vraie. (A <= B) est vrai.

Opérateurs booléens

Le tableau suivant montre tous les opérateurs booléens pris en charge par le langage Pascal. Tous ces opérateurs travaillent sur des opérandes booléens et produisent des résultats booléens. Supposons une variableA est vrai et variable B est faux, alors -

Afficher des exemples

Opérateur La description Exemple
et Appelé opérateur booléen AND. Si les deux opérandes sont vrais, la condition devient vraie. (A et B) est faux.
et alors Il est similaire à l'opérateur AND, mais il garantit l'ordre dans lequel le compilateur évalue l'expression logique. Les opérandes de gauche à droite et de droite ne sont évalués que lorsque cela est nécessaire. (A puis B) est faux.
ou Opérateur OR booléen appelé. Si l'un des deux opérandes est vrai, la condition devient vraie. (A ou B) est vrai.
ou sinon Il est similaire à Boolean OR, cependant, il garantit l'ordre dans lequel le compilateur évalue l'expression logique. Les opérandes de gauche à droite et de droite ne sont évalués que lorsque cela est nécessaire. (A ou bien B) est vrai.
ne pas Opérateur booléen appelé NOT. Utilisé pour inverser l'état logique de son opérande. Si une condition est vraie, alors l'opérateur logique NOT la rendra fausse. not (A et B) est vrai.

Opérateurs de bits

Les opérateurs au niveau du bit travaillent sur les bits et effectuent des opérations bit par bit. Tous ces opérateurs travaillent sur des opérandes entiers et produisent des résultats entiers. La table de vérité pour les bits et (&), les bits ou (|) et les bits non (~) est la suivante:

p q p & q p | q ~ p ~ q
0 0 0 0 1 1
0 1 0 1 1 0
1 1 1 1 0 0
1 0 0 1 0 1

Supposons que A = 60; et B = 13; maintenant au format binaire, ils seront comme suit -

A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A ^ B = 0011 0001

~ A = 1100 0011

Les opérateurs Bitwise pris en charge par Pascal sont répertoriés dans le tableau suivant. Supposons que la variable A vaut 60 et la variable B vaut 13, alors:

Afficher des exemples

Opérateur La description Exemple
& L'opérateur binaire AND copie un bit dans le résultat s'il existe dans les deux opérandes. (A & B) donnera 12, soit 0000 1100
| L'opérateur OR binaire copie un bit s'il existe dans l'un ou l'autre des opérandes. (A | B) donnera 61, soit 0011 1101
! L'opérateur OR binaire copie un bit s'il existe dans l'un ou l'autre des opérandes. C'est la même chose que | opérateur. (A! B) donnera 61, soit 0011 1101
~ L'opérateur de complément Binary Ones est unaire et a pour effet de «retourner» les bits. (~ A) donnera -61, soit 1100 0011 sous la forme du complément à 2 en raison d'un nombre binaire signé.
<< Opérateur de décalage binaire gauche. La valeur des opérandes de gauche est déplacée vers la gauche du nombre de bits spécifié par l'opérande de droite. Un << 2 donnera 240, soit 1111 0000
>> Opérateur de décalage binaire vers la droite. La valeur des opérandes de gauche est déplacée vers la droite du nombre de bits spécifié par l'opérande de droite. Un >> 2 donnera 15, soit 0000 1111

Veuillez noter que les différentes implémentations de Pascal diffèrent par les opérateurs binaires. Free Pascal, le compilateur que nous avons utilisé ici, prend cependant en charge les opérateurs de bits suivants -

Les opérateurs Opérations
ne pas Pas au niveau du bit
et ET au niveau du bit
ou OU au niveau du bit
xor OU exclusif au niveau du bit
shl Décalage au niveau du bit vers la gauche
Shr Décalage binaire à droite
<< Décalage au niveau du bit vers la gauche
>> Décalage binaire à droite

Priorité des opérateurs en Pascal

La priorité des opérateurs détermine le regroupement des termes dans une expression. Cela affecte la manière dont une expression est évaluée. Certains opérateurs ont une priorité plus élevée que d'autres; par exemple, l'opérateur de multiplication a une priorité plus élevée que l'opérateur d'addition.

Par exemple x = 7 + 3 * 2; ici, x est attribué à 13, et non à 20 car l'opérateur * a une priorité plus élevée que +, il est donc d'abord multiplié par 3 * 2, puis ajouté en 7.

Ici, les opérateurs avec la priorité la plus élevée apparaissent en haut du tableau, ceux avec la priorité la plus basse apparaissent en bas. Dans une expression, les opérateurs de priorité supérieure seront évalués en premier.

Afficher des exemples

Opérateur Priorité
~, pas, Le plus élevé
*, /, div, mod et, &
|,!, +, -, ou,
=, <>, <, <=,>,> =, dans
ou bien, et puis Le plus bas