Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 1/Assignment and Operations/fr: what changed

Revision 1 to 2. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11[[Basic Pascal Tutorial/fr|Tutoriel de Pascal Objet]] : Bases / **Affectation et opérations**
22
33Une fois que vous avez déclaré une variable, vous pouvez stocker une valeur dedans : il s'agit de l'affectation.
44
55Pour affecter une valeur à une variable, suivez cette syntaxe :
66```
77variable_name := expression;
88```
99
1010Observez 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.
1111
1212L'expression peut soit être une simple valeur :
1313```
1414some_real := 385.385837;
1515```
1616
1717ou bien cela peut être une expression arithmétique :
1818```
1919some_real := 37573.5 * 37593 + 385.8 / 367.1;
2020```
2121
2222Les opérateurs arithmétiques du Pascal sont :
2323
2424Operateur | Opération | Opérandes | Résultat
2525---|---|---|---
2626+ | Addition ou signe positif | real or integer | real or integer
2727- | Soustraction ou signe positif | real or integer | real or integer
2828* | Multiplication | real or integer | real or integer
2929/ | Division réelle | real or integer | real
3030div | Division entière | integer | integer
3131mod | Modulo (reste entier) | integer | integer
3232
3333**`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).
3434
3535Chaque 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é :
3636```
3737var
3838 some_int : integer;
3939 some_real : real;
4040```
4141
4242Après l'exécution du bloc d'instructions suivant :
4343```
4444some_int := 375;
4545 some_real := some_int;
4646```
4747
4848`some_real` aura la valeur de `375.0`.
4949
5050Transformer 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.
5151
5252En 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.
5353
5454Ne tentez pas d'utiliser deux opérateurs côte à côte, comme dans :
5555```
5656some_real := 37.5 * -2;
5757```
5858
5959Cela 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 :
6060```
6161some_real := 37.5 * (-2);
6262```
6363
6464L'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`.
6565
6666Pascal 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.
6767
6868[[Basic Pascal Tutorial/Chapter 1/Variables and Data Types/fr|←]] | [[Basic Pascal Tutorial/Contents/fr|Sommaire]] | [[Basic Pascal Tutorial/Chapter 1/Standard Functions/fr|→]]
6969---|---|---
7070
7171---
72-*From the Free Pascal wiki, page "Assignment and Operations/fr", as the Internet Archive kept it on 2023-03-30. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
72+*From the Free Pascal wiki, page "Assignment and Operations/fr", as the Internet Archive kept it on 2023-03-30, last changed on 2022-08-20. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history