Les variables



La notion de variable

La notion de variable existe dans tous les langages de programmation.

Les variables servent à conserver temporairement des données en mémoire.

Une variable peut être vue comme une plage mémoire dans une zone de données d'un programme. Elle porte un nom et possède à un instant donné une valeur.

On peut donc parler de l'adresse d'une variable: c'est l'adresse du début la plage mémoire qui lui est réservée.

Voici par exemple quatre variables nommées Age, Nom, NombreEnfant et Prenom.

DefVariable.jpg, 41kB

La valeur d'une variable varie lors de l'exécution d'un programme (d'où le nom de variable justement !). La variable NombreEnfant pourra par exemple valoir successivement 2, 0, 3, 1, 0, 4,...

Par contre, le nom d'une variable ne change pas : il est le même du début à la fin de l'exécution d'un programme.

Les noms de variables en Pascal

En Pascal, les noms de variables doivent respecter les règles suivantes:

Règle1: Le premier caractère est obligatoirement une lettre.

Règle2: Les seuls caractères autorisés sont les lettres (sans accents), les chiffres et "_".

Règle3: un nom de variable ne peut pas être un mot clé du langage.

Voici quelques exemples et contre-exemples de nom de variables:

Nom Validité Règles non respectées
Prenom Oui
Prénom Non 2
Nom101 Oui
Nom_Eleve Oui
Nom Eleve Non 2
_Age Non 1
Age-Eleve Non 2
Integer Non 3


Attention: la casse n'a pas d'importance, c'est à dire que Pascal ne distingue pas les minuscules des majuscules. Nom_Eleve, nom_Eleve, nom_eleve désignent donc la même variable.

La notion de type

Il existe différents types de variables.

Le type d'une variable définit la manière dont elle est représentée en mémoire et les opérations que l'on peut faire dessus.

Il existe par exemple des variables de type chaine de caractères qui vont servir à stocker du texte en mémoire. La variable Prenom pourrait par exemple être de ce type. A un instant donné, sa valeur pourrait être 'Astérix', à un autre moment 'Obélix' ou encore à un autre moment 'Abraracourcix'.

Il existe aussi des variables de type entier. Ce pourrait par exemple être les variables Age, ou NombreEnfant.

La représentation en mémoire d'une variable dépend de son de type. En particulier, deux variables de types distincts n'occupent pas en général la même place mémoire (schéma).

D'autre part, les opérations que l'on peut faire sur deux variables de types différents ne sont pas les mêmes. Par exemple on ne pourra pas multiplier deux chaines de caractères, alors que l'on peut très bien multiplier deux entiers.

Déclaration d'une variable

La déclaration d'une variable sert à définir son type et par conséquent la manière dont elle sera représentée en mémoire. Elle a pour effet de réserver une plage mémoire pour stocker la valeur de cette variable. Le type de la variable définit la taille de cette plage et la manière de coder ses valeurs.

Toute variable doit (en principe) être déclarée, avant de pouvoir être utilisée. En Pascal, la déclation est obligatoire. D'autres langages (comme Visual Basic par exemple) autorisent une déclaration implicite avec un type par défaut. Malheureusement , cela autorise également des erreurs de programmation ....

La manière de déclarer une variable dépend évidemment du langage de programmation, mais on y trouve toujours les mêmes ingrédients : le nom de la variable et son type.

Déclaration d'une variable en Pascal

Syntaxe générale

Une déclaration de variable en Pascal utilise le mot clé Var suivi du nom de la variable, du caractère :, puis du nom du type et d'un point-virgule.

Var Nom de la variable : nom du type ;
Déclaration d'un entier

Prenons par exemple la variable Age.

En Pascal, le type entier s'appelle Integer. La déclaration de la variable Age se ferait donc comme ceci:

Var Age : Integer ;
Le type double

Les nombres entiers ne sont pas les seuls nombres avec lesquels un ordinateur peut calculer. Il y a également les nombres décimaux (comme 0.5 ou 3.14 par exemple). Ces nombres peuvent par exemple (il y a d'autres possibilités) être représentés par le type Double en Pascal.

Déclaration d'une chaine de caractères

Prenons par exemple la variable Prenom de type chaine de caractères.

En Pascal, le type chaine de caractères s'appelle String. La déclaration de la variable Prenom s'écrira donc :

Var Prenom : String ;
Regroupement des déclarations

Remarquez qu'il est inutile de répéter le mot clé var. De plus, les variables de même type peuvent être regroupées : on sépare les noms des variables par des virgules puis on précise leur type par : nom du type ;

Exemple:

Var Nom, Prenom : String ; Age, NombreEnfant : Integer;
Où faut-il déclarer les variables ?

Pour qu'une variable soit utilisable à n'importe quel endroit d'une unité Pascal, elle doit être déclarée entre var et implementation, comme dans l'exemple suivant:

var
  Form1: TForm1;
  // Déclaration des variables globales
  x, y , somme : integer;

implementation    

Nous avons déclaré ici trois variables de type entier: x, y et somme.

Les variables déclarées de cette manière sont appelée variables globales. Cela signifie qu'elles peuvent être utilisées dans tout le code du fichier où elles sont déclarées.