Diferencia entre revisiones de «Tutorial:AutoValidación de Guiones»

De GeoGebra Manual
Saltar a: navegación, buscar
(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 ===
  
'''"LE SCRIPT"''' de référence
+
'''"El GUION"''' de referencia
  
rudimentaire : on nomme, dans le fichier GeoGebra, 'cible' l'objet attendu.
+
Rudimentaria: llamada, en el archivo de GeoGebra, siendo el "objetivo", el objeto esperado.
 +
Se debe repetir la '''Construcción auto-validada'''
  
repris [http://www.geogebra.org/material/show/id/928841 ici : Construction auto-validée]
+
<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>Tâche : En utilisant les outils présents dans la barre d'outils, construire le milieu du segment [AB].</u>
 
(A et B étant deux points 3D)
 
 
{|
 
{|
 
|-
 
|-
! Script !! Commentaire
+
! Guión !! Comentario
 
|-
 
|-
| function ggbOnInit() {    || Cette fonction va être exécutée au lancement du fichier GGb
+
| function ggbOnInit() {    || Esta función se ejecutará  cuando el archivo GGB se inicie
 
|-
 
|-
| ggbApplet.debug("ggbOnInit"); || <small>(facultatif, "gérer" les erreurs)</small>
+
| ggbApplet.debug("ggbOnInit"); || <small>(Se lo habilita, de modo opcional, para "administrar" los errores)</small>
 
|-
 
|-
| ggbApplet.registerAddListener("NouvObj"); || C'est le point clé !! Création d'un "mouchard", qui, à chaque création de nouvel objet, va appeler la procédure ''NouvObj''
+
| 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:
 
| &nbsp; || &nbsp;
 
| &nbsp; || &nbsp;
 
|-
 
|-
| function NouvObj (obj) { || Début de la procédure qui va être exécutée à chaque création d'un nouvel objet
+
| function NuevoObj (obj) { || Inicio del procedimiento que se llevará a cabo cada vez que se cree un nuevo objeto
 
|-
 
|-
| if (obj != "fini") { || Chaque fois qu'elle est exécutée, la procédure crée un booléen nommé 'fini', il ne faut donc pas qu'elle soit exécutée pour l'objet 'fini', sinon elle tournerait en rond sur cet objet !
+
| 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)"; || Définition de la commande qui va définir le booléen 'fini' testant si le nouvel objet est égal à l'objet 'cible' attendu
+
| 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);  || &nbsp;
 
| ggbApplet.debug(cmd);  || &nbsp;
 
|-
 
|-
| ggbApplet.evalCommand(cmd); || Exécution de la commande
+
| ggbApplet.evalCommand(cmd); || Ejecución del comando
 
|-
 
|-
| fini = ggbApplet.getValueString("fini"); || Lecture de la valeur du booléen 'fini'
+
| fini = ggbApplet.getValueString("concluida"); || Lectura del valor de la ''booleana'' 'concluida'
 
|-
 
|-
| if (fini.indexOf("true") > -1) { || on teste si 'true' est présent dans 'fini'
+
| if (fini.indexOf("true") > -1) { || Se controla si aparece un 'true' en la 'concluida'
 
|-
 
|-
| alert("C'est bien !");  || Si oui, un "pop-up" à destination de l'élève
+
| alert("C'est bien !");  || Si es así, se le asigna un "pop-up" al estudiante
 
|-
 
|-
| <nowiki>}</nowiki> || Fin du "if" sur 'fini'
+
| <nowiki>}</nowiki> || Fin del "si" respecto de la "concluida"
 
|-
 
|-
| <nowiki>}</nowiki> || Fin de la partie de procédure exécutée pour un nouvel objet différent de 'fini'
+
| <nowiki>}</nowiki> || Fin del procedimiento realizado por un nuevo objeto diferente de "concluida"
 
|-
 
|-
| <nowiki>}</nowiki> || Fin de la procédure 'NouvObj'
+
| <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>
 
 
 
 
=== Script 2 ===
 
Une variante avec, toujours 1 cible, mais pouvant avoir 2 "natures" différentes :
 
par exemple, si on attend une bissectrice d'angle (sans avoir été plus directif dans l'énoncé), que soit construite une demi-droite ou une droite, la réponse doit être validée.<br/> Définir dans le fichier GGb une 'cible1', la droite bissectrice et une 'cible 2', la demi-droite bissectrice.
 
 
 
[http://www.geogebra.org/material/show/id/932023 ici : Construction auto-validée bissectrice]  
 
<u>Tâche : En utilisant uniquement les outils proposés, construire la bissectrice de l'angle <math>\hat{ABC}</math>.</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:Tutorial]]
+
[[Category:Tutoriales Avanzados]]
 
__NOTOC__
 
__NOTOC__

Revisión actual del 20:49 12 ago 2020

Tutorial: 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 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.

© 2024 International GeoGebra Institute