Section courante

A propos

Section administrative du site

VAR

Variable
Turbo Pascal 1+

Syntaxe

Var ident11,ident12,...:type1;
      ident21,ident22,...:type2;

Paramètres

Nom Description
ident11, ident12, ident21, ident22 Ce paramètre permet d'indiquer une variable
type1, type2 Ce paramètre permet d'indiquer un type de variable

Description

Ce mot réservé permet de définir des variables.

Bonnes pratiques

Si vous avez plusieurs variables a initialiser, le compilateur Turbo Pascal ne fait d'optimisation pour regrouper ceux-ci pour toutes les initialiser en même temps. Ainsi, si vous avez par exemple le programme suivant :

  1. Program BadSamples;
  2.  
  3. Procedure Local;
  4. Var
  5.  A,B,C:LongInt;
  6.  S:String;
  7. Begin
  8.  { MAUVAISE PRATIQUE }
  9.  A:=0;
  10.  B:=0;
  11.  C:=0;
  12.  S:='';
  13.  WriteLn('A = ',A,', B = ',B,', C = ',C);
  14.  WriteLn('S = ',S);
  15. End;
  16.  
  17. BEGIN
  18.  Local;
  19. END.

Il prendra environ 48 octets supplémentaires (3072 octets) comparativement a une initialisation en vrac (3024 octets) avec une procédure «FillChar» et en les regroupant dans une structure de données appelé «LocalVariables» :

  1. Program BadSamples;
  2.  
  3. Procedure Local;
  4. Var
  5.  LocalVariables:Record
  6.   A,B,C:LongInt;
  7.   S:String;
  8.  End;
  9. Begin
  10.  { BONNE PRATIQUE }
  11.  FillChar(LocalVariables,SizeOf(LocalVariables),0);
  12.  WriteLn('A = ',LocalVariables.A,', B = ',LocalVariables.B,', C = ',LocalVariables.C);
  13.  WriteLn('S = ',LocalVariables.S);
  14. End;
  15.  
  16. BEGIN
  17.  Local;
  18. END.

Imaginez un gros programme avec des milliers de procédures et fonctions, vous économiserez plusieurs 1 KiloOctets de mémoire en plus d'accélérer la vitesse de traitement du programme ! Il faut naturellement un minimum de 3 variables à initialiser par procédure ou fonction pour que cette technique en vaille la peine. De plus, que ce soit des nombres entier ou des nombres réel ou encore des chaines de caractères, on peut ainsi toutes les mettre à zéro ou égale à rien avec une simple instruction.

Exemple

Voici quelques exemples typiques de l'utilisation de ce mot réservé :

Essayer maintenant !
  1. Program VarSamples;
  2.  
  3. Var isValueBoolean:Boolean;
  4. Var myValue:Integer;
  5. Var myReal:Real;
  6.  
  7. BEGIN
  8.  isValueBoolean := true;
  9.  myValue := 0;
  10.  myReal := 0.0;
  11.  WriteLn('isValueBoolean = ',isValueBoolean);
  12.  WriteLn('myValue = ',myValue);
  13.  WriteLn('myReal = ',myReal);
  14. END.

on obtiendra le résultat suivant :

isValueBoolean = TRUE
myValue = 0
myReal = 0.0000000000E+00

Références

Aide-mémoire de Turbo Pascal versions de 3 à 6, Edition Marabout, De Groote, Virga, 1992, ISBN: 2-501-01833-8, page 448.

Dernière mise à jour : Dimanche, le 8 février 2015