Commande Si

Si( <Condition>, <Objet> )

retourne une copie de l’objet si la condition prend la valeur true (vrai), et un objet non défini si elle prend la valeur false (faux).

Si( <Condition>, <Objet a>, <Objet b> )

retourne une copie de l’objet a si la condition prend la valeur true (vrai), et une copie de l’objet b si elle prend la valeur false (faux).

Soit n un naturel. Si(n==3, x + y = 4, x - y = 4) retourne la droite dont une équation est x + y = 4 lorsque n = 3, et la droite dont une équation est x - y = 4 pour toutes les valeurs de n différentes de 3.

Si( <Condition 1>, <Alors 1>, <Condition 2>, <Alors 2>, …​ , <Sinon (optionnel)> )

retourne une copie de l’objet "Alors 1" si la première condition est réalisée, de "Alors 2" si la deuxième condition est réalisée etc.

Si aucune des conditions n’est réalisée et qu’un "Sinon" est précisé, la commande retourne une copie de l’objet "Sinon". Sinon "non défini" est retourné.

Si(a ≟ 1, "Yvan", a ≟ 2,"Boris", a ≟ 3, "Marie", "Moi")

Si a=1 la commande retourne le texte "Yvan", pour a=2' elle retourne "Boris", pour a=3 "Marie" et pour toutes les autres valeurs de a elle retourne "Moi".

Attention Attention:

Les objets doivent être du même type.

Fonctions conditionnelles

La commande Si ou des booléens peuvent être utilisés pour créer des fonctions conditionnelles. L’affichage dans Algèbre étant, en général, plus conventionnel, lors de l’utilisation de Si Ces fonctions peuvent être utilisées comme argument dans toute commande agissant sur une fonction, telle que Dérivée, Intégrale, et Intersection.

  • f(x) = Si(x < 3, sin(x), x^2) ou f(x) = (x < 3) sin(x) +(x>=3) x^2 retourne la fonction valant sin(x) pour x < 3 et x2 pour x ≥ 3

La première syntaxe provoquant l’affichage \(h(x) = \begin{cases} \begin{array}{rcl}sin(x) & :& x < 3 \\ x^{2} & :& \text{sinon}\end{array}\end{cases}\) dans Algèbre.

  • g(x) = Si(0 < x ∧ x<3, x^3) retourne la fonction valant x3 pour x entre 0 et 3 et non définie pour x ≤ 0 ou x ≥ 3, avec pour affichage dans Algèbre : \(x³ ((0 < x) ∧ (x < 3))\), une syntaxe plus simple g(x) = x^3, 0 < x <3 retournant la fonction valant x3 pour x entre 0 et 3 et non définie pour x ≤ 0 ou x ≥ 3, avec pour affichage dans Algèbre : \(x³, (0 < x < 3)\)

  • Attention ! À ne pas confondre avec g(x) = x^3 (0 < x <3) (sans le séparateur virgule) avec pour affichage dans Algèbre : \(x³ (0 < x < 3)\), vous obtenez la fonction valant x3 pour x entre 0 et 3 et NULLE pour x ≤ 0 ou x ≥ 3

  • h(x) = Si(-1 < x < 0, x³ + 1, 0 < x < 2, 1 - x, x² - 5) ou (-1<x<0)(x^3+1)+(0<x<2)(1-x)+!(-1<x<2)(x^2-5) retourne la fonction valant \(x² - 5\), sauf entre -1 et 0, où elle vaut \(x^{3} +1\), et entre 0 et 2, où elle vaut \(1-x\).

La première syntaxe provoquant l’affichage

\(h(x) = \begin{cases} \begin{array}{rcl}x^{3}+1 & :& -1< x < 0 \\ 1-x & : &0< x<2 \\x^{2} -5 & :& \text{sinon}\end{array}\end{cases} \) dans Algèbre.

  • u(x) = Si(x < 2, x², x < 5, x, x < 6, (-x) / 7) correspond à \(u(x) = \left\{\begin{matrix} x² \space\space\space\space:\space\space x < 2\\x\space\space\space\space : \space\space x < 5\\ - \frac{x}{7}\space\space : \space\space x < 6 \end{matrix}\right. \) dans Algèbre

  • f(x) =Si(x<-1,x²,-1<=x<=1,1,-x²+2) retourne la fonction par morceaux

\(f(x) = \begin{cases} \begin{array}{rcl}x^{2} & :& x < -1 \\ 1 & : &-1 \leq x \leq 1 \\-x^{2} + 2 & :& \text{sinon}\end{array}\end{cases} \).

Fonctions conditionnelles à plusieurs variables.

La commande Si peut être aussi utilisée pour définir des fonctions conditionnelles à plusieurs variables.

Dans ce cas, la définition de tous les morceaux doit contenir toutes les variables.

Soit ValCurseur = 1 un curseur à valeurs dans l’intervalle [1,3].

La commande f(x,y,a,b,c) = Si(ValCurseur==1, x + 0y +a + 0b + c, ValCurseur==2, 0x+ y^2 + 0a +2b +0c, x + y + 0a + b +0c) retourne la fonction valant x+a+c si le curseur vaut 1, y2 + 2b s’il vaut 2, and x + y + b s’il vaut 3.

Voir section: Valeurs booléennes pour les symboles utilisés dans les écritures de conditions.

image

Dérivée(Si(condition, f(x), g(x))) donne Si(condition, f'(x), g'(x)). Il n’y a pas pour l’instant d’évaluation "propre" des limites au niveau du point "critique".

La commande Si dans les Scripts.

La commande Si peut être utilisée dans les scripts pour accomplir différentes actions sous certaines conditions.

Soit le nombre n et le point A. La commande Si(Reste(n, 7) == 0, SoitCoordonnées(A, n, 0), SoitCoordonnées(A, n, 1)) modifie les coordonnées du point A selon la condition donnée. Dans ce cas il est plus simple d’utiliser SoitCoordonnées(A, n,Si(Reste(n, 7) == 0,0,1)).

Notez que les arguments de Si doivent être des objets ou des Commandes_Scripts, et non des affectations. La syntaxe b=Si(a>1,2,3) est correcte, mais b=2 ou b=3 ne seront acceptés comme paramètres.

Menu view cas.svg Calcul formel :

Cette commande fonctionne à l’identique dans la fenêtre Calcul formel