Assignment and Operations/fr

From Free Pascal wiki
Jump to: navigation, search

English (en) español (es) français (fr) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

Tutoriel de Pascal Objet : Bases / Affectation et opérations

Une fois que vous avez déclaré une variable, vous pouvez stocker une valeur dedans : il s'agit de l'affectation.

Pour affecter une valeur à une variable, suivez cette syntaxe :

variable_name := expression;

Observez que contrairement aux autres langages où l'affectation est juste un signe égal, Pascal emploie un deux-points suivi du signe égal, de manière identique aux systèmes de calcul formel.

L'expression peut soit être une simple valeur :

some_real := 385.385837;

ou bien cela peut être une expression arithmétique :

some_real := 37573.5 * 37593 + 385.8 / 367.1;

Les opérateurs arithmétiques du Pascal sont :

Operateur Opération Opérandes Résultat
+ Addition ou signe positif real or integer real or integer
- Soustraction ou signe positif real or integer real or integer
* Multiplication real or integer real or integer
/ Division réelle real or integer real
div Division entière integer integer
mod Modulo (reste entier) integer integer

div et mod ne fonctionnent que sur les integers. / fonctionne sur les reals et les integers mais retourne toujours un résultat real. Les autres opérations marchent sur les reals et integers. Quand vous mélangez des integers et des reals, le résultat sera toujours un real (sinon il résulterait un perte de données). C'est pourquoi Pascal utilise deux opérations différentes pour la division et la division entière. 7 / 2 = 3.5 (real), mais 7 div 2 = 3 (et 7 mod 2 = 1 puisque c'est le reste).

Chaque variable peut uniquement être affectée avec une valeur du même type de données. Vous ne pouvez donc pas affecter une valeur réelle dans une variable entière. Cependant, certains types de donnée seront convertis dans un type de données d'ordre supérieur. C'est souvent le cas en affectant des entiers dans des variables réelles. Admettons que vous avez déclaré :

var
  some_int : integer;
  some_real : real;

Après l'exécution du bloc d'instructions suivant :

some_int := 375;
some_real := some_int;

some_real aura la valeur de 375.0.

Transformer un type de donnée en un autre est la conversion de type (en Pascal, on parle aussi de cœrcition). Les compilateurs Pascal modernes supportent la conversion de type explicite comme en C, avec une syntaxe légèrement différente. Cependant, la conversion de type est généralement utilisée dans des situations de programmation de bas niveau et en relation avec la programmation orientée objet ; un débutant en programmation n'en aura pas besoin. Voici une information sur la conversion de type issu du manuel de GNU Pascal.

En Pascal, le signe moins peut être utilisé pour faire une valeur négative. Le signe plus peut être aussi utilisé pour faire une valeur positive, mais c'est rare car les valeurs sont par défaut positives.

Ne tentez pas d'utiliser deux opérateurs côte à côte, comme dans :

some_real := 37.5 * -2;

Cela est parfaitement sensé pour vous, parce que vous tentez de multiplier par le nombre négatif -2. Mais Pascal est embarrassé ne sachant s'il faut multiplier ou soustraire. Vous pouvez clarifier cela en employant des parenthèses :

some_real := 37.5 * (-2);

L'ordinateur suit un ordre d'évaluation des opérations similaire à celui que vous suivez quand vous faites de l'arithmétique. La multiplication et la division (* / div mod) viennent avant l'addition et la soustraction (+ -) et les parenthèses ont toujours la précédence. Donc par exemple, la valeur de 3.5*(2+3) sera 17.5.

Pascal ne peut pas faire d'opérations arithmétiques sur les booléens pour lesquels il existe un ensemble spécial d'opérations. Pareillement, vous ne pouvez pas faire d'opérations arithmétiques sur les caractères.

Sommaire