Accueil > Turbo Pascal > Turbo Pascal – Les ensembles

Turbo Pascal – Les ensembles

This entry is part 24 of 24 in the series Turbo Pascal - Tutoriel

On a vu au départ que le langage Pascal a été conçu avant tout pour un usage scientifique et didactique. Il
permet, entre autres, une application directe de la theorie mathematique des ensembles.

Création d’un ensemble

Un ensemble peut être considéré comme un type à part entière de variable. On utilise les mots clefs Set Of,
suivi du type de variable qui sera contenu dans l’ensemble lors de la déclaration de la variable :

var Variable : Set Of type;

Le type doit être scalaire qui ne peut contenir que 256 valeurs et non signé, c’est à dire codé sur un octet
maximum. Les types valides peuvent donc être du type Char ou Byte, mais également
d’un type énuméré définit par le programmeur.
Voici des exemples de déclaration de type :

var ensA : Set Of Byte;

var ensB : Set Of Char;

type Jours = (Lun, Mar, Mer, Jeu, Ven, Sam, Dim);
var ensC : Set Of Jours;

Syntaxe

En math, les ensembles sont représentés graphiquement dans des sortes de cercles. Algebriquement, on les écrits
entre accolades :

A = {3, 7, 2, 5}

En Pascal, les accolades étant déjà utilisées pour les commentaires, ont utilise les crochets. L’ensemble
ci-dessus pourra s’écrire ainsi :

var A : Set Of Byte;

begin
A := [2, 3, 5, 7];
end.

Vous remarquez que l’ordre des elements de l’ensemble n’est pas le même. Cela n’a aucune importance car la
théorie des ensembles néglige cette ordre.
L’ensemble vide quand à lui s’écrit simplement :

vide := [];{ Ensemble vide }

Les opérations sur les ensembles sont les suivantes :

Operateur Nom
+ Union
- Difference (ou complement)
* Intersection
IN Inclus (elements)
= Equivalence
<> Different
<= Inclus (sous ensembles)
>= Contenu (sous ensembles)

Voici un exemple de programme :

program Ensembles;

var ensA, ensB, ensC : Set Of Byte;

begin
ensA := [1, 2, 3, 4, 5, 6, 7, 8, 9];{Nombres entiers naturels entre 1 et 9}
ensB := [1, 3, 5, 7, 9];{Nombres impairs}
ensC := [2, 4, 6, 8];{Nombres pairs}

If ensB + ensC = ensA Then
writeln('L''union de B et C equivaut à A');

If ensB * ensC = [] Then
writeln('Il n'' y a pas d''elements commun entre B et C');

If ensA - ensB = ensC Then
writeln('C est le complementaire de A');

If ensA - ensC = ensB Then
writeln('B est le complementaire de A');

If Not(10 IN ensA) Then
writeln('10 n''appartient pas à A');

If [] <= ensA Then
writeln('L''ensemble vide est sous ensemble de A');

If ensA >= ensB Then
writeln('A est sur-ensemble de B');
end.
Series Navigation«Turbo Pascal – Les objets
Categories: Turbo Pascal Tags:
  1. Pas encore de commentaire
  1. Pas encore de trackbacks