Définit une variable (voir var) définit
par une test conditionnel (une condition).
Voir aussi pointAimante.
Syntaxe
Paramètres
varsi z = [ condition , expression_algébrique1 ou "texte1" ,
expression_algébrique2 ou "texte2" ] ;
z : nom de la variable varsi Condition : un expression test expression_algébrique 1 ou 2 : une expression à évaluer
comme pour une variable var "texte1" : un texte entre guillement pour être
utilisé dans un texte texte(ne
pas mettre de virgule dedans !)
Résultat : si la condition est vraie, alors z prendra
la valeur expression_algébrique1 ou "texte1" , si elle est fausse,
alors z prendra la valeur expression_algébrique2 ou "texte2".
Exemple:
A = point( 0 , 0 ); B = point( 3.5 , 3 ); cerayA4 = cerclerayon( A , 4 ) { grisfonce , 7 }; varsi x =[AB=4_5%,1,2] { 2 }; cerayAx = cerclerayon( A , x ) { rouge };
Place 2 points A et B puis construit le cercle de centre
A et de rayon 4.
Définit ensuite x comme valant 1 si la longueur AB
vaut 4 à 5% d'unité près (c'est-à-dire à 0,05 près) sinon x vaut 2,
puis dessine le cercle de centre A et de rayon x !
Les tests conditionnels
Syntaxe
Emploi
Exemple
=, <>, <, >, <=, >=
pour comparer 2 valeurs numériques
AB<2 ou z>=3
sur
pour tester si un point est proche d'un autre
AsurB_5% : test si A est sur B à 5% d'unité près
Asur(3,4)_10% : test si A est proche du point de coordonnées
(3,4) = 10% d'unité près
appartient
pour test si un point appartient à un autre objet
CappartientAB_10% : test si C est un point de la droite (AB)
à 10% d'unité près
Cappartientd_5% : test si C est un point de la droite nommée
d à 5% près
Les imbrications de tests
Il est possible d’imbriquer des conditions les unes
dans les autres, mais pas plus de 2. Au delà, il faut décomposer le test.
Il y a donc 3 types d’imbrications possibles :
varsi z = [ condition1 , [ condition2 , expression_algébrique1
ou "texte1" , expression_algébrique2 ou "texte2" ] , expression_algébrique3
ou "texte3" ] ;
varsi z = [ condition1 , expression_algébrique1 ou "texte1" ,
[ condition2 , expression_algébrique2 ou "texte2" , expression_algébrique3
ou "texte3" ] ] ;
varsi z = [ condition1 , [ condition2 , expression_algébrique1
ou "texte1" , expression_algébrique2 ou "texte2" ] , [ condition3
expression_algébrique3 ou "texte3" , expression_algébrique4
ou "texte4" ] ] ;
Ces imbrications permettent de programmer 3 types de booléens :
le booléen (condition1 ET condition 2) s’obtient à l’aide
de : varsi z = [ condition1, [condition2, 1, 0], 0 ] ;
le booléen (condition1 OU condition 2) s’obtient à l’aide
de : varsi z = [ condition1, 0, [condition2, 1, 0] ] ;
le booléen (condition1 XOR condition 2), qui correspond au "ou
exclusif", s’obtient à l’aide de : varsi z
= [ condition1, [condition2, 0, 1], [condition2, 1, 0] ] ;
Exemple:
A = point( -2.5 , -1 ); B = point( 2.5 , 1 ); c1 = cerclerayon( A , 3 ) { rouge , plein60 }; c2 = cerclerayon( B , 4 ) { plein30 }; M = point( -1.98 , 3.63 ) { noir }; varsi z =[AM<=3,[BM<=4,1,0],0] { 0 }; t=texte(-5,5,"valeur de z : $z$");
Place 2 points A et B puis trace les cercles de centre
A et de rayon et de centre B et de rayon 4.
M est un point libre.
z vaudra 1 si il est dans l'intersection des 2 disques précédents, sinon
il vaudra 0 :
on puet le traduire ainsi : si AM est plus petit que 3 et si BM est plus
petit que 4 alors z vaut 1 sinon il vaut 0.
Le texte t affiche alors la valeur de z suivant la position de M.