IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Cours de Turbo Pascal 7


précédentsommairesuivant

Chapitre 26 - Constantes

Dans un programme, il est indispensable d'utiliser des constantes si on veut écrire du code aisément maintenable et modifiable. Il faut systématiquement faire la chasse aux « nombres magiques », qui sont les valeurs numériques apparaissant en clair dans le code. De plus, il est souvent nécessaire d'avoir des valeurs de référence ou des conditions initiales, au lieu d'affectations en début de programme. Alors, pour alléger le code et pour améliorer la lisibilité et surtout la compréhension générale du programme, il est préférable d'avoir recours à des constantes.

Une constante, pour être connue de tous les sous-programmes, doit être déclarée avant ces derniers. Si une constante est déclarée après une fonction, pour que cette fonction puisse l'utiliser, la constante doit être passée en paramètre à la fonction. Une constante déclarée avant tous les sous-programmes n'a pas besoin d'être passée en paramètre à ces derniers pour y être utilisée (c'est le même principe que pour les variables, fonctions, procédures paramétrées et types).

Comme son nom l'indique, une constante ne change pas de valeur au cours du programme, une valeur de départ lui est affectée dès sa déclaration avant le code exécutable. C'est l'opérateur = qui affecte une valeur à une constante après que cette dernière se soit vue affecter un identificateur par l'utilisation du mot réservé Const.

Syntaxe :

 
Sélectionnez
Const identificateur_de_la_constante = valeur;

Exemples :

 
Sélectionnez
Const Nom = 'CyberZoïde';
Const TVA = 20.6;
Const Esc = #27;

Le compilateur décide automatiquement d'affecter à la constante le type de base compatible le plus économique. Ceci est totalement transparent au programmeur. Par exemple, lorsqu'il trouve un nombre réel affecté à une constante, il lui spécifie le type Real. Ou encore, si vous affectez un caractère à une constante, celle-ci sera de type Char et non de type String. Mais il vous est possible de forcer le type de la constante par les deux points: que vous connaissez déjà pour les variables. De plus, cette déclaration de type à une constante en plus de sa valeur est dans certains cas indispensable, si vous souhaitez leur donner une valeur qui n'est pas d'un type de base du compilateur (par exemple un ensemble ou un type que vous avez vous-même défini avant la constante).

Syntaxe :

 
Sélectionnez
Const identificateur : type_de_la_constante = valeur;

Exemples :

 
Sélectionnez
Const Nmax : LongInt = 60000;
Const Defaut : String = '*';

Les constantes peuvent être de tout type sauf de type fichier.

On peut tout aussi bien affecter aux constantes des expressions dont le résultat sera évalué à la compilation.

Syntaxe :

 
Sélectionnez
Const identificateur = expression;

Exemples :

 
Sélectionnez
Const Esc = Chr(27);
Const Taux = (exp(10) - (3 * Pi)) / 100;
Const Nom = 'Cyber'+'Zoïde';
Const Softi : Integer = Length(Nom);

La déclaration des constantes se fait dans la partie déclarative du programme, avant le code exécutable (tout comme pour la déclaration des fonctions, procédures, variables). Pour être utilisables par tous les sous-programmes (procédures paramétrées…), les constantes doivent nécessairement être déclarées avant ces derniers.

 
Sélectionnez
Program Exemple40;

Const 
  Nom = 'Bill';

Procedure SaisieLibre (var Toi : String);
Begin
  Write('Entrez votre nom : ');
  ReadLn(Toi);
  if Toi = '' then Toi := Nom;
End;

Procedure SaisieContrainte (var Toi : String);
Begin
  repeat
    Write('Entrez votre nom : ');
    ReadLn(Toi);
  until Toi <> '';
End;

Var 
  Toi : String;

BEGIN
  SaisieLibre(Toi);
  SaisieContrainte(Toi);
END.

Ce programme Exemple40 montre quelle peut être l'utilisation d'une constante. Ici, la procédure SaisieLibre permet à l'utilisateur de ne pas dévoiler son nom, la variable toi prenant une valeur par défaut qui est celle de la constante Nom. Quant à la procédure SaisieContrainte, elle ne laisse guère le choix à l'utilisateur : il doit absolument entrer un nom pour poursuivre le programme.


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2001-2013 Hugo Etievant. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.