Comando Se

Se(Condizione, Allora)

Restituisce una copia dell’oggetto Allora se la condizione è soddisfatta (true), e un oggetto non definito se la condizione non è soddisfatta (false).

Esempi:

  • Sia n = 3. Il comando Se(n==3, x + y = 4) genera e traccia la retta di equazione x + y = 4

  • Sia n = 4. Il comando Se(n==3, x + y = 4) crea un oggetto non definito perché la condizione sul numero n non è soddisfatta.

Se(Condizione, Allora, Altrimenti)

Restituisce una copia dell’oggetto Allora se la condizione è soddisfatta (true), e una copia dell’oggetto Altrimenti se la condizione non è soddisfatta (false). Entrambi gli oggetti devono essere dello stesso tipo.

Sia n un numero qualsiasi. Allora Se(n==3, x + y = 4, x - y = 4) genera e traccia la retta x + y = 4 quando n = 3, mentre genera e traccia la retta x - y = 4 quando n assume qualsiasi valore diverso da 3

Se(Condizione1, Allora 1, Condizione 2, Allora 2, …​ , Altrimenti (facoltativo))

Restituisce una copia dell’oggetto Allora 1 quando la prima condizione è soddisfatta, una di Allora 2 quando la seconda condizione è soddisfatta, e così via. Se non è soddisfatta alcuna condizione ed è stato indicato un Altrimenti, allora il comando restituisce una copia di Altrimenti. In tutti gli altri casi viene restituito un non definito.

Il comando Se(a ≟ 1, "Teo", a ≟ 2, "Mattia", a ≟ 3, "Chiara", "Roberto") restituisce il testo Teo quando a = 1, il testo Mattia quando a = 2, il testo Chiara quando a = 3 e il testo Roberto per tutti gli altri valori di a.

Funzioni condizionate

Il comando Se può essere utilizzato per creare funzioni definite a tratti. Tali funzioni possono essere richiamate da qualsiasi comando che accetti come argomento una funzione, come Derivata, Integrale, e Intersezione.

Esempi:

  • f(x) = Se(x < 3, sin(x), x^2) restituisce la funzione a tratti \(f(x) = \begin{cases} \begin{array}{rcl}\sin (x) & :& x < 3 \\ x^{2} + 2 & :& \text{altrove}\end{array}\end{cases} \).

  • f(x) = Se(0<=x<=3, sin(x)) restituisce la funzione sin(x) per le x tra 0 e 3 e non è definita altrove. In questo caso è possibile utilizzare anche una versione più compatta del comando: f(x) = sin(x), 0 <= x <= 3

  • f(x) =Se(x<-1,x²,-1<=x<=1,1,-x²+2) restituisce la funzione a tratti \(f(x) = \begin{cases} \begin{array}{rcl}x^{2} & :& x < -1 \\ 1 & : &-1 \leq x \leq 1 \\-x^{2} + 2 & :& \text{otherwise}\end{array}\end{cases} \).

Funzioni condizionate in più variabili

Il comando Se può essere utilizzato anche per definire funzioni in più variabili che dipendono da una condizione. In questo caso, le definizioni delle componenti della funzione da creare devono contenere tutte le variabili della funzione.

Sia sliderVal = 1 uno slider a valori nell’intervallo [1,3]. Il comando f(x,y,a,b,c) = Se(sliderVal==1, x + 0y +a + 0b + c, sliderVal==2, 0x+ y^2 + 0a +2b +0c, x + y + 0a + b +0c) restituisce una funzione in più variabili che sarà uguale a x+a+c quando il valore dello slider è 1, y2 + 2b quando il valore dello slider è 2, e x + y + b quando il valore dello slider è 3.

  • Vedere la sezione Valori booleani per i simboli utilizzati nelle espressioni condizionali.

  • La derivata di una funzione definita a tratti, del tipo Se(condizione, f(x), g(x)) sarà nella forma Se(condizione, f'(x), g'(x)), senza valutazione dei limiti nei punti critici.

Comando Se in uno script

Il comando Se può essere utilizzato negli script per eseguire determinate azioni sotto certe condizioni. Gli argomenti del comando Se non devono essere assegnazioni, ma oggetti o Comandi Scripting. Un’istruzione del tipo b = Se(a > 1, 2, 3) è sintatticamente corretta, ma b=2 o b=3 non verranno accettati come parametri di Se.

Siano n un numero e A un punto: il comando Se(Resto(n, 7)==0, ImpCoordinate(A, n, 0), ImpCoordinate(A, n, 1)) modifica le coordinate del punto A secondo la condizione indicata. La stringa di comandi più efficiente relativamente a questa azione rimane comunque ImpCoordinate(A, n, Se(Resto(n, 7) == 0, 0, 1)).