DocAide Documents II

Sommaire

Ce document détaille et complète la partie "Insertion d'exemples à données aléatoires" du DocAide Documents . Il présente aussi des exemples de dessins dynamiques et d'insertion de figures GeoGebra. Il donne des indications pour l'utilisation de Latex2wims.

Exemples aléatoires

  1. Bases de la programmation des exemples aléatoires
  2. Boucles et branchements
  3. Formulaire d'entrée de variables
  4. Formulaire outil
  5. Exemples créés à partir d'un exercice .
  6. Exemples aléatoires à solution cachée (avancé)

Dessins dynamiques

  1. Aide pour les figures
  2. Exemples de dessins dynamiques
    1. Interprétation des signes dans une équation de droite et son code
    2. Interprétation graphique pour une équation du second degré et son code
    3. Fractions de segment et son code
    4. Barycentre et son code
  3. Exemples avec GeoGebra
    1. Equation d'une droite avec son code
    2. Equation d'une tangente
    3. Construction d'une médiatrice

Composer un DocWims à partir d'un fichier LateX : latex2wims

Latex2wims est une moulinette qui transforme un fichier LateX bien préparé en document WIMS ; on obtient aussi une version pdf : Démarrer avec Latex2wims

Bases de la programmation des exemples aléatoires

Pour les questions traitées ici, voyez aussi l'Aide 7 et 8 ou la partie "Insertion d'exemples à données aléatoires" dans DocAide Documents.

La définition des variables et l'aléatoire

Les variables utilisées dans les exemples sont les mêmes que celles des exercices : text, integer, rational, matrix..., seule la syntaxe de définition change. Pour la liste des paramètres aléatoires, consulter l' Aide de Createxo .

Renouveler les données

L'intérêt d'un exemple aléatoire est ses données ou questions aléatoires. Celles-ci sont à nouveau tirées au hasard à chaque chargement de la page. On obtient le chargement de la page et donc de nouvelles données en cliquant sur le lien Recharger du bandeau. On obtient le même effet en cliquant sur un lien Nouvel exemple défini par \reload{Nouvel exemple} (toute la page est rechargée).
  1. Le double de 3 est 6.
  2. Un kilogramme de pommes vaut 2 euros. Le prix des pommes est proportionnel à la masse de pommes et le coefficient de proportionnalité est 2.

Pour la suite, utilisez le lien Suiv. dans le bandeau ou une flèche latérale.

Boucles et branchements

La syntaxe des boucles et embranchements dans les exercices se trouve dans le DocAide Exercices . On peut aussi consulter l'aide de Createxo et celle des documents (Utilisation de Variables dans un Document).

Boucle

La boucle \for{i=1 to 10}{\i, } permet d'afficher les entiers de 1 à 10.

Compte de 1 en 1 de 1 à 6. Solution : 1, 2, 3, 4, 5, 6

Voir cet exemple avec solution cachée

Un branchement

Ce premier exemple utilise la commande \if.

Le code :
\def{ text mot = randitem( exercice, exercices) }
\if{\mot issametext exercice}{un}{des}\mot
donne
Voici des exercices .

Dans cet exemple, il y a peu d'aléatoire (deux cas) donc le renouvellement ne produit pas nécessairement de changement.

Un autre branchement

Ce deuxième exemple utilise une forme plus synthétique en cas d'alternative. Noter le point d'interrogation pour la condition et les deux points qui séparent les deux alternatives.

Le code :
\def{ integer p = random(-1,+1)*random(1..10) }
\def{ text signe = \p>0? positif:négatif }
L'entier \n est strictement \signe.
donne
L'entier -5 est strictement négatif.

Formulaire d'entrée de variables

On peut demander au lecteur d'entrer une valeur

Le code :
\form{.}{expform}{
    Entrez une expression numérique à calculer :
    <input size = "30" name = "parm1" value = "\parm1">
    <input type = "submit" value = "OK">
    }
  \def{real N = \parm1}
   L'expression vaut \N.
donne
L'expression vaut 0.

ou plusieurs valeurs

La somme des entiers 8 et 1 vaut 9.

Voir le code
\def{integer parm2=randint(0 .. 9)}
\def{integer parm3=randint(0 .. 9)}
 \form{.}{expform}{
    Entrez deux entiers :
    <input size = "10" name = "parm2" value = "\parm2">
et
    <input size = "10" name = parm3 value = "\parm3">
    <input type = "submit" value = "OK">
}
    \def{integer N = \parm3 + \parm2 : 0}
 La somme des entiers \(\parm2\) et \(\parm3\) vaut \(\N\).

Formulaire outil

WIMS propose différents outils rapides qu'on peut insérer dans une page html donc dans un DocWims. En voici un exemple avec une question à données aléatoires.

Factorisation

Factorisez l'expression suivante et utilisez l'outil pour vérifier votre résultat.

Exemples créés à partir d'un exercice

Vous pouvez transformer un exercice en exemple aléatoire à l'aide de quelques modifications simples. On peut ainsi récupérer des dessins intéressants. C'est un moyen pour présenter une solution rédigée d'un exercice proposé dans une feuille.
  1. Commencez par importer le source de l'exercice dans votre classe et copiez-le dans un fichier texte, par exemple gedit.
  2. Les lignes qui ne commencent pas par \ sont des commentaires, vous pouvez les effacer ou les inclure dans un \comment{}.
  3. L'énoncé est dans \statement. Vous supprimez la commande \statement{ ainsi que le } à la fin de l'énoncé.
  4. Les commandes qui définissent les variables doivent être modifiées ainsi : \text{a=...} est remplacé par \def{text a=...}. On peut le faire automatiquement en utilisant rechercher et remplacer.

Tous les détails sont dans l'aide des documents, rubrique Utilisation de Variables dans un Document.

Exemples

Exemples aléatoires à solution cachée

Si on veut cacher la solution d'un exemple et ne l'afficher qu'à la demande, il est impossible de la mettre dans un pli car à l'ouverture du pli, les données sont renouvelées. C'est pourquoi, on utilise la commande \link pour transmettre les paramètres.

Voici trois exemples avec leur code. Le code du premier est commenté en détail pour vous permettre de comprendre la méthode.

Commentaire du code de l'exemple pour compter

Quand on crée un pli avec \fold, on crée automatiquement un lien vers une deuxième version de la page qui contient le texte du pli ; alors les paramètres aléatoires de la page sont rechargés et donc différents. La solution contenue dans le pli ne correspond donc pas à la question posée.

Pour éviter cela, on utilise la commande \link qui permet de recharger la même page dans une version différente et de transmettre les paramètres nécessaires au calcul de la solution. Voici comment faire :

Exemple pour compter

Voici l'exemple aléatoire en action

Compte de 1 en 1 de 1 à 4.  
Solution

Voici le code complet :

\def{integer N = \parm1 = 1 ? 2 : 1}
\def{text lien=\N=1 ? Solution:Nouvelle question}
\def{integer p=\N=1 ? random(2..10):\parm2}
\def{integer q=\N=1 ? random(1..5):\parm3}
\def{text liste=\q}
\for{i=2 to \p}{
  \def{integer r=\i*\q}
  \def{text liste=\liste, \r}
}
\def{text reponse=\N=2 ? La solution est \liste: }

Compte de \q en \q de \q à \r. \reponse \link{.}{\lien}{exemple}{parm1=\N&parm2=\p&parm3=\q}

Dessins dynamiques

Pour les dessins dynamiques à l'aide de commandes WIMS, consultez

Exemples de dessins dynamiques
  1. Interprétation des signes dans une équation de droite et son code
  2. Interprétation graphique pour une équation du second degré et son code
  3. Fractions de segment et son code
  4. Barycentre et son code

Insertion de figures GeoGebra

Pour l'insertion de figures GeoGebra, deux méthodes sont possibles (chaque lien envoie vers les détails de la méthode)

  1. Aide pour les dessins . Elle utilise le GeoGebra de WIMS et le fichier GeoGebra que vous avez créé pour des figures 2D. Cette méthode permet d'utiliser les paramètres aléatoires de WIMS et/ou de construire la figure avec des lignes de commande.
  2. Affichage d'une figure 3D avec un slib
  3. Afficher une figure depuis geogebratube . Vous pouvez téléverser la figure dans geogebratube et l'appeler depuis la page de votre document.

Si vous avez plusieurs figures GeoGebra dans votre DocWIMS, vous devez les numéroter pour éviter des problèmes d'affichage. Ajoutez number=1; à la liste des commandes dans le slib de la figure 1. Voyez sur le code des exemples.

Les slib doivent être dans des div et non dans des p. Exemples avec GeoGebra

  1. Equation d'une droite avec son code
  2. Equation d'une tangente
  3. Construction d'une médiatrice

Afficher une figure depuis geogebratube

Le site geogebratube est un site de partage de ressources GeoGebra. Pour l'utiliser, vous devez créer un compte. Une figure déposée peut être privée, partagée ou publique. Les figures partagées peuvent être affichées dans un document WIMS. Cet affichage dépend du serveur geogebratube.

Ces méthodes permettent l'affichage des figures 3D.

  1. Téléverser une figure dans geogebratube.
  2. Afficher une figure dans geogebratube.
    L'URL de partage (dans Partager) permet d'établir un lien vers la figure. Exemple de figure en ligne.
  3. Afficher une figure dans une page depuis geogebratube.
    Dans l'onglet Imbriquer, choisir les options, copier dans le presse-papier le code html est fourni, puis le coller dans la source de la page du DocWims concernée. La figure est alors affichée dans la page du DocWims.
    Exemple de code , exemple d'affichage .

Code pour imbriquer

Voici le code qui a servi à afficher cette figure . Les retours à la ligne permettent de le visualiser complétement mais sont inutiles.

<iframe scrolling="no" src="https://www.geogebra.org/material/iframe/id/GzEhvN2j/width/655/height/460/
border/888888/smb/false/stb/false/stbh/false/ai/false/asb/false/sri/false/rc/false/ld/false/sdz/false/ctl/false"
width="655" height="460" style="border:0;"> </iframe>

Le nombre après id est utilisé pour afficher la figure avec le slib.
Le reste code les options choisies avant de copier le code, en particulier la taille de la figure qu'on peut modifier directement dans ce code.

Figure affichée avec le code fourni par geogebratube

Voir le code html imbriqué.

Code du choix d'une droite

Transmettre les paramètres pour l'affichage de la solution
\def{integer P = \parm1 = 1 ? 2 : 1}
\def{text lien=\P=1 ? Réponse:Nouvelle droite}
Définition de paramètres
\def{integer a=\P=1 ?randint(1..4):\parm2}
\def{integer b=\P=1 ?randint(1..6):\parm3}
Equations possibles avec les différentes propriétés
\def{matrix M=\a*x + \b, positive, positif, croît, positif
- \a*x +\b, positive, positif, décroît, négatif
\a*x - \b, négative, négatif, croît, positif
- \a*x - \b, négative, négatif, décroît, négatif}
Construction de la liste d'équations
\def{integer r=rows(\M)}
\def{text liste=y = texmath(pari(\M[1;1]))}
\for{j=2 to \r}{
\def{text liste=\liste,y = texmath(pari(\M[\j;1]))}}
Choix de la droite dessinée avec transfert du choix.
\def{integer n=\P=1?randint(1..\r):\parm4}
\def{function f=maxima(\M[\n;1])}
Figure
\def{text  dessin =
   xrange -7.2,7.2
   yrange -7.2,7.2
   hline 0,0,black
   arrow 0,0,1,0,8, black
   arrow 0,0,0,1,8, black
   text black,0.2,-0.2,medium,0
text black,6.8,-0.2,medium,x
text black,0.2,7,medium,y
   vline 0,0,black }
\def{text graphe=plot red, \f}
Solution
\def{text solution=
 Soit \(y=ax+b) une équation de la droite représentée.
 <ul><li>
Comme la droite rencontre l'axe des y en un point d'ordonnée \M[\n;2],
le nombre \(b) est  \M[\n;3].</li>
<li>
Comme sur la droite, \(y)  \M[\n;4] avec \(x),
le nombre \(a) est  \M[\n;5].</li></ul>
Une équation de la droite est donc \liste[\n].}
Définition des deux valeurs de la variable solution affichée à la fin de l'énoncé.
\def{text solution=\P=2? \solution:}
Enoncé
<div class="flaot_right">
  \draw{ 200,200 }{
     \dessin
     \graphe} </div>

Quelle est l'équation de la droite représentée ci-contre ? <ul> <li>\liste[1]</li> <li>\liste[2]</li> <li>\liste[3]</li> <li>\liste[4]</li></ul>
\solution
Lien pour accéder à la solution (les paramètres sont transmis} ou obtenir une nouvelle droite
\link{.}{\lien}{exemple}{parm1=\P&parm2=\a&parm3=\b&parm4=\n}

Interprétation graphique pour une équation du second degré


Voici la parabole d'équation y= :

Les points rouges ont pour abscisse les solutions 2 et 2 de l'équation =0.
Le point vert est le sommet de la parabole. Ses coordonnées sont (b2,Δ4), soit dans notre exemple (0,4).

Voir le code .

Exercice : Allure d'une parabole

Code de la parabole

\def{integer e = random(1..4)}
\def{integer f = random(-2..5)}
\def{integer b = -(\e + (\f))}
\def{integer c = \e*\f}
\def{integer d = (\b)^2 - 4*(\c)}
\def{text E=maxima(x^2 + \b*x + \c)}
\def{real s1=-\b/2}
\def{real s2=-\d/4}

Voici la parabole d'équation \(y = \E) :
\draw{300,300}{xrange -10.2,10.2 yrange -10.2,10.2 parallel -10,-10,10,-10,0,1,21, grey parallel -10,-10,-10,10,1,0,21, grey hline 0,0,black arrow 0,0,1,0,8, black arrow 0,0,0,1,8, black vline 0,0,black plot blue , \E fcircle \e,0,6,red fcircle \f,0,6,red fcircle \s1,\s2,6,green}
Les points rouges ont pour abscisse les solutions \(\e) et \(\f) de l'équation \(\E = 0).
Le point vert est le sommet de la parabole. Ses coordonnées sont \((-\frac{b}{2},-\frac{\Delta}{4})), soit dans notre exemple \((\s1, \s2)).
\reload{Autre dessin}

Barycentre

Voici un exemple construit à partir du source de l' exercice .

Voici le barycentre G de { (A;),(B;)} :

Voir le code .

Placer un point sur une droite

Code de l'exercice de la page précédente

Choix paramètre entier ou rationnel mais on ne veut pas c=1.

\def{integer choix=random(1,2)}
\def{integer b=random(1..5)}
\def{rational c=\choix=1?random(-1,-2,2):random(-1,-2,-3,2,3)/\b}
\def{rational c=\c=1?2}
\def{rational ca=1-\c}

Définitions pour l'énoncé :

\def{text s1=\c>0?+:-}
\def{rational mc=-1*(\c)}
\def{text tc=\c>0?\c:\mc}
\def{text tc=wims(replace internal / by , in \tc)}
\def{text tc=items(\tc)>1?\frac{\tc[1]}{\tc[2]}}
\def{text tca=\ca}
\def{text tca=wims(replace internal / by , in \tca)}
\def{text tca=items(\tca)>1?\frac{\tca[1]}{\tca[2]}}

Définitions pour le dessin :

\def{integer fx=\c*(\b)}
\def{integer fy=0}
\def{integer Ox=403}
\def{integer ex=31}
\def{integer \fxx=\Ox+\ex*\fx}
\def{integer \fxxm=\fxx-0.3*\ex}
\def{integer \fxxp=\fxx+0.3*\ex}
\def{text repimage=xrange -13,13
  yrange -1.5,3
  hline 0,0,red
  parallel -12,-0.2,-12,0.2,1,0,2,blue
  parallel -10,-0.4,-10,0.4,5,0,5,blue
  parallel -9,-0.2,-9,0.2,1,0,4,blue
  parallel -4,-0.2,-4,0.2,1,0,4,blue
  parallel 1,-0.2,1,0.2,1,0,4,blue
  parallel 6,-0.2,6,0.2,1,0,4,blue
  parallel 11,-0.2,11,0.2,1,0,2,blue
  text red,-0.1,1.5,medium,A
  text red,\b-0.1,1.5,medium,B
  text green,\fx-0.1,-0.5,medium,G
  segment 0,-0.2,\a,0.2,red
  segment \b,-0.2,\b,0.2,red
  segment \fx,-0.2,\fx,0.2,red
  }
Enoncé :
Voici le barycentre \(G) de {\((A,\tca),(B, \s1 \tc))} :
<div class="wimscenter">
\draw{800,64}{\repimage}
</div>
\reload{Nouveau barycentre}

Construction d'une médiatrice

Pour exposer une démonstration, on peut utiliser la navigation dans les étapes de construction de GeoGebra. Les élèves peuvent en disposer en ligne.

Vous pouvez naviguer dans les étapes de la construction à la règle et au compas d'une médiatrice grâce aux flèches sous la figure. Les données sont en vert, la médiatrice en rouge.

Code de la figure :

\slib{geo2D/geogebra}{file=mediatrice.ggb; width=800; height=600;number=4;}
Le slib est utilisé directement sans être défini comme un texte. Mais on peut toujours définir des listes partielles de commandes comme un texte.

Démarrer avec Latex2wims

Latex2wims est une moulinette qui transforme un fichier LateX bien préparé en document WIMS ; on obtient aussi une version pdf. Une interface spéciale sert à la création du document qui est ensuite géré par l'interface commune de Modtool.

Pour utiliser latex2wims, il faut disposer d'un compte modtool. Pour obtenir un compte Modtool, écrire au gestionnaire du site afin d'obtenir une identification du développeur (login, mot de passe). En attendant un compte Modtool, on peut télécharger la documentation (disponible à la page de Createxo) et composer le fichier LateX qui sera transformé.

document d'aide sur les exemples aléatoires numériques, figures dynamiques dans un document, latex2wims.
: wimshelp,latex2wims, interactive mathematics, interactive math, server side interactivity


Cette page n'est pas dans son apparence habituelle parce que WIMS n'a pas pu reconnaître votre navigateur web.
Afin de tester le navigateur que vous utilisez, veuillez taper le mot wims ici : puis appuyez sur ``Entrer''.

Veuillez noter que les pages WIMS sont générées interactivement; elles ne sont pas des fichiers HTML ordinaires. Elles doivent être utilisées interactivement EN LIGNE. Il est inutile pour vous de les ramasser par un programme robot.