Main work
Abstract
Implémentation des trois opérateur logique primaire de l'algèbre de Boole.
Spécification
package Main_Work is
type Binaire is (Vrai, Faux);
function "not" (Veracite : Binaire) return Binaire;
function "and" (Left, Right : Binaire) return Binaire;
function "or" (Left, Right : Binaire) return Binaire;
end Main_Work;
Implémentation
package body Main_Work is
function "not" (Veracite : Binaire) return Binaire is
begin
if Veracite = Vrai then
return Faux;
else
return Vrai;
end if;
end "not";
function "and" (Left, Right : Binaire) return Binaire is
begin
if ((Left = Vrai) and (Right = Vrai)) then
return Vrai;
else
return Faux;
end if;
end "and";
function "or" (Left, Right : Binaire) return Binaire is
begin
return not ((not Left) and (not (Right)));
end "or";
end Main_Work;
Conversion
Abstract
Conversion du type Binaire vers Boolean et Boolean vers Binaire.
Spécification
function To_Boolean (Verite : in Binaire) return Boolean;
function To_Binaire(Veracity : in Boolean) return Binaire;
Implémentation
function To_Boolean (Verite : in Binaire) return Boolean is
begin
if Verite = Vrai then
return True;
end if;
return False;
end To_Boolean;
function To_Binaire(Veracity : in Boolean) return Binaire is
begin
if Veracity then
return Vrai;
end if;
return Faux;
end To_Binaire;