1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Program Comptage;
{$mode objfpc}{$H+} // Effacer sous Turbo pascal
Uses Classes, SysUtils, // Effacer sous Turbo pascal
Crt;
Type Mois = (janvier,fevrier,mars,avril,mai,juin,juillet,aout,septembre,octobre,novembre,decembre);
Var Ensemble1, Ensemble2, Ensemble3 : Set of Mois;
Nombres : Set of Byte;
Function Nombre_Elements (const Ensemble; Taille : Byte) : Byte;
Type tEnsemble = Array [1..32] of Byte;
Var i, j : Byte;
{ Result : Byte; } // Activer sous Turbo Pascal
Begin
Result := 0;
for i := 1 to Taille do
begin
j := $01;
while j <> 0 do
begin
if tEnsemble(Ensemble)[i] and j <> 0
then
Inc(Result);
j := j shl 1;
end;
end;
End;
Begin
Ensemble1 := [janvier..juin];
WriteLn('Nb éléments dans l''ensemble 1 : ',Nombre_Elements(Ensemble1,SizeOf(Ensemble1)));
Ensemble2 := [mars,juillet..decembre];
WriteLn('Nb éléments dans l''ensemble 2 : ',Nombre_Elements(Ensemble2,SizeOf(Ensemble2)));
Ensemble3 := Ensemble1 * Ensemble2;
WriteLn('Nb éléments dans l''ensemble 3 : ',Nombre_Elements(Ensemble3,SizeOf(Ensemble3)));
WriteLn;
Nombres := [14..17];
WriteLn('Nb éléments dans l''ensemble Nombres : ',Nombre_Elements(Nombres,SizeOf(Nombres)));
ReadLn;
End. |
Partager