Diferencia entre revisiones de «Comando Valor»
De GeoGebra Manual
Línea 9: | Línea 9: | ||
;Valor[ <Lista>, <Número>, <Objeto> ]:Otorga el valor del ''Objeto'' señalado al elemento de la '''''Lista''''' que ocupa la posición indicada por el '''''Número'''''. | ;Valor[ <Lista>, <Número>, <Objeto> ]:Otorga el valor del ''Objeto'' señalado al elemento de la '''''Lista''''' que ocupa la posición indicada por el '''''Número'''''. | ||
{{warning|1=La ''Lista'' debe ser libre y el valor del ''Número'' no debe superar al de su [[Comando Longitud|longitud]] + 1 dado que apunta a añadir un e'''''n'''''ésimo elemento que, como máximo, será el siguiente al último)}} | {{warning|1=La ''Lista'' debe ser libre y el valor del ''Número'' no debe superar al de su [[Comando Longitud|longitud]] + 1 dado que apunta a añadir un e'''''n'''''ésimo elemento que, como máximo, será el siguiente al último)}} | ||
− | :{{Examples|1=<br>Siendo '''''l_v''''' = {}, '''<code>Valor[l_1, 1, Elemento[{"a", "e", "i", "o", "u"}, 1] ]</code>''' ingresa la ''a'' a ''l_v'' que deviene {"a"}.<br>Luego, '''<code>Valor[l_1, 2, Elemento[{"a", "e", "i", "o", "u"}, 2] ]</code>''' añade la ''e'' y ''l_v'' pasa a ser {"a", "e"} ... y así sucesivamente.<br><br>Dada ''l<sub>abcde</sub>'' = (), '''<code>Valor[ l<sub>abcde</sub> , 1, Secuencia[LetraDeCódigo[96 + r], r, 1, 5]]</code>''' lleva a ''l<sub>abcde</sub>'' = ''{'''{"a", "b", "c", "d", "e"}'''}'' | + | :{{Examples|1=<br>Siendo '''''l_v''''' = {}, '''<code>Valor[l_1, 1, [[Comando Elemento|Elemento]][{"a", "e", "i", "o", "u"}, 1] ]</code>''' ingresa la ''a'' a ''l_v'' que deviene {"a"}.<br>Luego, '''<code>Valor[l_1, 2, [[Comando Elemento|Elemento]][{"a", "e", "i", "o", "u"}, 2] ]</code>''' añade la ''e'' y ''l_v'' pasa a ser {"a", "e"} ... y así sucesivamente.<br><br>Dada ''l<sub>abcde</sub>'' = (), '''<code>Valor[ l<sub>abcde</sub> , 1, [[Comando Secuencia|Secuencia]]'''['''[[Comando LetraDeCódigo|LetraDeCódigo]]'''['''96 + r], r, 1, 5''']''']</code>''' lleva a ''l<sub>abcde</sub>'' = ''{'''{"a", "b", "c", "d", "e"}'''}'' |
}} | }} | ||
===Valor en los Guiones - ''scripting''=== | ===Valor en los Guiones - ''scripting''=== | ||
Para cambiar el valor de un objeto en [[Programas - Guiones (Scripting)|''guiones'' (''scripts'')]], debe emplearse este comando en lugar del signo '''=.''' | Para cambiar el valor de un objeto en [[Programas - Guiones (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 '''Punto[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>, ElementoAleatorio[{Función[Pendiente[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 ''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> |
:*'''''ñ = 4''''' a '''Valor[ñ, 4]''' | :*'''''ñ = 4''''' a '''Valor[ñ, 4]''' | ||
:*'''''ñ = ñ + 1''''' a '''Valor[ñ, ñ + 1]''' | :*'''''ñ = ñ + 1''''' a '''Valor[ñ, ñ + 1]''' |
Revisión del 02:08 20 mar 2013
Valor
Categorías de Comandos (todos)
- 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 libreValor[È , 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: | 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[ <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[ <Lista>, <Número>, <Objeto> ]
- Otorga el valor del Objeto señalado al elemento de la Lista que ocupa la posición indicada por el Número.
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))} ]]Atención:
Siendo ñ libre y á dependiente o no, son equivalentes...
- ñ = 4 a Valor[ñ, 4]
- ñ = ñ + 1 a Valor[ñ, ñ + 1]
- ñ = ñ + á a Valor[ñ, ñ + á]
- ... manteniendo ñ su condición de independente, dado que sólo 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 Programas - Guiones (Scripting) - Atenció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]
yValor[á, á + 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 adcional, D, no tendrá efecto alguno el comando Valor dado que sólo 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]
- li2= CopiaObjetoLibre[li1]