Tutorial 04
Les opérateurs logiques
Nouvelles commandes :
> "=" = Compare deux
variables et donne 1 si elles contiennent la même valeur (égal)
[2nd] [TEST] [1]
> "<>" =
Compare deux variables et donne 1 si elles ne sont pas égalles
(différent) [2nd] [TEST] [2]
> ">" =
Compare deux variables et donne 1 si la première est plus grande
que la deuxième (supérieur à) [2nd]
[TEST] [3]
> ">" =
Compare deux variables et donne 1 si la première est plus grande
ou égale à la deuxième (supérieur ou égal à) [2nd] [TEST] [4]
> "<" =
Compare deux variables et donne 1 si la première est plus petite
que la deuxième (inférieur à) [2nd]
[TEST] [5]
> "<" =
Compare deux variables et donne 1 si la première est plus petite
ou égale à la deuxième (inférieur ou égal à) [2nd] [TEST] [6]
> and = Compare deux
variables et donne 1 si elles contiennent toutes deux la valeur 1
[2nd] [TEST] [>] [1]
> or = Compare deux
variables et donne 1 si l'une, l'autre ou les deux contiennent la
valeur 1 [2nd] [TEST] [>] [2]
> xor = Compare deux
variables et donne 1 si l'une ou l'autre mais pas les deux
contient la valeur 1 [2nd] [TEST] [>]
[3]
> not( = Donne l'inverse de
la variable (1 si elle contient 0 et 0 si elle contient 1) [2nd] [TEST] [>] [4]
Introduction :
Ça commence à être plus difficile! Mais ce tutorial nous aidera pour le prochain : donc soyez attentif.
"TEST" :
Parce qu'un bon exemple vaut mieux qu'un long discours, voici
un programme permettant de tester les fonctions de l'onglet
"TEST" du menu [2nd] [TEST] :
Voici le programme :
:ClrHome Efface
l'écran texte : Demande des valeurs
:Prompt A,B Demande à l'utilisateur
d'enter un chiffre qui sera stoqué dans A puis un autre pour B
:ClrHome Efface
l'écran texte : On va avoir besoins de tout l'écran
:Disp "A=B :" Texte
introdusant le résultat obtenu avec A=B
:Disp "A<>B :" Idem
avec A<>B
:Disp "A>B :" Idem avec
A>B
:Disp "A>B :" Idem
avec A>B
:Disp "A<B :" Idem avec
A<B
:Disp "A<B :" Idem
avec A<B
:Output(1,7,A=B Affiche le résultat
de A=B juste à côté du texte qui vient d'être affiché (Ne
pas mettre de "")
:Output(2,7,A<>B Idem avec le
résultat de A<>B
:Output(3,7,A>B Idem avec le
résultat de A>B
:Output(4,7,A>B Idem avec
le résultat de A>B
:Output(5,7,A<B Idem avec le
résultat de A<B
:Output(6,7,A<B Idem avec
le résultat de A<B
Une fois les resultats affichés, appuyez sur [ENTER] pour
sésire de nouvelles valeurs.
Essayez plusieures valeurs et voyez les résultats : ce sont les
fonctions mathématiques : c'est très simple...
Si vous ne voyez pas comment fonctionne une fonction, voyez,
ci-dessus, "Nouvelles commandes".
"LOGIC" :
De même que pour l'onglet TEST, nous allons faire un
programme pour mieux comprendre les nouvelles fonctions de
l'onglet "LOGIC" du menu [2nd] [TEST] :
Voici le programme :
:ClrHome Début
idem que le dernier programme : Souvenez-vous...
:Prompt A,B
:ClrHome
:Disp "A and B :" Texte
introdusant le résultat obtenu avec A and B
:Disp "A or B :" Idem avec
A or B. Deux espaces avant les deux points
:Disp "A xor B :" Idem
avec A xor B
:Disp "not(A) :" Idem avec
A xor B. Deux espaces avant les deux points
:Output(1,11,A and B Affiche le
résultat de A and B juste à côté du texte (Ne pas mettre de
"")
:Output(2,11,A or B idem avec le
résultat de A or B
:Output(3,11,A xor B idem avec le
résultat de A xor B
:Output(4,11,not(A) idem avec le
résultat de not(A)
Une fois les resultats affichés, appuyez sur [ENTER] pour
sésire de nouvelles valeurs.
Essayez plusieures valeurs et voyez les résultats : c'est un peu
plus dur que les fonctions mathématiques car vous n'avez
certainement jamais vu ça en classe mais c'est très utile dans
des programmes.
Attention : introduisez seulement des 0 ou des 1 : sinon, tout
chiffre différent de 0 sera compris comme un 1 par la TI :
essayez... Dans vos futurs programmes, il faudra prendre en
compte cette possibilité d'erreur.
Si vous ne voyez pas comment fonctionne une fonction, voyez,
ci-dessus, "Nouvelles commandes".
Tables de vérité :
Voici tous les resultats possibles que vous pouvez obtenir avec le programme que nous avons créé sous forme de tableaux, plus compréhenssibles.
and | or | xor | |
A=0 B=0 | 0 | 0 | 0 |
A=0 B=1 | 0 | 1 | 1 |
A=1 B=0 | 0 | 1 | 1 |
A=1 B=1 | 1 | 1 | 0 |
not( | |
A=0 | 1 |
A=1 | 0 |
Inverser l'état d'une variable :
Nous venons de voir l'opérateur xor.
Nous allons voir qu'il possède la propriété d'inverser l'état
d'une variable. Il suffit de faire comme ceci : variable xor 1->variable.
C'est tout simple!
Inversion de l'état de V :
:ClrHome
:0->X Initialisation de X
:Disp X Affiche X (0)
:X xor 1->X Inversion
de l'état de X
:Disp X Affiche X (1)
:X xor 1->X Inversion
de l'état de X
:Disp X Affiche X (0)
:X xor 1->X Inversion
de l'état de X
:Disp X Affiche X (1)
Pour comprendre, regardez la table de vérité de la
fonction xor. Vous voyez, à la
deuxième ligne, que si A=0 et B=1 alors le résultat sera 1. En
reprenant ce résultat pour la variable A nous procédons comme
à la quatrième ligne : si A=1 et B=1 alors le résultat est
égal à 0.
Maintenant, à quoi cela peut-il servir? À plein de choses!
Comme, par exemple, dans un jeu à deux joueurs qui jouent l'un
après l'autre : si X a pour valeur 0 alors c'est au tour du
joueur un sinon (si X=1) c'est au joueur 2. etc... Il était donc
bon de s'attader sur la particularité de cette fonction (car, je
supose que vous n'allez pas faire beaucoup de programmes pour
travailler?).
Conclusion :
Maintenant, nous allons voir les conditions et branchements, qui utilisent les notions que nous venons de voir. Donc assimilez bien et exécutez autant de fois qu'il vous le faut les programmes que nous venons de faire.
Retour : Sommaire
Aide : Liste
des commandes
Précédent : Tutorial
03 : Communiquer avec l'utilisateur
Suivant : Tutorial
05 : Conditions et branchements