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.
|
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))
.