❤ 0 Sommaire
Ruby
Les variables
Les tableaux
>> Les booléens et les calculs logiques <<
Structure de if
Structure de case
Boucles loop do et while
Boucle for
Fonctions et procédures
POO - Classes et objets
RGSS
Débuter avec le RGSS
Module Input
Bitmap, Color, Sprite
Structure de base des classes Scene et Window
[Ruby] Cours n°3 : Les Booléens et les calculs logiques
Le booléen, pas évident à dire ça, cependant c'est assez simple à expliquer. Vous en utilisez pratiquement tout le temps dans les events, il s'agit des Switch ou interrupteur.
Le booléen est un type de variable le plus élémentaire, car il n'a que 2 états , soit Vrai soit Faux. Les interrupteurs utilisés dans les commandes événementielles, sont définis dans un tableau de booléens, se nommant :
Citation:
Le plus simple pour imaginer le fonctionnement d'un booléen, est le fonctionnement d'un interrupteur, pour une lampe par exemple. Mais attention, ne pas confondre l'état de l'interrupteur (ON,OFF) et le résultat (Allumé, éteint), car dans vos couloirs, il ya plusieurs interrupteurs pour une même lampe, certains sont ON d'autres OFF, et pourtant la lampe n'est pas forcément éteinte ou allumée.
En Ruby, les valeurs d'un booléen sont true ou false (Vrai ou faux).
Le type booléen est dans le principe quelque chose de très simple, du point de vue variable. Hors son utilisation peut s'avérer parfois complexe, car il permet de répondre à des conditions. Toutes les comparaison de valeurs amène à un résultat booléen :
Par exemple : j'ai un sac contenant 4 pommes et 2 bierres.
Une personne me dit : tu as exactement 3 pommes dans ton sac.
Je lui réponds : Faux
Une personne me dit : tu as plus de 3 pommes dans ton sac.
Je lui réponds : Vrai
Une personne me dit : Tu as exactement 3 pommes et exactement 2 bierres.
Je lui réponds : Faux
Une personne me dit : Tu as exactement 3 pommes ou exactement 2 bierres.
Je lui réponds : Vrai
Maintenant les mêmes exemples en Ruby :
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
| def comparaison1
iNbPomme = 4
iNbBierre = 2
bResultat = iNbPomme == 3
# bResultat contient false
end
def comparaison2
iNbPomme = 4
iNbBierre = 2
bResultat = iNbPomme > 3
# bResultat contient true
end
def comparaison3
iNbPomme = 4
iNbBierre = 2
bResultat = iNbPomme == 3 and iNbBierre == 2
# bResultat contient false
end
def comparaison4
iNbPomme = 4
iNbBierre = 2
bResultat = iNbPomme == 3 or iNbBierre == 2
# bResultat contient true
end |
Peut-être que certains sont déjà largués, je vais donc vous expliquez les opérateurs logiques (==, , or, and,...). Ces opérateurs permettent de faire des calculs sur des variables et d'en ressortir un résultat booléen :
X > Y sera égale à true si X est supérieur à Y, et false si ce n'est pas le cas. C'est le même fonctionnement pour les comparaison de valeur.
/!\ Attention, une très grande source d'erreur réside dans le == souvent remplacé par inadvertence par =, ce qui au lieu de faire une comparaison, provoque une affectation.
Les comparateurs :
== : égal
!= : différent
< : strictemet inférieur
<= : Inférieur ou égal
> : strictement supérieur
>= : supérieur ou égal
Les tables opérateurs :
- and
'false and false' donne false
'false and true' donne false
'true and false' donne false
'true and true' donne true
- or
'false or false' donne false
'false or true' donne true
'true or false' donne true
'true or true' donne true
- xor
'false xor false' donne false
'false xor true' donne true
'true xor false' donne true
'true xor true' donne false
- not (!)
'not false' donne true
'not true' donne false
- ? :
'true ? X : Y' donne X
'false ? X : Y' donne Y
Avec ceci, vous avez l'ensemble des possiblités de calcul en booléen, mais je vais mettre quelques exemples sumplémentaires, pour plus de clarté.
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
| def exemple1
iNbPomme = 5
iNbSirop = 6
iNbVerre = 4
bResultat = iNbSirop > iNbVerre
# bResultat contient true
end
def exemple2
iNbPomme = 5
iNbSirop = 6
iNbVerre = 4
bResultat = iNbSirop > 4 and iNbVerre > 4
# bResultat contient false, car true and false donne false
end
def exemple3
iNbPomme = 5
iNbSirop = 6
iNbVerre = 4
bResultat = iNbSirop > 4 or iNbVerre > 4
# bResultat contient true, car true or false donne true
end
def exemple4
iNbPomme = 5
iNbSirop = 6
iNbVerre = 4
bResultat = ( iNbSirop > iNbVerre ? iNbPomme : 0 )
# bResultat contient 5
end |
Si il y a des questions, il ne faut pas hésiter à les poser.
Source
- Tonyryu, "[Ruby] Cours n°3 : Les Booléens et les calculs logiques", TonyryuDev, écrit le 2 août 2013 [consulté le 4 juillet 2021], https://web.archive.org/web/20181202044038/http://www.tonyryudev.com/joomla3/index.php/menu-mes-developpements/menu-cours-ruby-rgss/4-ruby-cours-n-3-les-booleens-et-les-calculs-logiques
Ce tutoriel a été posté avec l'accord de son auteur.
|