Diferencia entre revisiones de «Comando Valor»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 14: Línea 14:
 
}}
 
}}
 
===Valor en los Guiones - ''scripting''===
 
===Valor en los Guiones - ''scripting''===
Para cambiar el valor de un objeto en [[Programa (guión-scripting)|''guiones'' (''scripts'')]], debe emplearse este comando en lugar del signo  '''=.'''
+
Para cambiar el valor de un objeto en [[Programa (guion-scripting)|''guiones'' (''scripts'')]], debe emplearse este comando en lugar del signo  '''=.'''
:{{example|1=<br>Siendo ''f<sub>1</sub>''  una función previamente definida como tal  y un punto ''A'' al que se le adjudica animación y rastro para obtener efectos diversos<sub>(acaso '''[[Comando Punto|Punto]]'''['''[[Comando ElementoAleatorio|ElementoAleatorio]]'''['''{f<sub>1</sub>}''']''' ''']''')'''</sub>, puede destinarse un botón con el siguiente ''guión'' para definir a ''f<sub>1</sub>'' como a una de las funciones de la lista.<hr><small>f<sub>1</sub>(x) = 1<br>f<sub>1</sub> =  Valor[f<sub>1</sub>, [[Comando ElementoAleatorio|ElementoAleatorio]]'''['''{Función'''['''[[Comando Pendiente|Pendiente]]'''['''[[Comando Segmento|Segmento]]'''['''U, V]] x, x(V), x(U)], sin(x), abs(x), cos(x), ln(abs(x))}  ]]</small>}}<hr>{{OJo|1=<br>Siendo '''''ñ''''' libre y '''''á''''' dependiente o no, son equivalentes...<br>
+
:{{example|1=<br>Siendo ''f<sub>1</sub>''  una función previamente definida como tal  y un punto ''A'' al que se le adjudica animación y rastro para obtener efectos diversos<sub>(acaso '''[[Comando Punto|Punto]]'''['''[[Comando ElementoAleatorio|ElementoAleatorio]]'''['''{f<sub>1</sub>}''']''' ''']''')'''</sub>, puede destinarse un botón con el siguiente ''guion'' para definir a ''f<sub>1</sub>'' como a una de las funciones de la lista.<hr><small>f<sub>1</sub>(x) = 1<br>f<sub>1</sub> =  Valor[f<sub>1</sub>, [[Comando ElementoAleatorio|ElementoAleatorio]]'''['''{Función'''['''[[Comando Pendiente|Pendiente]]'''['''[[Comando Segmento|Segmento]]'''['''U, V]] x, x(V), x(U)], sin(x), abs(x), cos(x), ln(abs(x))}  ]]</small>}}<hr>{{OJo|1=<br>Siendo '''''ñ''''' libre y '''''á''''' dependiente o no, son equivalentes...<br>
 
:*'''''ñ = 4'''''          a  '''Valor[ñ, 4]'''
 
:*'''''ñ = 4'''''          a  '''Valor[ñ, 4]'''
 
:*'''''ñ =  ñ + 1'''''  a  '''Valor[ñ, ñ + 1]'''  
 
:*'''''ñ =  ñ + 1'''''  a  '''Valor[ñ, ñ + 1]'''  
Línea 22: Línea 22:
 
:*'''''ñ =  á''''' desencadena una redefinición mientras...
 
:*'''''ñ =  á''''' desencadena una redefinición mientras...
 
:*'''''ñ''''' = [[Comando CopiaObjetoLibre|CopiaObjetoLibre[á]]] no la provoca dado que opera de modo análogo a '''Valor''' en este caso.}}
 
:*'''''ñ''''' = [[Comando CopiaObjetoLibre|CopiaObjetoLibre[á]]] no la provoca dado que opera de modo análogo a '''Valor''' en este caso.}}
:{{Note|1=<br>Ver el tutorial [[Tutorial:Animándose a Funciones|Animándose a Valorar Funciones]]<br><br>Ver [http://www.geogebra.org/forum/viewtopic.php?p=84753#p84753 este comentario de un foro] (detallado a continuación) para mayores explicaciones sobre el empleo de este comando en [[Programa (guión-scripting)]]
+
:{{Note|1=<br>Ver el tutorial [[Tutorial:Animándose a Funciones|Animándose a Valorar Funciones]]<br><br>Ver [http://www.geogebra.org/forum/viewtopic.php?p=84753#p84753 este comentario de un foro] (detallado a continuación) para mayores explicaciones sobre el empleo de este comando en [[Programa (guion-scripting)]]
 
}}
 
}}
 
:{{OJo|1=<br>Para analizar un ejemplo clarificador, puede considerarse dos objetos, '''''á''''' libre y '''''j''''' que también lo sea o que fuera dependiente, para notar que ingresar '''<code>á=4</code>''', :'''<code>á=á + 1</code>''',  '''<code>á=á + j</code>''' es equivalente a :'''<code>Valor[á, 4]</code>''',  '''<code>Valor[á, á + 1]</code>''' y '''<code>Valor[á, á + j]</code>'''  (siendo '''''á''''' aún libre habiéndose modificado exclusivamente su valor).<br>En cambio, '''<code>á = j</code>''' ocasiona una redefinición. Mientras que:<br>'''<code>á = [[Comando CopiaObjetoLibre|CopiaObjetoLibre]][j]</code>''' operaría, nuevamente, como '''Valor'''.<br>La '''''redefinición''''' es un proceso lento, máxime si hay numeroso objetos en juego, dependientes de '''''á''''' en este caso. Esto provocaría serios inconvenientes en guiones que podrían operar ''Al Actualizar'' por lo que, en caso de dudas, es recomendable optar por '''Valor[]'''.}}
 
:{{OJo|1=<br>Para analizar un ejemplo clarificador, puede considerarse dos objetos, '''''á''''' libre y '''''j''''' que también lo sea o que fuera dependiente, para notar que ingresar '''<code>á=4</code>''', :'''<code>á=á + 1</code>''',  '''<code>á=á + j</code>''' es equivalente a :'''<code>Valor[á, 4]</code>''',  '''<code>Valor[á, á + 1]</code>''' y '''<code>Valor[á, á + j]</code>'''  (siendo '''''á''''' aún libre habiéndose modificado exclusivamente su valor).<br>En cambio, '''<code>á = j</code>''' ocasiona una redefinición. Mientras que:<br>'''<code>á = [[Comando CopiaObjetoLibre|CopiaObjetoLibre]][j]</code>''' operaría, nuevamente, como '''Valor'''.<br>La '''''redefinición''''' es un proceso lento, máxime si hay numeroso objetos en juego, dependientes de '''''á''''' en este caso. Esto provocaría serios inconvenientes en guiones que podrían operar ''Al Actualizar'' por lo que, en caso de dudas, es recomendable optar por '''Valor[]'''.}}
 
====Valor y Objetos Libres====
 
====Valor y Objetos Libres====
 
Dada ''li<sub>1</sub> = {A, B, C}'', una lista [[Objetos libres, dependientes y auxiliares|dependiente]] de puntos a la que se quiere incorporar uno adicional, ''D'', no tendrá efecto alguno el comando '''Valor''' dado que solo opera sobre objetos [[Objetos libres, dependientes y auxiliares|libres]].
 
Dada ''li<sub>1</sub> = {A, B, C}'', una lista [[Objetos libres, dependientes y auxiliares|dependiente]] de puntos a la que se quiere incorporar uno adicional, ''D'', no tendrá efecto alguno el comando '''Valor''' dado que solo opera sobre objetos [[Objetos libres, dependientes y auxiliares|libres]].
:{{Example|1=<br>Un guión adecuado para  esta maniobra, debe en primer lugar, crear,  con [[Comando CopiaObjetoLibre|CopiaObjetoLibre]], una lista alternativa [[Objetos libres, dependientes y auxiliares|libre]], ''li<sub>2</sub>'' para que su cuarto elemento, con '''Valor''' pase a ser ''D''.  Así:<br>
+
:{{Example|1=<br>Un guion adecuado para  esta maniobra, debe en primer lugar, crear,  con [[Comando CopiaObjetoLibre|CopiaObjetoLibre]], una lista alternativa [[Objetos libres, dependientes y auxiliares|libre]], ''li<sub>2</sub>'' para que su cuarto elemento, con '''Valor''' pase a ser ''D''.  Así:<br>
 
::li<sub>2</sub>= [[Comando CopiaObjetoLibre|CopiaObjetoLibre[li<sub>1</sub>]]]<br>
 
::li<sub>2</sub>= [[Comando CopiaObjetoLibre|CopiaObjetoLibre[li<sub>1</sub>]]]<br>
 
::Valor[li<sub>2</sub> , 4, D]
 
::Valor[li<sub>2</sub> , 4, D]

Revisión del 06:30 26 nov 2014


Valor[ <Booleano>, <0|1> ]
Fija el estado de una booleana / casilla de control, con un 1 = cierto y con 0 = falso, operando del mismo modo que...
Valor[ <Booleano>, <false|true> ].
Nota: En lugar de Valor[b, true] puede anotarse Valor[b, 1] dado que 1 reemplaza a la condición verdadera y 0, a la falsa.
Ejemplo: Siendo b una booleana, Valor[b, 1] la establece verdadera.
Valor[ <Objeto>, <Objeto> ]
Establece para el primer objeto, el valor del segundo.
Nota:
Si el primero es un objeto libre, su valor queda establecido por el del segundo.
Ejemplos:

Así, dados ...
s un segmento, un Punto[s] A en (-3, 3) y È uno libre
Valor[È , A ] llevará a È a (-3, 3)
Si el primero fuera un punto restringido a cierto recorrido o región, procurará tomar el valor del segundo dentro del ámbito al que está limitado.

Así, siendo...
A un Punto[s] en (-3, 3) y Ú un Punto[EjeX] en (0, 0),
Valor[Ú , A ]], lleva a Ú a (-3, 0)Lo más acorde a A que le es posible
Alerta Alerta: El valor asignado al primer objeto no cambia frente a las modificaciones posteriores del segundo dado que el vínculo no es dinámico.


Valor[ <Lista>, <Número>, <Objeto> ]
Crea, a partir de la Lista dada, una en la que la posición indicada por el Número la ocupe un elemento de valor acorde al del Objeto señalado.
Alerta Alerta: La Lista debe ser libre y el valor del Número no debe superar al de su longitud + 1 dado que apunta a añadir un enésimo elemento que, como máximo, será el siguiente al último)
Ejemplos:
Siendo l_v = {}, Valor[l_1, 1, Elemento[{"a", "e", "i", "o", "u"}, 1] ] ingresa la a a l_v que deviene {"a"}.
Luego, Valor[l_1, 2, Elemento[{"a", "e", "i", "o", "u"}, 2] ] añade la e y l_v pasa a ser {"a", "e"} ... y así sucesivamente.

Dada labcde = (), Valor[ labcde , 1, Secuencia[LetraDeCódigo[96 + r], r, 1, 5]] lleva a labcde = {{"a", "b", "c", "d", "e"}}

Valor en los Guiones - scripting

Para cambiar el valor de un objeto en guiones (scripts), debe emplearse este comando en lugar del signo =.

Ejemplo:
Siendo f1 una función previamente definida como tal y un punto A al que se le adjudica animación y rastro para obtener efectos diversos(acaso Punto[ElementoAleatorio[{f1}] ]), puede destinarse un botón con el siguiente guion para definir a f1 como a una de las funciones de la lista.
f1(x) = 1
f1 = Valor[f1, ElementoAleatorio[{Función[Pendiente[Segmento[U, V]] x, x(V), x(U)], sin(x), abs(x), cos(x), ln(abs(x))} ]]

Bulbgraph.pngAtención:
Siendo ñ libre y á dependiente o no, son equivalentes...
  • ñ = 4 a Valor[ñ, 4]
  • ñ = ñ + 1 a Valor[ñ, ñ + 1]
  • ñ = ñ + á a Valor[ñ, ñ + á]
... manteniendo ñ su condición de independiente, dado que solo cambia de valor. En cambio.
  • ñ = á desencadena una redefinición mientras...
  • ñ = CopiaObjetoLibre[á] no la provoca dado que opera de modo análogo a Valor en este caso.
Nota:
Ver el tutorial Animándose a Valorar Funciones

Ver este comentario de un foro (detallado a continuación) para mayores explicaciones sobre el empleo de este comando en Programa (guion-scripting)
Bulbgraph.pngAtención:
Para analizar un ejemplo clarificador, puede considerarse dos objetos, á libre y j que también lo sea o que fuera dependiente, para notar que ingresar á=4, :á=á + 1, á=á + j es equivalente a :Valor[á, 4], Valor[á, á + 1] y Valor[á, á + j] (siendo á aún libre habiéndose modificado exclusivamente su valor).
En cambio, á = j ocasiona una redefinición. Mientras que:
á = CopiaObjetoLibre[j] operaría, nuevamente, como Valor.
La redefinición es un proceso lento, máxime si hay numeroso objetos en juego, dependientes de á en este caso. Esto provocaría serios inconvenientes en guiones que podrían operar Al Actualizar por lo que, en caso de dudas, es recomendable optar por Valor[].

Valor y Objetos Libres

Dada li1 = {A, B, C}, una lista dependiente de puntos a la que se quiere incorporar uno adicional, D, no tendrá efecto alguno el comando Valor dado que solo opera sobre objetos libres.

Ejemplo:
Un guion adecuado para esta maniobra, debe en primer lugar, crear, con CopiaObjetoLibre, una lista alternativa libre, li2 para que su cuarto elemento, con Valor pase a ser D. Así:
li2= CopiaObjetoLibre[li1]
Valor[li2 , 4, D]

Comandos Si y Valor en los Guiones

En la mayor parte de los lenguajes de programación, Si significa si la condición es verdadera hacer esto y sino, aquello. Pero en GeoGebra los argumentos de Si no son comandos sino valores a adoptar frente a uno u otro resultado lógico.

En consecuencia, si se desea que b tome el valor 2 si la condición a > 2 es verdadera, el método correcto para lograrlo sería Valor[b,Si[a>2,2,b]]. Toda otra maniobra para implicar a los comandos Si y Valor sería incorrecta.

Comentarios

Valor() en guiones[editar]

Para cambiar el valor de un objeto en un guion, siempre hay que usar Valor en lugar de =.

© 2024 International GeoGebra Institute