

Tout à fait exact, par contre, pour les 2 derniers, je connaissais pas.P.S. Dlzlogic dans ton énumération des valeurs booléennes, tu as oublié V et F ainsi que \top et \perp
fatal_error a écrit:ca n'a rien à voir.
savoir comment ca marche, ca n'a rien à voir avec savoir comment ca s'utilise.
Est-ce que tu sais si tu as le droit d'assigner O à une variable booléenne en ADA?
si tu le sais pas, essaies d'écrire la syntaxe, ou recherche sur le net.
Concernant le problème de compréhension des booléens, prends toi un tutoriel sur l'algebre de boole. Par exemple le sdz
Rockleader a écrit:Par contre ce que je comprends pas, c'est en quoi on exprime au niveau du code un booléen par une condition vérifié ou non comme semble le dire le sdz.
put("Entrez trois entiers")
get(x:Integer);
get(y:Integer);
get(z:Integer);
TousDiff:Boolean := (x y) AND (xz) AND (y z );
BienTrie:Boolean:= ((x y) AND (xz) AND (y z ) ) , utiliser astucieusement les bonnes varaibles booléennes permet de faire des choses plus compliquée ou vérifier le bon fonctionnement de son programme,...
On peut aussi, come je l'ai fait dans le programme des nombres premiers, utiliser un tableau de valeur booléennes (pour marqué les nombres élimié par le cribble)
On au contraire utiliser une unique varaible booléenne dans une boucle pour obtenir un résult (booléen) à partir d'un tableau de données :
[code]
ARRAY Tab OF Integer RANGE 1..100 ;
...
TousPos:Boolean := True;
...
LOOP
...
IF Tab(i) <= 0 THEN b := False
...
END LOOP
IF TousPos THEN PUT ("Tous les éléments de TAB sont strictement positifs")
Est-ce plus clair ?
Rockleader a écrit:Oui merci, je ne crois pas avoir encore tout compris, mais c'est un peu moins flou.
J'ai encore une autre question, totalement sans rapport, qui m'est venu à l'sprit après mon cours d'aujourd'hui.
Je réalisais un programme qui avait besoin à moment donné de calculer une racine carré, comme je ne connaissais pas de fonction prédéfinies pour la calculer, j'ai décidé d'utiliser la puissance 1/2.
Seulement mon prof est venu nous dire que les puissance ne pouvait pas prendre des flottants comme 1/2, mais qu'il y avait bien la fonction sqrt.
D'où ma question, si la puissance 1/2 ne marche pas, comment le programmeur qui a réalisé la fonction square root, sqrt pour les intimes a t'il réussi à définir la racine carré autrement que par la puissance... :hein:
with entrees_sorties; use entrees_sorties;
procedure appartient is
e, n, cpt, nbLu : Integer;
trouve : Boolean;
begin -- indique si un entier e se trouve parmi n entiers lus
put("Quel element doit-on chercher? ");
get(e);
put("Nombre d'entiers a traiter? ");
get(n);
cpt := 0;
trouve := TRUE;
while ((cpt < n) or not trouve) loop
put("Prochain entier a traiter? ");
get(nbLu);
cpt := cpt + 1;
trouve := (nbLu = e);
put("Compteur =");put(cpt);new_line;
put(trouve);
new_line;
end loop;
if trouve then put("trouve");
else put("pas trouve");
end if;
end appartient;
fatal_error a écrit:tu veux faire ta boucle tant que le compteur n'est pas atteint ET que tu n'as rien trouvé.
Tu n'as qu'à initialiser ta variable trouve correctement.
fatal_error a écrit:tu te poses des questions métaphysiques mais je suis quand même curieux du raisonnement avec lequel tu es parvenu à poser cette question.
not false vaut true
not true vaut false
on boucle tant que "c'est vrai que c'est faux ?"
fatal_error a écrit:c'est pe un peu plus subtile que remplacer stupidement et par ou.
Joues avec les négations
La condition du compteur < un nombre donné....
Auquel cas, est ce que toutes les conditions utilisé dans des boucles ou des conditions simples de if.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 8 invités
Tu pars déja ?
Identification
Pas encore inscrit ?
Ou identifiez-vous :