Règles du forum

Le langage Ada uniquement, pas les compilateurs. Les questions de sémantique et de langage et les questions techniques liées à une application en particulier, son deux choses différentes. Si nécessaire, un forum sur GNAT et les autres compilateurs, tel JanusAda, sera ouvert.

Auteur Message
Tchatcheur
RANDOM_AVATAR
Bonjour,

Le type booléen avec Ada, sensiblement à distinguer du type natif du standard "boolean" du langage de programmation qu'est le langage Ada.

Source Ada : 

type Boolean_Enum_Type is
-- le type booléen doit être :
(Uninitialised, Nothing, False, True) ;
-- because the four values are possible case.


En effet, une variable avec Ada peu ne pas être initilaisée, c'est une liberté et rien n'indique de valeur constant à défaut.
Aussi, le type booléen se doit avec Ada d'avoir une quatrième valeur afin de permettre de valuer une valeur ayant vocation à signifier le caractère véritable d'un fait pour désigner l'inconnu effectivement.

La valeur "unknow" au lieu de "nothing" est possible (mais à proscrire puisque) bien que sujettante d'une ambiguïté puisque justement elle est le signifié d'une connaissance. Bien que de même nature paradoxale, "nothing" exprime "aucun" d'entre False et True, mais je ne sais pas quelle en est la sémantique anglo- saxone.
Profil
Tchatcheur
RANDOM_AVATAR
Du coup, après une petite traduction, j'écrirais le type de la manière suivante :

Source Ada : 

type Boollean_Enum_Type is (Nothing, None, False, True) ;


True : véracité ::= vrai.
False : véracité ::= faux.
None : véracité ::= aucun.
Nothing : véracité ::= indécidé.
Profil
Tchatcheur
RANDOM_AVATAR
J'irais même jusqu'à déclarer un cinquième nom corrolaire au trois exprimant la véracité effective, et donc, ou pas :

Source Ada : 

package Lib.Veracity

type Veracity_Enum_Type is (Nothing, None, Negativie, Positive, Infinite) ;

end Lib.Veracity;


Infinite, serait l'expression du calcul ou de l'expression en cours ou le dépassement de leur valuation a contrario des trois précédente.
Profil
Tchatcheur
RANDOM_AVATAR
Pour s'assurer de na pas converger par manque de clairevoyance lexico- graphique, suffixée du mot "_Verax" :

Source Ada : 

type Veracity_Enum_Type is (Nothing_Verax, None_Verax, Negative_Verax, Positive_Verax, Infinite_Verax) ;
Profil
Tchatcheur
RANDOM_AVATAR
pour la circularité de la valuation exprimant l'encours ou le dépassement, je remplacerai "Infinite_Verax" par "Round_Verax".
Profil
Tchatcheur
RANDOM_AVATAR
Re- again.

Pour distinguer l'encours du dépassement puisqu'il le faut :

Source Ada : 

type Veracity_Enum_Type is (Nothing_Verax, None_Verax, Negative_Verax, Positive_Verax, Outstanding_Verax, Overtaking_Verax) ;


Ce qui compte six noms pour exprimer six états possible d'un type qui n'en compte que deux à l'origine.
Profil
Tchatcheur
RANDOM_AVATAR
Ce qui me fait penser que le type booléen est sur- jacent à un type préalable qui exprimerait le probable, puisqu'elle est énoncé dans les nouvelles sciences ; Lequel implémenterait moins de nom, cinq seulement :

Source Ada : 

type Probable_Enum_Type is
(Nothing_Probed,
None_Probed,
Positive_Probed,
Middle_Probed
Negative_Probed) ; -- Unprobed.
Profil