Diferencia entre revisiones de «Comando Si»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 14: Línea 14:
 
{{Examples|1=<div>
 
{{Examples|1=<div>
 
*'''<code>f(x) = Si[x < 3, cos(x), x^2]</code>''' establece la [[Funciones|función]] por tramos ''cos(x)'' para ''x < 3'' y ''x<sup>2</sup>'' para ''x ≥ 3''
 
*'''<code>f(x) = Si[x < 3, cos(x), x^2]</code>''' establece la [[Funciones|función]] por tramos ''cos(x)'' para ''x < 3'' y ''x<sup>2</sup>'' para ''x ≥ 3''
*'''<code>f(x) = Si[x < 3, sen(x), x^2]</code>''' o '''<code>f(x) = (x < 3) sen(x) +(x>=3) x^2 </code>''' establece la [[Funciones|función]] por tramos tal que será ''sen(x)'' para ''x < 3'' y ''x<sup>2</sup>'' para ''x ≥ 3''
+
*'''<code>f(x) = Si[x < 3, sen(x), x^2]</code>''' o '''<code>f(x) = (x < 3) sen(x) +(x>=3) x^2 </code>''' establece la [[Funciones|función]] por tramos tal que será ''sen(x)'' para ''x < 3'' y ''x<sup>2</sup>'' para ''x ≥ 3''<br><br>La primera sintaxis desencadena, en la [[Vista Algebraica]] la siguiente expresión:<br><math>f(x)  = \left\{\begin{matrix} sen( x ) \space\space : \space x < 3\\ x^{2}\space\space\space\space\space\space\space\space\space\space : \space \text{si no} \end{matrix}\right. </math><br><br>
 
*'''<code>g(x) = Si[0 < x ∧ x<3, x^3]</code>''' equivale a '''<code>g(x)= x^3 ((0<x)&& (x<3)) </code>''' establece la [[Funciones|función]] por tramos tal que será ''x<sup>3</sup>'' para x entre 0 y 3  y quedará indefinida para ''x ≤ 0'' o ''x ≥ 3''.*'''<code>f(x) = Si[x < 3 ∧ x>0, cos(x)]</code>'''  establece la función ''cos(x)'' para x entre 0 y 3 y queda indefinida para ''x ≥ 3'' o ''0 ≥ x''
 
*'''<code>g(x) = Si[0 < x ∧ x<3, x^3]</code>''' equivale a '''<code>g(x)= x^3 ((0<x)&& (x<3)) </code>''' establece la [[Funciones|función]] por tramos tal que será ''x<sup>3</sup>'' para x entre 0 y 3  y quedará indefinida para ''x ≤ 0'' o ''x ≥ 3''.*'''<code>f(x) = Si[x < 3 ∧ x>0, cos(x)]</code>'''  establece la función ''cos(x)'' para x entre 0 y 3 y queda indefinida para ''x ≥ 3'' o ''0 ≥ x''
 
*<code>g(x) = Si[-1  <  x  <  0, x³ + 1, 0  <  x  <  2, 1 - x, x² - 5]</code>     
 
*<code>g(x) = Si[-1  <  x  <  0, x³ + 1, 0  <  x  <  2, 1 - x, x² - 5]</code>     

Revisión del 12:34 19 feb 2015


Si[ <Condición>, <ObjetoEntonces> ]
Si la condición resulta verdadera (true), entonces se crea un nuevo objeto, según especificación o acorde al valor indicado y uno indefinido si se la evalúa falsa (false).
Ejemplos:
  • Si[round(10random()) < 4, 5] crea un número dependiente, de valor 5 si el resultado de la condición aleatoria se cumple e indefinido si fuera falsa.
  • tri := Si[Distancia[(round(10random()), round(10random())), EjeX] > 4, Polígono[(round(10random()), 3), (0, 2), 3]] crea un polígono triangular cuando la condición resulta verdadera, quedando indefinido si fuera falsa.
  • tra := Si[Distancia[(3, round(10random())), EjeX] > 4, Traslada[tri, Vector[(0, 0), (0, 1)]]] crea un polígono como copia trasladada de uno anterior, tri, si la condición es verdadera. Lo deja indefinido en caso contrario.
Si[ <Condición>, <ObjetoEntonces>, <ObjetoSi no> ]
Siendo la condición verdadera (true), entonces crea el objeto especificado y el señalado en segundo lugar si no lo fuera -false -.
Bulbgraph.pngAtención: Sendos objetos deben ser del mismo tipo. Otro tanto, de indicarse valores.
Ejemplos:
  • tritras := Si[Distancia[(3, round(10random())), EjeX] > 4, tri, Homotecia[tri, 0.2]] crea un polígono copiado de uno anterior, tri, si la condición es verdadera y su reducción por factor de escala 0.2 en caso contrario.
  • Si[round(10random()) < 4, 5, 2] crea un número, dependiente, de valor 5 si el resultado de la condición aleatoria se cumple e igual a 2, si fuera falsa.

Funciones Condicionadas por Tramos

El comando Si y/o los booleanos en general, permiten crear funciones condicionadas por tramos, susceptibles de operar como argumentos de comandos como Derivada, Integral y hasta para, por ejemplo, Interseca.
El ámbito más usual para el empleo de este comando es la Vista Algebraica, como evidencian la mayor parte de los siguientes ejemplos.

Ejemplos:
  • f(x) = Si[x < 3, cos(x), x^2] establece la función por tramos cos(x) para x < 3 y x2 para x ≥ 3
  • f(x) = Si[x < 3, sen(x), x^2] o f(x) = (x < 3) sen(x) +(x>=3) x^2 establece la función por tramos tal que será sen(x) para x < 3 y x2 para x ≥ 3

    La primera sintaxis desencadena, en la Vista Algebraica la siguiente expresión:
    f(x) = \left\{\begin{matrix} sen( x ) \space\space : \space x < 3\\ x^{2}\space\space\space\space\space\space\space\space\space\space : \space \text{si no} \end{matrix}\right.

  • g(x) = Si[0 < x ∧ x<3, x^3] equivale a g(x)= x^3 ((0<x)&& (x<3)) establece la función por tramos tal que será x3 para x entre 0 y 3 y quedará indefinida para x ≤ 0 o x ≥ 3.*f(x) = Si[x < 3 ∧ x>0, cos(x)] establece la función cos(x) para x entre 0 y 3 y queda indefinida para x ≥ 3 o 0 ≥ x
  • g(x) = Si[-1 < x < 0, x³ + 1, 0 < x < 2, 1 - x, x² - 5]
  • f(x) = Si[0 <= x <= 3, sen(x) ] establece la función que es igual a sen(x) para x entre 0 y 3 y queda indefinida en caso contrario
  • f(x) = Si[x < 3 ∧ x>0, cos(x), x^3] establece la función cos(x) para x entre 0 y 3 y x3 para x ≥ 3 o 0 ≥ x
  • f(x) = Si[-1 < x < 0, x³ + 1, 0 < x < 2, 1 - x, x² - 5]
Nota:
Ver la sección destinada a valores lógicos o booleanos para identificar los símbolos a emplear en las proposiciones condicionales.


Si en Guiones - Scripts

En muchos lenguajes de programación, el Si desencadena acciones:

  • Si se cumple determinada condición, se hace cierta cosa y en caso contrario, sa hace otra o no se hace nada.

El Si de GeoGebra opera de otro modo, similar al Si de las hojas o planillas de cálculo:

  • Si le asigna a un objeto valores acorde al resultado de determinada condición. Si se cumple, adquiere el valor indicado o el del modelo propuesto. En caso contrario, el de la alternativa planteada. Si no se hubiera previsto la alternativa, conserva el valor que tuviera, de existir previamente, o queda indefinido.
Ejemplo:

De querer asignarle el valor 3 a b cuando a > 2, el modo correcto de formularlo es:

  • Valor[b, Si[a > 2, 3, b]]
Bulbgraph.pngAtención:
Siendo a su vez correcta la sintaxis b= Si[a > 2, 3, b], no lo es la que anida condiciones y los comandos Valor y Si.
Nota:
Los argumentos de este comando deben ser Objetos o Comandos de Guiones, no asignaciones.
Así, la sintaxis b = Si[a > 1, 2, 3] es correcta, pero b = 2 o b = 3 no serían aceptables como parámetros.

Alternativas de Asignación

Nota: Así, desde la versión 4.2:
Si[ Resto[n, 2] == 0, ColorDinámico[A, 10,20,255], ColorDinámico[A, 255,20,10]]...
... colorea al existente punto A acorde a la condición, mientras que en versiones previas, no había cambio ni efecto de acción alguno sobre A sino sobre un nuevo punto, copia de A en todo, excepto en el valor de su color compuesto por la asignación de valor condicionada.
Ejemplos:


Menu view cas.png En la Vista ComputaciónAlgebraicaSimbólica

En esta vista, el comando obra de modo análogo al descripto, admitiendo literales para operar simbólicamente.

Ejemplo:
Simplifica[Derivada[k x^(Si[round(10 random()) < 7,3 ñ, 2 ó])]] ofrece expresiones acorde a el aleatorio resultado señalado para el exponente que, además, incluye literales. Como las siguientes:
  • Si2.PNG
  • Si1.PNG

© 2024 International GeoGebra Institute