Turbo Pascal – Les variables
- Turbo Pascal – Introduction au Turbo Pascal
- Turbo Pascal – Ecrire sur l’écran
- Turbo Pascal – Un peu de maths
- Turbo Pascal – Les commentaires
- Turbo Pascal – Les variables
- Turbo Pascal – Les constantes
- Turbo Pascal – Entrée de données
- Turbo Pascal – Structure conditionnelle
- Turbo Pascal – Les cas
- Turbo Pascal – Branchements
- Turbo Pascal – Les boucles
- Turbo Pascal – Procédures et fonctions
- Turbo Pascal – Les unités
- Turbo Pascal – Les tableaux
- Turbo Pascal – Les maths
- Turbo Pascal – Le traitement du texte
- Turbo Pascal – Affichage du texte
- Turbo Pascal – Le son
- Turbo Pascal – Graphismes
- Turbo Pascal – L’unité Graph et le texte
- Turbo Pascal – Les types personalisés
- Turbo Pascal – Les pointeurs
- Turbo Pascal – Les objets
- Turbo Pascal – Les ensembles
Une variable permet de stocker des données dans la mémoire de l’ordinateur, en vu d’une utilisation
ultérieure dans le programme.
Le Turbo Pascal tend à simplifier l’accès à la mémoire. Au lieu d’avoir à gérer un segment et
un offset, on donne tout simplement un nom assez explicite à la variable.
Toute fois, quelques rêgles sont à observer :
- Pas de caractère spéciaux ou accentués
- Pas d’espaces, ni de points
- Pas plus de 127 caractères (c’est déjà pas mal !)
- Pas de chiffres en première position
- Une variable ne peut pas prendre le nom d’une instruction existante
Voici quelques exemple de noms de variables valides :
Count
Heure1
Anticonstitutionnellement
Et voici des noms à proscrire
IF
Yéééééééhé
11h30mn54s
Déclaration des variables
Contrairement au Basic, le Turbo Pascal nécessite une déclaration préalable de toute variable
avant son utilisation. Cela impose d’avoir une certaine rigueur dans son programme.
La déclaration ne se fait pas n’importe comment, ni n’importe où.
Mais quoiqu’il arrive, il faut toujours utiliser le mot-clef var.
Ensuite, à la ligne ou à la suite, viennent les variables, puis le double-point (:) et enfin
leur types (sans oublier le point-virgule à la fin !).
On n’obtient donc la syntaxe suivante :
var Nom : Type;
Pour l’instant, nous n’allons pas compliquer la chose et toute nos variables seront déclarées
tout au début du programme, avant
begin…end. :
var Count : integer; { La variable ‘Count’ est du type Integer }begin
end.
Laissez
integer de coté pour le moment. Bien entendu, on peut utiliser plusieursvariables dans un programme. Deux alternatives se proposent. Soit on réécrit le mot-clef
var :
var Count : integer; { 1er variable }
var ItsGood : boolean; { 2ème variable }begin
end.
Ou alors on utilise une seul fois
var :
var Count : integer; { 1er variable }
ItsGood : boolean; { 2ème variable }begin
end.
Les types de variables
En Turbo Pascal, le type de la variable doit obligatoirement être spécifié.
Un type, qu’est ce que c’est ? En fait, le type de la variable est choisi en fonction
du type de données qu’elle va recevoir.
Par exemple, une variable peut acceuillir du texte, des nombres décimaux, entiers, d’un certain
nombre de bits…
C’est donc à vous de choisir le bon type, selon les travaux que vous voulez effectuer. Pour cela,
il faut vous referer au tableau suivant :
| Type | Déscription | Fourchette | Exemples | Mémoire requise |
|---|---|---|---|---|
| Shortint | Entiers courts | -128 à 127 | -125; 0; 32 | 1 octet |
| Integer | Entiers « normaux » | -32 768 à 32 767 | -30 000; 421; | 2 octets |
| Longint | Entiers longs | -2147483648 à 2147489647 | -12 545 454; 3 257 | 4 octets |
| Byte | Entiers sur 1 Bit (Byte ou Octet) | 0 à 255 | 12; 157 | 1 octet |
| Word | Entiers sur 2 Bits (Word ou Mot) | 0 à 65 535 | 27; 4 589 | 2 octets |
| Real | Nombres réels | 2.9E-39 à 1.7E38 | 3.1415; 789.457851 | 6 octets |
| Single | Nombres décimaux (simple précision) | 1.5E-45 à 3.4E38 | 3.1415926; 178 925.455678 | 4 octets |
| Double | Nombres décimaux (double précision) | 5E-324 à 1.7E308 | 54.5899; 9 897 669 651.45568959 | 8 octets |
| Extended | Nombres réel | 3.4E-4932 à 1.1E4932 | 3.14159265458; 9.81 | 10 octets |
| Comp | Entier | -9.2E18 à 9.2E18 | -271; 6 548 | 8 octets |
| Boolean | Boolean sur 1 octet | false ou true | false; true | 1 octet |
| Wordbool | Boolean sur 1 mot | false ou true | false; true | 2 octets |
| Longbool | Boolean sur 1 Double-Mot | false ou true | false; true | 4 octets |
| Bytebool | Boolean sur 1 octet | false ou true | false; true | 1 octet |
| String | Chaîne de caractères | 256 caractères maximum | ‘Hello!’; ‘Allez-vous bien ?’ | 256 octets |
| String[n] | Chaîne de n caractères | n caractères maximum | String[6]->’Hello!’ | n octets |
| Char | 1 caractère | 1 caractère maximum | ‘R’ | 1 octet |
Mais pourquoi tant de type, alors que le Basic n’en posséde que quatre ? À mon avis, c’est certainement
parce qu’au départ, le Pascal été prévu pour une utilsation scientifique.
D’ailleurs, ce tableau est loin d’être complet. En effet, il existe bien d’autres types, mais
il ne sont accessibles que par l’intermediaire d’une unité.
L’opérateur d’affectation
Pour affecter une valeur à une variable, on utilise le double point, suivi du signe égual (:=) :
var Nombre : integer; { Variable ‘Nombre’ du type entier }begin
Nombre := 5; { On affecte 5 à la variable ‘Nombre’ }
Nombre := Nombre + 1; { On ajoute 1 }
Nombre := Nombre * Nombre; { Au carré }
write(Nombre); { sortie : 36 }
end.
Pour les chaînes de caractères, on peut faire pareil :
var Debut : string; { 4 variables chaînes de caractères }
Millieu : string;
Fin : string;
Phrase : string;begin
Debut := ‘Hello ! ‘;
Millieu := ‘Je suis un Warrior ‘;
Fin := ‘et j »apprends le Turbo Pascal’; { Remarquez le double apostrophe }
Phrase := Debut + Millieu + Fin; { « Concaténation » des 3 morceaux }
write(Phrase);
end.
En Turbo Pascal, une chaîne de caractère est stockée dans un tableau. Comme nous n’avons
pas encore vu de quoi il s’agit, nous ferons vite :
var MaChaine : string;begin
MaChaine := ‘Warrior’;
writeln(MaChaine[1]); { Sortie : ‘W’}
writeln(MaChaine[2]); { Sortie : ‘a’}
writeln(MaChaine[3]); { Sortie : ‘r’}
writeln(MaChaine[4]); { Sortie : ‘r’}
writeln(MaChaine[5]); { Sortie : ‘i’}
writeln(MaChaine[6]); { Sortie : ‘o’}
writeln(MaChaine[7]); { Sortie : ‘r’}
end.
Pour mes exercices personnels je veux resoudre quelques exercices et voir leurs correction.