Diferencia entre revisiones de «Comando Valor»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 19: Línea 19:
 
:*'''''ñ =  ñ + 1'''''  a  '''Valor[ñ, ñ + 1]'''  
 
:*'''''ñ =  ñ + 1'''''  a  '''Valor[ñ, ñ + 1]'''  
 
:*'''''ñ = ñ + á'''''    a  '''Valor[ñ, ñ + á]'''  
 
:*'''''ñ = ñ + á'''''    a  '''Valor[ñ, ñ + á]'''  
::... manteniendo '''''ñ''''' su condición de independiente, dado que sólo cambia de valor. En cambio.<br>
+
::... manteniendo '''''ñ''''' su condición de independiente, dado que solo cambia de valor. En cambio.<br>
 
:*'''''ñ =  á''''' 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.}}
Línea 26: Línea 26:
 
:{{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 sólo 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 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>
 
::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 18:52 11 ene 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 guión 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 (guión-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 guión 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]

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