Comando Si

Si( <Condición>, <Entonces> )

Da por resultado una copia del objeto Entonces si la "Condición" es verdadera, y un objeto indefinido, si la condición es falsa.

  • Sea n = 3. Si(n==3, x + y = 4) da por resultado la recta x + y = 4, ya que la condición sobre el número n se verifica.

  • Sea n = 4. Si(n==3, x + y = 4) crea un objeto indefinido, porque la condición sobre el número n no se verifica .

Si( <Condición>, <Entonces>, <Si no> )

Da por resultado una copia del objeto Entonces si la "Condición" es verdadera, y una copia del objeto Si no si la condición es falsa. Ambos objetos deben ser del mismo tipo.

Sea n un número. Si(n==3, x + y = 4, x - y = 4) da por resultado la recta x + y = 4 cuando n = 3, y la recta x - y = 4 para todo n distinto de 3.

Si( <Condición 1>, <Entonces 1>, <Condición 2>, <Entonces 2>, …​ , <Si no (opcional)> )

Da por resultado una copia del objeto Entonces 1 si la "Condición 1" se verifica, Entonces 2 si la segunda condición se verifica, etc. Si ninguna de las condiciones se verifica, entonces da por resultado el objeto indicado en "Si no". Si este último parámetro no se completa, el comando devuelve un objeto indefinido.

Si(a ≟ 1, "Matías", a ≟ 2,"Juan", a ≟ 3, "Viviana", "Alejandro") Cuando a=1 da por resultado el texto "Matías", para a=2' da por resultado "Juan", para a=3, "Viviana" y para todos los demás valores de a da por resultado "Alejandro".

Funciones definidas por tramos

El comando Si puede ser utilizado para crear funciones definidas por tramos. Tales funciones pueden ser utilizadas como argumentos en cualquier otro comando que acepte funciones, tales como Derivada, Integral, e Interseca.

  • f(x) = Si(x < 3, sen(x), x^2) da por resultado una función definida por tramos que asigna sen(x) para x < 3 y x2 para x ≥ 3.

  • f(x) = Si(0 <= x <= 3, sen(x)) da por resultado una función que asigna sen(x) para x entre 0 y 3 (y no está definida para otros valores).

Una sintaxis más corta para este último caso es f(x) = sen(x), 0 <= x <= 3

  • f(x) =Si(x<-1,x²,-1<=x<=1,1,-x²+2) da por resultado la función definida por tramos \(f(x) = \begin{cases} \begin{array}{rcl}x^{2} & :& x < -1 \\ 1 & : &-1 \leq x \leq 1 \\-x^{2} + 2 & :& \text{en caso contrario}\end{array}\end{cases} \).

Funciones de varias variables definidas por tramos

El comando Si también puede ser utilizado para crear funciones de varias variables definidas por tramos. En este caso, la definición de los tramos de la función dada debe contener todas las variables de la función dada.

Sea deslizadorVal = 1 un deslizador en el intervalo [1,3]. El comando f(x,y,a,b,c) = Si(deslizadorVal==1, x + 0y +a + 0b + c, deslizadorVal==2, 0x+ y^2 + 0a +2b +0c, x + y + 0a + b +0c) devuelve una función de varias varibles que vale x+a+c cuando el valor del deslizador es 1, y2 + 2b cuando el valor del deslizador es 2, y x
y + b
cuando el valor del deslizador es 3.

  • La derivada de Si(condición, f(x), g(x)) da por resultado Si(condición, f'(x), g'(x)). No realiza ningún tipo de evaluación en los puntos de cambio de definición.

  • Se puede acceder a la sección Valores Lógicos para ver los símbolos que se utilizan en proposiciones condicionales.

El comando Si en guiones

El comando Si puede ser utilizado en guiones (scripts) para desencadenar acciones bajo ciertas condiciones.

Sea n un número, y A un punto. El comando Si(Resto(n, 7) == 0, Coordenadas(A, n, 0), Coordenadas(A, n, 1)) modifica las coordenadas del punto A de acuerdo a la condición dada. En este caso sería más sencillo utilizar Coordenadas(A, n, Si(Resto(n, 7) == 0,0,1)).

Los argumentos de Si deben ser Objetos o Comandos de Guiones - Scripting, no asignaciones. La sintaxis b = Si(a > 1, 2, 3) es correcta, pero b = 2 o b = 3 no serían aceptados como parámetros del comando Si.