Si les types prédéfinis mentionnés précédement ne vous suffisent pas, vous pouvez déclarer (donc créer) d'autres types. Il faut d'abord définir le type que vous désirez créer en donnant la liste ordonnée de toutes les valeurs possibles :
exemple :
TYPE tjour=(lundi,mardi,mercredi,jeudi,vendredi,samedi,dimanche);
Toutes le variables de ce type ne pourront pas avoir d'autres valeurs que celles que l'on a énumérées.
Il faut ensuite déclarer quelles variables seront de ce type :
ex: VAR jour1,jour2:tjour;
On peut alors les utiliser dans le programme grâce à :
* des affectations : JOUR1:=mercredi;
JOUR2:=JOUR1;
* des fonctions prédéfinies: PRED (précédent), SUCC (suivant), ORD (numéro d'ordre (dans la déclaration), entre 0 et N-1)
ex: pred(mardi)=lundi
succ(mardi)=mercredi
ord(mardi)=1
* des comparaisons : lundi
* des boucles : FOR jour1:=lundi TO vendredi DO ...
* des sélections de cas : CASE jour2 OF
lundi : ...;
samedi,dimanche : ...
END
Rq1: les types entiers, booléens, caractères sont des types énumérés prédéfinis. Toutes ces possibilités s'y appliquent donc (succ(10)=11, ord('A')=65,...). Par contre les réels ne sont pas énumérés (on ne peut pas définir de successeur), et ni CASE ni FOR ne peuvent s'y appliquer.
Rq2: READLN et WRITELN ne fonctionnent pas en standard pour les types définis par l'utilisateur, mais plusieurs compilateurs l'acceptent (pas TURBO).
Aucun commentaire:
Enregistrer un commentaire