Google Classroom
GeoGebraClasse GeoGebra

Exerciseurs : comment ça marche ?

Un premier exemple

Prenons ce modèle simple d'exerciseur : https://www.geogebra.org/m/v8tdrysm dont une copie est ci-dessous. Nous allons expliquer comment il est construit pour que vous puissiez le modifier ou en fabriquer selon le même principe.

Pour voir à l'intérieur :

Construction

Ci-dessus, la fenêtre propriétés à droite est ouverte ce qui rend les boutons inactifs mais permet de voir dans les différents menus : couleur, style, script et dans avancé l'affichage conditionnel pour chaque objet sélectionné.
  • Aléatoire :
Deux nombres aléatoires ont été créés : alea1 et alea2 par : AléaEntreBornes(-10, 10) Ils représentent ici les deux nombres à additionner. Ces valeurs sont réactualisées par le bouton Recommencer dont le script commence par : ActualiserConstruction()
  • Question :
La question est un champ de texte qui fait appel aux objets alea1 et alea2 : \text{Calcule la somme de } [alea1] \text{ et } [alea2] où les objets alea1 et alea2 ont été choisis dans la liste d'objets créés (onglet avec icone GeoGebra) ou directement en cliquant dessus dans la fenêtre algèbre
  • Valeur cible :
La variable cible est la réponse correcte attendue, ici : cible=alea1+alea2
  • Champ réponse :
On créé une variable reponse indéterminée au début par reponse=? Ensuite un créé un champ de saisie avec Toolbar Image dans le menu curseur Toolbar Image qui joue le rôle de "input(reponse)". On pouvait aussi taper dans la barre de saisie : ChampTexte(reponse)
  • Tester si la réponse est correcte.
le booléen correct= reponse==cible est évalué en true si la réponse est correcte, false sinon.

Modifier ce fichier

Si vous voulez modifier légèrement cette appliquette sans tout chercher à comprendre, voici quelques pistes.
  • Modifier l'aléatoire :
Si vous souhaitez par exemple uniquement des entiers positifs, vous pouvez redéfinir alea1 en modifiant les bornes, par exemple : AléaEntreBornes(1, 30). Si vous ne souhaitez additionner que des multiples de 10 : AléaEntreBornes(1, 10)*10, ou des nombres décimaux avec un chiffre après la virgule : AléaEntreBornes(1, 1000)/10. Pour éviter d'avoir la valeur 0 tout en ayant des nombres positifs ou négatifs, on peut utiliser : AléaEntreBornes(1, 9)*(2*AléaEntreBornes(0, 1)-1) Le deuxième facteur (2*AléaEntreBornes(0, 1)-1) valant -1 ou 1 joue le rôle du signe et peut aussi être utile par ailleurs.
  • Tester l'égalité d'objets autres que des nombres.
GeoGebra est capable de comparer des objets comme des points, droites, fonctions. Les variables reponse et cible peuvent par exemple contenir des droites. Mais on peut souvent se ramener à tester l'égalité de nombres, par exemple en testant si un déterminant ou un produit scalaire est nul pour savoir si des droites sont parallèles ou perpendiculaires. Voir par exemple cet exercice du livret pour un test de produit scalaire. Pour tester l'égalité entre deux expressions algébriques, il est préférable de les comparer sous forme simplifiée avec la fonction Simplifier( ). Par exemple dans cet exercice du livret, pour tester si l'expression de la dérivée est correcte, le booléen correct est défini par : correct=Simplifier(Dérivée(foncalea))≟Simplifier(reponse)

Couleurs pour une rétroaction visible en mode Classroom.

La suite rentre dans des détails de codage qui peuvent être ignorés en première lecture si vous voulez simplement modifier cette appliquette pour faire un exerciseur.
  • Rétroaction avec fond coloré
La vérification est faite lorsque le bouton valider est pressé. Son script est : SoitValeur(valide,true) SoitValeur(coul,Si(correct,2,1)) La deuxième ligne signifie que Si la réponse est correcte, alors la variable coul prend la valeur 2 et sinon elle prend la valeur 1. Cette variable coul sert juste à changer la couleur du fond de l'écran, vous pouvez dans l'appliquette ci-dessus la faire varier de 0 à 3 : coul=0 : pas de couleur (fond noir) coul=1 : fond orange (réponse incorrecte) coul=2 : fond vert (réponse correcte) coul=3 : fond rouge (appel à l'aide)
  • Les couleurs
Les différentes couleurs du fond correspondent aux couleurs du polygone fond dont la couleur dépend de la variable coul. Si vous regardez dans l'onglet Avancé pour le polygone fond, vous verrez que les codes RGB dépendent de coul et de la liste Couleur={1, 0.8, 0.2, 0.4, 0.8, 0, 1, 0.2, 0.4}. Cette liste Couleur contient 9 nombres. Les trois premiers sont 1, 0.8, 0.2 ce qui correspond à la couleur orange de code RGB=(1,0.8,0.2) il faut multiplier par 255 pour avoir l'équivalent sur la palette. De même les trois suivants sont pour vert et les 3 derniers pour rouge. L'opacité est réglée à 0.25 (soit 25%) sauf si coul=0 auquel cas le fond est transparent (opacité=0).