Avant de commencer les conditions, voyons d'abord ce qu'est un test. Un test renvoie un nombre booléen (mettre un lien vers une définition), qui vaut soit 1, si le test est vrai, soit 0, si le test est faux. Pour réaliser un test, on utilisera des signes opérateurs (que vous connaissez déjà +−×÷): opérateurs de comparaison :
Tableau des opérateurs de comparaison
| Symbole | Signification | Chemin |
|---|
| = |
égal |
[SHIFT][VARS][F6][F3][F1] |
| != |
différent de (comparaison de deux nombres) |
[SHIFT][VARS][F6][F3][F2] |
| > |
plus grand (comparaison de deux nombres) |
[SHIFT][VARS][F6][F3][F3] |
| < |
plus petit (comparaison de deux nombres) |
[SHIFT][VARS][F6][F3][F4] |
| >= |
plus grand ou égal (comparaison de deux nombres) |
[SHIFT][VARS][F6][F3][F5] |
| <= |
plus petit ou égal (comparaison de deux nombres) |
[SHIFT][VARS][F6][F3][F6] |
| And |
Littéralement "Et". Réunit deux tests en un. Le test renvoie 0 si un des deux tests qui le composent est faux. |
[OPTION][F6][F6][F4][F1] |
| Or |
Littéralement "Ou". Réunit deux tests en un. Le test renvoie 1 si au moins un des deux tests qui le composent est vrai. |
[OPTION][F6][F6][F4][F2] |
| Not |
Littéralement "Non". Oppose le sens du test. |
[OPTION][F6][F6][F4][F3] |
Les opérateurs de comparaison sont les moins prioritaires (les plus prioritaires sont les fonctions comme Abs ou log, vient ensuite le petit "-", qui n'est pas un signe opérateur, puis les signes opérateurs (+−×÷), puis viennent enfin les opérateurs. Chez les opérateurs, And est prioritaire sur Or.
Si on fait
Abs A=2, cela ne va pas renvoyer la valeur absolue du test
A=2. Si on voulait le faire, il faudrait utiliser des parenthèses, ce qui donnerait
Abs (A=2). Les parenthèses vous seront très utiles pour ordonner vos tests, vous verrez

.
Passons un peu à la pratique, faisons un petit test

:
Code : Autre - Exemple d'utilisation d'opérateurs de comparaison1
2
3
4
| 5
Ans=Abs Ans
Ans+(Ans<4)->A
Ans And (A=12 Or A>0)->A |
A la fin de la première ligne, Ans vaut 5, à la deuxième, Ans vaut 1, à la troisième, A vaut 2, à la dernière, A vaut 1. Ca fait mal à la tête, hein

? Si vous avez compris ça, vous êtes très bien parti pour la suite.
Si vous avez bien compris les tests, vous devriez pouvoir vous rendre compte qu'on peut se passer de
And et
Or. Le premier n'est qu'un multiplicateur, tandis que le second est un "additionneur" : faire
A=5 And B=2 Or A=1 revient en fait à faire
(A=5)(B=2)+(A=1) 
.
Les conditions permettent d'exécuter des instructions en fonctions d'un nombre. Si ce nombre vaut 0, on n'exécute pas les instructions, sinon on les exécute. La plupart du temps, on met un booléen (sous forme de test).
On pourra comparer le contenu d'une variable par rapport à une valeur de référence, et faire lire des instructions à la calculatrice en fonction du résultat de la comparaison.
La syntaxe d'une comparaison en Basic Casio est la suivante :
Code : Autre - Syntaxe d'une comparaison en Basic Casio1
2
3
4
5
6
| If A
Then ...
...
Else ...
...
IfEnd |
If signifie SI, Then ALORS, Else SINON et IfEnd veut dire FIN DE LA CONDITION (=>
[SHIFT][VARS][F1][F1~4]). On peut mettre autant d'instructions que l'on veut après le Then ou le Else. Le Else est facultatif, vous n'aurez pas forcément besoin d'exécuter des instructions si la condition n'est pas vérifiée.
Dans le code précédent, la calculatrice exécute ce qu'il y a après Then si et seulement si A ne vaut pas 0. Dans le cas contraire, c'est ce qu'il y a après le Else qui est exécuté.
Il existe un autre type de condition, qui n'exécute qu'une seule instruction. Elle est plus simple à utiliser que la précédente, mais est moins puissante (absence de Else, impossibilité d'exécuter plus d'une seule instruction, ...). Néanmoins, elle peut servir à l'occasion. La syntaxe est simple : vous écrivez un nombre (un booléen la plupart du temps), vous mettez une double flèche => (
[SHIFT][VARS][F3][F3]) puis vous écrivez l'instruction à exécuter si le nombre est différent de 0.
Pour que vous puissiez vérifier si vous avez bien assimilé, je vous propose un petit exercice pratique : demander l'âge de l'utilisateur, et afficher "VOUS ETES MAJEUR" si l'âge est supérieur ou égal à 18 ans, et afficher "VOUS ETES MINEUR" dans le cas contraire.
Voici une solution, si vous avez codé différemment, ce n'est pas grave, du moment que votre programme n'est pas trop lourd, qu'il ne bug pas et qu'il est rapide

:
Code : Autre - Solution du premier exercice pratique1
2
3
4
5
| "VOTRE AGE "?->A
If A>=18
Then "VOUS ETES MAJEUR"
Else "VOUS ETES MINEUR"
IfEnd |
Vous pouvez très bien imbriquer des conditions si vous le voulez :
Code : Autre - Des conditions imbriquées1
2
3
4
5
6
7
8
| "VOTRE AGE "?->A
"L'AGE DU CAPITAINE "?->B
If A>=18
Then If A=B
Then "VOUS ETES LE CAPITAINE ?"
IfEnd
Else "UN MINEUR NE PEUT ETRE CAPITAINE"
IfEnd |
Réfléchissez un peu sur ce code, je ne vous donne pas d'explications

.