GRATUIT

Vos offres d'emploi informatique

Développeurs, chefs de projets, ingénieurs, informaticiens
Postez gratuitement vos offres d'emploi ici visibles par 4 000 000 de visiteurs uniques par mois

emploi.developpez.com

Developpez.com - Pascal
X

Choisissez d'abord la catégorieensuite la rubrique :

 

CHAPITRE XXVI : Constantes

Par Hugo ETIEVANT

Dans un programme, est est souvent nécessaire sinon utile d'avoir des valeurs de référence ou des conditions initiales. Ainsi, au lieu d'affectations en début de programme qui peuvent s'avérées fastidieuses si elles doivent êtres réexécutées en cours de programme. Alors, pour alléger le code et pour facilité 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-programme n'a pas besoin d'être passée en paramètre à ses 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 (qui peut être nulle) lui est affectée dès sa déclaration avant le code exécutable. C'est l'opérateur égale = qui affecte une valeur à une constante après que cette dernière se soit vue affectée un identificateur par l'utilisation du mot réservé Const.

Syntaxe :

Const identificateur-de-la-constante = valeur ;

Exemples :

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 à virgule affectée à 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 reste 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 donné 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 :

Const identificateur : type-de-la-constante = valeur ;

Exemples :

Const Nmax : Longint = 60000 ;
Const Defaut : String = '*' ;

Note: 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 :

Const identificateur = expression ;

Exemples :

Const Esc = Chr(27) ;
Const taux = (exp(10)-(3*Pi))/100 ;
Const nom = 'Cyber'+'Zoïde' ;
Const softi : Integer = Ord(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éclarations des fonctions, procédures, variables). Pour êtres utilisables par tous les sous-programmes (procédures paramétrées...), les constantes doivent nécessairement êtres déclarée avant ces premiers.

Program exemple40 ;
Const
nom='Bill';
Procedure
saisielibre(Var toi:String);
Begin
WriteLn('Entrez votre nom :');
ReadLn(
toi);
If
toi='' Then toi:=nom;
End;
Procedure
saisiecontrainte(Var toi:String);
Begin
Repeat
WriteLn('
Entrez votre nom :');
ReadLn(
toi);
Until
toi<>'';
End;
Var
toi:String;
BEGIN
saisielibre(toi);
saisiecontrainte(toi);
END.

Cet 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 procedure saisiecontrainte elle ne laisse quère le choix à l'utilisateur : il doit absoluement entrer un nom pour poursuivre le programme.

Responsables bénévoles de la rubrique Pascal : Gilles Vasseur - Alcatîz -