Conditions
Une condition sert à tester les valeurs des variables pour ensuite effectuer différentes
actions en fonction de leur valeur.
Exemple:
:Quel est ton âge?
:SI ton âge est supérieur à 18 ans, alors tu est majeur.
:SI ton âge est inférieur à 18 ans, alors tu est mineur.
:SI ton âge est égal à 18 ans, alors tu as 18 ans.
Les mots clés dans ce programme sont
SI et
alors.
Ils se traduisent réspectivement en anglais par
If et
Then.
Vous avez à votre disposition 6 outils pour tester une valeur de variable.
Vous les trouverez en faisant [2nd]==>[MATH].
Outils
Symboles |
Signification |
= |
est égale à |
!= |
est différent de |
> |
est supérieur à |
> |
est supérieur ou égal à |
< |
est inférieur à |
< |
est inférieur ou égal à |
Le signe "différent de"
s'affiche sur votre TI avec un égal barré. N'éssayez pas de faire ! puis =
Ecrivons l'exemple précédent en Ti-Basic:
:Input "TON AGE?",A // Demande la valeur de A
:If A>18 // Si A est supérieur à 18
:Then // Alors
:Disp "TU ES MAJEUR." // Affiche tu es majeur
:End // Fin de la condition
:If A<18 // Si A est inférieur à 18
:Then // Alors
:Disp "TU ES MINEUR." // Affiche tu es mineur
:End // Fin de la condition
:If A=18 // Si A est égale à 18
:Then // Alors
:Disp "TU AS 18 ANS." // Affiche tu as 18 ans
:End // Fin de la condition
Voilà comment marche une condition.
Vous avez remarqué qu'elle se termine par un "End".
C'est pour donner une fin à la condition et pouvoir afficher d'autres informations sans que la condition soit vraie.
Si je ne fermais pas mes conditions, tout le code source qui suivrait, serait exécuté seulement si la condition de
départ est vraie.
Pour le "If", [PRGM]==>(ligne 1).
"Then", [PRGM]==>(ligne 2).
"End", [PRGM]==>(ligne 7).
Exemple plus simple:
:Input "ENTRE UN NUMERO:",A
:If A=48
:Then
:Disp "LE NUMERO EST 48"
:End
Ici, on demande d'entrer la valeur de A, on teste la valeur de A pour voir si elle est égale à 48, et si cette valeur est bien égale à 48, alors
on affiche le texte voulu. (Et on ferme la condition).
C'était pour remettre les choses au clerc au cas ou vous n'auriez pas encore bien comprient.
Est-on obligés de mettre à chaque
fois le Then et le End
pour n'éxécuter qu'une action si la condition est juste?
Effectivement, pour n'éxécuter qu'une seule action si la condition est juste, vous n'étes pas obligés de mettre le "Then" et le
"End".
Exemple. Ce code:
:Input "ENTRE UN NUMERO:",A
:If A=48
:Disp "LE NUMERO EST 48"
Equivaut à ce code (le code précédent):
:Input "ENTRE UN NUMERO:",A
:If A=48
:Then
:Disp "LE NUMERO EST 48"
:End
(On a retiré le "Then" et le "End").
Attention, j'ai bien précisé que ça ne fonctionnait seulement s'il n'y avait qu'une action à éxécuter.
Si la condition est juste, elle n'éxécutera que la première action.
Exemple:
:Input "ENTRE UN NUMERO:",A
:If A=48
:Disp "LE NUMERO EST 48"
:Disp "BLABLABLA"
Si A n'est pas égale à 48, le code saute la condition et n'affiche que "BLABLABLA".
Si A est égale à 48, alors le code lit la condition, affiche "LE NUMERO EST 48", puis continue son
chemin en affichant "BLABLABLA".
Et si vous voulez que ces deux textes s'affichent seulement si A=48, alors vous êtes obligés d'utiliser "Then" et "End".
Mais je vous conseille pour l'instant de garder les "Then" et les "End" pour apprendre à mieux structurer vos programmes.
Trés utiles.
C'est ce qui permet de tester plusieurs conditions à la fois !
Exemple:
:Ton âge?
:SI ton âge est suppérieur à 0 ET inférieur à 5 alors tu es trop jeune.
:SI ton âge est suppérieur à 11 ET inférieur à 50 alors tu as l'âge pour programmer.
:SI ton âge est égale à 90 OU égale à 100 alors tu as le cerveau un peu ramoli désolé.
Les opérateurs logiques dans ce programme sont
ET et
OU.
Traduient en anglais par
and et
or.
Ils sont disponibles en faisant
[2nd]==>[MATH]==>[>] (Logic), ils sont au nombre de 4.
Syntaxe:
:If [Condition 1]
[Opérateur logique]
[Condition 2]
:Then
:[Actions éxécutées...]
:End
and:
Le code entre dans la condition seulement si toutes les conditions sont justes.
Exemple pour "and":
:If A=4 and B>7
:Disp "BONJOUR"
Pour afficher "BONJOUR", A doit être égal à 4
ET B supérieur à 7.
Si seulement l'une des deux conditions est vrai, alors çà ne marchera pas.
:If A>30 and A<40
:Disp "BONJOUR"
Si A est compris entre 30 et 40 (non compris), on affiche "BONJOUR".
or:
Le code entre dans la condition si une des conditions est justes.
Exemple pour "or":
:If A=3 or B>90
:Disp "BONJOUR"
Si A est égal à 3 OU B est supérieur à 90, alors on affiche "BONJOUR".
xor:
Là c'est un peu particulier.
Exemple pour "xor":
:If A=8 xor B=9
:Disp "BONJOUR"
"BONJOUR" sera affiché si:
" A est égal à 8 et B est différent de 9
"
ou si
" A est différent de 8 et B est égal à 9
".
On peut trés bien faire ce programme sans utiliser "xor":
:If (A=8
and B!=9) or
(A!=8
and B=9)
:Disp "BONJOUR"
Il ya présence de parenthèses pour faire passer des conditions en prioritée.
Comme pour les opérations.

Par exemple:
:If (A=8
or B!=9) and
(A!=8
or B=9)
:Disp "BONJOUR"
"BONJOUR" est affiché si:
" A est égal à 8 ou B est différent de 9
"
et si
" A est différent de 8 ou B est égal à 9
".
On peut changer la position des parenthèses, et dans ce cas, les conditions ne seront plus les mêmes.
:If A=8
or (B!=9 and
A!=8 )
or B=9
:Disp "BONJOUR"
"BONJOUR" sera alors affiché si:
" A est égal à 8
"
ou
" B est différent de 9 et A est différent de 8
" ou
" B est égal à 9
".
Et oui on peut faire plein de chose avec les opérateurs logiques.
not(:
Le "not" inverse la condition testée.
Exemple pour "not":
:If not(A=8)
:Disp "BONJOUR"
"BONJOUR" est affiché si A n'est pas égale à 8. On aurait trés bien put écrire le code comme ceci:
:If A!=8
:Disp "BONJOUR"
Le programme traduit "Else" par "Sinon"
[PRGM]==>(ligne 3).
Exemple:
:Ton âge?
:SI ton âge est inférieur à 50 alors tu as moins de 50 ans.
:SINON tu as plus de 50 ans.
SINON permet d'exécuter une partie de code si la condition testée est fausse.
Syntaxe:
:If [Condition]
:Then
://[Code exécuté si la condition est VRAIE]
:Else
://[Code exécuté si la condition est FAUSSE]
:End
Réécrivons le code précédent:
:Input "TON AGE?",A
:If A<50
:Then
:Disp "MOINS DE 50 ANS."
:Else
:Disp "PLUS DE 50 ANS."
:End
Vous êtes obliger de mettre un "Then" et un "End"
quant vous introduisez un "Else" dans vos programmes.
Fini.

Beaucoup de nouvelles choses à assimiler, donc prennez le temps de bien tout comprendre.
Vous êtes entreins d'apprendre les bases de la programmation, donc ne brulez pas d'étapes.
Aprés le chapitre sur les "Boucles",
vous aurrez assez de connaissances pour réaliser le jeux du + ou -

Il y aura donc un TP où vous programmerez le jeux tout seul, et je mettrais à votre disposition une correction.

