Structures de données/implémentation des booléens avec des entiers

Voici une implémentation du type booléen avec des entiers. Le "défi" est de réimplémenter les booléens et les opérations sans utiliser les opérateurs booléens. Intéressant ? À inclure plus tard ? Sub 24 décembre 2006 à 16:04 (CET)

Type
  bool = enregistrement
    b : entier
  fin
Function CreerVrai(val : chaîne) : bool
lexique
  NouveauBool : bool
début
  NouveauBool.b := 1
  retourner NouveauBool
fin
Function CreerFaux(val : chaîne) : bool
lexique
  NouveauBool : bool
début
  NouveauBool.b := 0
  retourner NouveauBool
fin
Fonction Conjonction(a,b : bool) : bool
début
  retourner a.b * b.b
fin
Fonction Disjonction(a,b : bool) : bool
lexique
  retour : bool (* sera retourné *)
début
  retour.b := a.b + b.b - (a.b * b.b)
  retourner retour
fin
Fonction Negation(a)
lexique
  retour : bool (* sera retourné *)
début
  retour.b := 1-a.b
  retourner retour
fin