Diferencia entre revisiones de «Comando FijaValor»

De GeoGebra Manual
Saltar a: navegación, buscar
Línea 1: Línea 1:
<noinclude>{{Manual Page|version=4.0}}</noinclude>{{command|scripting|FijaValor}}
+
<noinclude>{{Manual Page|version=4.2}}</noinclude>{{command|scripting|FijaValor}};FijaValor[ <Objeto>, <Objeto> ]:Establece para el primer ''objeto'', el valor del segundo.
;FijaValor[ <Objeto>, <Objeto> ]:Si el primero es un [[Objetos Libres, Dependientes y Auxiliares|objeto libre]] o un [[Puntos y Vectores|punto]] restringido a cierto [[Objetos Geométricos#Recorridos|Recorrido o Región]], su valor queda establecido acorde al del segundo indicado. Por ejemplo, FijaValor[A, B], siendo ''A'' un objeto libre o un punto sólo restringido a cierto recorrido o región, no opera cambiando el valor si ''B'' es modificado a posteriori.
+
:{{Note|1=<br>Si el primero es un [[Objetos Libres, Dependientes y Auxiliares|objeto libre]], su valor queda establecido por el del segundo.
;FijaValor[ <Booleano>, <0|1> ]:Opera del mismo modo que ;FijaValor[ <Booleano>, <false|true> ]. En lugar de FijaValor[b, true] puede anotarse FijaValor[b, 1] dado que 1 reemplaza a la condición verdadera y 0 a la falsa.
+
}}
;FijaValor[ <Lista>, <Número>, <Objeto> ]:Fija el valor del elemento enésimo (según el número anotado) de la lista libre indicada, al del objeto señalado. El número ''n'' puede tener, como máximo, un valor igual a 1 + longitud de la lista.
+
:{{Examples|1=<br><br>Así, dados ...<br>'''''s''''' un segmento,  un  Punto[s] '''A''' en (-3, 3) y '''È''' uno libre <br>'''<code>FijaValor[È , A ]</code>''' llevará a  '''È''' a  '''(-3, 3)'''<br>Si el primero fuera un [[Puntos y Vectores|punto]] restringido a cierto [[Objetos Geométricos#Recorridos|''recorrido'' o ''región'']], procurará tomar el valor del segundo dentro del ámbito al que está limitado.<br><br>Así, siendo...<br> '''A''' un  Punto[s] en (-3, 3) y '''Ú''' un '''Punto[EjeX]'''  en (0, 0),<br>'''<code>FijaValor[Ú , A ]]</code>''', lleva a  '''Ú''' a '''(-3, 0)'''<sup>Lo más acorde a '''A''' que le es posible</sup>}}
 +
{{warning|1=el valor asignado al primer objeto no cambia frente a las modificaciones posteriores del segundo dado que el vínculo  no es dinámico.}}
 +
;FijaValor[ <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 '''FijaValor[ <Booleano>, <false|true> ]'''.  
 +
:{{Note|1=En lugar de '''FijaValor[b, true]''' puede anotarse '''FijaValor[b, 1]''' dado que 1 reemplaza a la condición verdadera y 0, a la falsa.}}
 +
:{{example|1=Siendo ''b'' una ''booleana'', '''<code> FijaValor[b, 1]</code>''' la establece ''verdadera''.}}
 +
;FijaValor[ <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)}}
 +
:{{Examples|1=<br>Siendo '''''l_v''''' = {}, '''<code>FijaValor[l_1, 1, Elemento[{"a", "e", "i", "o", "u"}, 1] ]</code>''' ingresa la ''a'' a ''l_v'' que deviene  {"a"}.<br>Luego, '''<code>FijaValor[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>FijaValor[ 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"}'''}''
 +
}}
 +
===Valor en los Guiones - ''scripting''===
 +
Para cambiar el valor de un objeto en [[Programas - Guiones (Scripting)]], 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> =  FijaValor[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>
 +
:*'''''ñ = 4'''''          a  '''FijaValor[ñ, 4]'''
 +
:*'''''ñ =  ñ + 1'''''  a  '''FijaValor[ñ, ñ + 1]'''
 +
:*'''''ñ = ñ + á'''''    a  '''FijaValor[ñ, ñ + á]'''
 +
::... manteniendo '''''ñ''''' su condición de independente, dado que sólo cambia de valor. En cambio.<br>
 +
:*'''''ñ =  á''''' desencadena una redefinición mientras...
 +
:*'''''ñ''''' = [[Comando CopiaObjetoLibre|CopiaObjetoLibre[á]]] no la provoca dado que opera de modo análogo a '''FijaValor''' en este caso.}}
 +
:{{Note|1=<br>Ver el tutorial [[Tutorial:Animándose a Funciones|Animándose a FijaValorar 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 [[Programas - Guiones (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>FijaValor[á, 4]</code>''',  '''<code>FijaValor[á, á + 1]</code>''' y '''<code>FijaValor[á, á + 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 '''FijaValor'''.<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 '''FijaValor[]'''.}}
 +
====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 adcional, ''D'', no tendrá efecto alguno el comando '''FijaValor''' dado que sólo 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 '''FijaValor''' pase a ser ''D''. Así:<br>
 +
::li<sub>2</sub>= [[Comando CopiaObjetoLibre|CopiaObjetoLibre[li<sub>1</sub>]]]<br>
 +
::Valor[li<sub>2</sub> , 4, D]
 +
}}

Revisión del 12:20 18 mar 2013


FijaValor[ <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
FijaValor[È , 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),
FijaValor[Ú , 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.
FijaValor[ <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 FijaValor[ <Booleano>, <false|true> ].
Nota: En lugar de FijaValor[b, true] puede anotarse FijaValor[b, 1] dado que 1 reemplaza a la condición verdadera y 0, a la falsa.
Ejemplo: Siendo b una booleana, FijaValor[b, 1] la establece verdadera.
FijaValor[ <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 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 = {}, FijaValor[l_1, 1, Elemento[{"a", "e", "i", "o", "u"}, 1] ] ingresa la a a l_v que deviene {"a"}.
Luego, FijaValor[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 = (), FijaValor[ 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 Programas - Guiones (Scripting), 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 = FijaValor[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 FijaValor[ñ, 4]
  • ñ = ñ + 1 a FijaValor[ñ, ñ + 1]
  • ñ = ñ + á a FijaValor[ñ, ñ + á]
... 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 FijaValor en este caso.
Nota:
Ver el tutorial Animándose a FijaValorar Funciones

Ver este comentario de un foro (detallado a continuación) para mayores explicaciones sobre el empleo de este comando en Programas - Guiones (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 :FijaValor[á, 4], FijaValor[á, á + 1] y FijaValor[á, á + 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 FijaValor.
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 FijaValor[].

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 FijaValor 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 FijaValor pase a ser D. Así:
li2= CopiaObjetoLibre[li1]
Valor[li2 , 4, D]
© 2024 International GeoGebra Institute