Diferencia entre revisiones de «Tutorial:AutoValidación de Guiones»
(Página creada con «{{tutorial| title=AutoValidación de Guiones }} Los siguientes guiones están escritos en la pestaña ''Guión > Javascript Global''' En efecto, apelan a la función '''ggb...») |
m (Revertidos los cambios de LailaTov (disc.) a la última edición de Liliana M CB) |
||
(No se muestran 9 ediciones intermedias de 4 usuarios) | |||
Línea 7: | Línea 7: | ||
=== Guión 1 === | === Guión 1 === | ||
− | '''" | + | '''"El GUION"''' de referencia |
− | + | Rudimentaria: llamada, en el archivo de GeoGebra, siendo el "objetivo", el objeto esperado. | |
+ | Se debe repetir la '''Construcción auto-validada''' | ||
− | + | <u>Tarea: Utilizando las herramientas de la barra de herramientas, construir el punto medio del segmento [AB].</u> (Siendo A y B dos puntos 3D) | |
− | <u> | ||
− | (A | ||
{| | {| | ||
|- | |- | ||
− | ! | + | ! Guión !! Comentario |
|- | |- | ||
− | | function ggbOnInit() { || | + | | function ggbOnInit() { || Esta función se ejecutará cuando el archivo GGB se inicie |
|- | |- | ||
− | | ggbApplet.debug("ggbOnInit"); || <small>( | + | | ggbApplet.debug("ggbOnInit"); || <small>(Se lo habilita, de modo opcional, para "administrar" los errores)</small> |
|- | |- | ||
− | | ggbApplet.registerAddListener(" | + | | ggbApplet.registerAddListener("NuevoObj"); || ¡¡Esta es la clave!! Establecimiento de una "cookie", que, cada creación de nuevo objeto llamará al procedimiento ''NuevoObj'' |
|- | |- | ||
| <nowiki>}</nowiki> || Fin de ''ggbOnInit'' | | <nowiki>}</nowiki> || Fin de ''ggbOnInit'' | ||
Línea 28: | Línea 27: | ||
| || | | || | ||
|- | |- | ||
− | | function | + | | function NuevoObj (obj) { || Inicio del procedimiento que se llevará a cabo cada vez que se cree un nuevo objeto |
|- | |- | ||
− | | if (obj != "fini") { || | + | | if (obj != "fini") { || Cada vez que se ejecuta, el procedimiento crea una ''booleana'' llamado, por lo que no debería ser ejecutada por el objeto 'concluida', sino, ¡sería un bucle ciclando sobre este objeto! |
|- | |- | ||
− | | var cmd = "fini = ("+obj+"== cible)"; || | + | | var cmd = "fini = ("+obj+"== cible)"; || Definición del comando que establecerá la ''booleana'' 'concluida' que controla si el nuevo objeto es igual al "objetivo" esperado. |
|- | |- | ||
| ggbApplet.debug(cmd); || | | ggbApplet.debug(cmd); || | ||
|- | |- | ||
− | | ggbApplet.evalCommand(cmd); || | + | | ggbApplet.evalCommand(cmd); || Ejecución del comando |
|- | |- | ||
− | | fini = ggbApplet.getValueString(" | + | | fini = ggbApplet.getValueString("concluida"); || Lectura del valor de la ''booleana'' 'concluida' |
|- | |- | ||
− | | if (fini.indexOf("true") > -1) { || | + | | if (fini.indexOf("true") > -1) { || Se controla si aparece un 'true' en la 'concluida' |
|- | |- | ||
− | | alert("C'est bien !"); || Si | + | | alert("C'est bien !"); || Si es así, se le asigna un "pop-up" al estudiante |
|- | |- | ||
− | | <nowiki>}</nowiki> || Fin | + | | <nowiki>}</nowiki> || Fin del "si" respecto de la "concluida" |
|- | |- | ||
− | | <nowiki>}</nowiki> || Fin | + | | <nowiki>}</nowiki> || Fin del procedimiento realizado por un nuevo objeto diferente de "concluida" |
|- | |- | ||
− | | <nowiki>}</nowiki> || Fin | + | | <nowiki>}</nowiki> || Fin del procedimiento 'NuevoObj' |
|} | |} | ||
− | + | === Guión 2 === | |
− | + | Una variante, siempre con un objetivo, podría ser tener dos "tipos" diferentes: por ejemplo, si uno espera una bisectriz de un ángulo (sin ser demasiado directivo el enunciado), se construye como una semirrecta o una recta, la respuesta debe ser validada.<br/>Definir en un archivo GGB un 'destino1', la bisectriz y el objetivo 2 ', la semirrecta bisectriz. | |
− | + | <!-- | |
− | + | :[http://www.geogebra.org/material/show/id/932023 aquí: Construcción auto-validada bisectrizi] | |
− | + | <u>Tarea: Utilizando sólo las herramientas proporcionadas, construir la bisectriz del ángulo <math>\hat{ABC}</math>.</u> | |
− | |||
− | |||
− | === | ||
− | |||
− | |||
− | |||
− | [http://www.geogebra.org/material/show/id/932023 | ||
− | <u> | ||
Línea 160: | Línea 151: | ||
Cela n'a rien à voir avec la structure de script, dans le présent fichier, le "alert" des exemples de scripts précédents a été remplacé par un texte défini dans le fichier,<br/> avec pour "Propriétés > Avancé > Condition pour afficher l'objet" <code>test1 & & test2</code> (la double esperluète <nowiki> & & </nowiki> est le '''ET''' logique en js.) | Cela n'a rien à voir avec la structure de script, dans le présent fichier, le "alert" des exemples de scripts précédents a été remplacé par un texte défini dans le fichier,<br/> avec pour "Propriétés > Avancé > Condition pour afficher l'objet" <code>test1 & & test2</code> (la double esperluète <nowiki> & & </nowiki> est le '''ET''' logique en js.) | ||
− | + | --> | |
− | [[Category: | + | [[Category:Tutoriales Avanzados]] |
__NOTOC__ | __NOTOC__ |
Revisión actual del 20:49 12 ago 2020
Los siguientes guiones están escritos en la pestaña Guión > Javascript Global' En efecto, apelan a la función ggbOnInit para desencadenar el lanzamiento del archivo; después de cambiar la secuencia de comandos, se guarda el archivo, se lo cierra y, a continuación, se lo abre nuevamente para controlar la relevancia de los cambios realizados.
Guión 1
"El GUION" de referencia
Rudimentaria: llamada, en el archivo de GeoGebra, siendo el "objetivo", el objeto esperado. Se debe repetir la Construcción auto-validada
Tarea: Utilizando las herramientas de la barra de herramientas, construir el punto medio del segmento [AB]. (Siendo A y B dos puntos 3D)
Guión | Comentario |
---|---|
function ggbOnInit() { | Esta función se ejecutará cuando el archivo GGB se inicie |
ggbApplet.debug("ggbOnInit"); | (Se lo habilita, de modo opcional, para "administrar" los errores) |
ggbApplet.registerAddListener("NuevoObj"); | ¡¡Esta es la clave!! Establecimiento de una "cookie", que, cada creación de nuevo objeto llamará al procedimiento NuevoObj |
} | Fin de ggbOnInit |
function NuevoObj (obj) { | Inicio del procedimiento que se llevará a cabo cada vez que se cree un nuevo objeto |
if (obj != "fini") { | Cada vez que se ejecuta, el procedimiento crea una booleana llamado, por lo que no debería ser ejecutada por el objeto 'concluida', sino, ¡sería un bucle ciclando sobre este objeto! |
var cmd = "fini = ("+obj+"== cible)"; | Definición del comando que establecerá la booleana 'concluida' que controla si el nuevo objeto es igual al "objetivo" esperado. |
ggbApplet.debug(cmd); | |
ggbApplet.evalCommand(cmd); | Ejecución del comando |
fini = ggbApplet.getValueString("concluida"); | Lectura del valor de la booleana 'concluida' |
if (fini.indexOf("true") > -1) { | Se controla si aparece un 'true' en la 'concluida' |
alert("C'est bien !"); | Si es así, se le asigna un "pop-up" al estudiante |
} | Fin del "si" respecto de la "concluida" |
} | Fin del procedimiento realizado por un nuevo objeto diferente de "concluida" |
} | Fin del procedimiento 'NuevoObj' |
Guión 2
Una variante, siempre con un objetivo, podría ser tener dos "tipos" diferentes: por ejemplo, si uno espera una bisectriz de un ángulo (sin ser demasiado directivo el enunciado), se construye como una semirrecta o una recta, la respuesta debe ser validada.
Definir en un archivo GGB un 'destino1', la bisectriz y el objetivo 2 ', la semirrecta bisectriz.