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. Créer un exemple à partir d'un exercice . Exemple : Nombre dérivé .
  6. Exemples à 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. Exemple de 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 1 est 2.
  2. Un kilogramme de tomates vaut 3 euros. Le prix des tomates est proportionnel à la masse de tomates et le coefficient de proportionnalité est 3.

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 à 10. Solution : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

Voir le code

Dans la page Cacher la solution dans un exemple (lien direct) de la partie 5 (Insertion d'exemples à données aléatoires) du DocAide Documents, vous trouverez cet exemple avec sa solution cachée affichable à la demande, le code est donné.


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 9 est strictement positif.

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 = hidden value = OK>
    }
  \def{real N = \parm1}
   L'expression vaut \N.
donne
L'expression vaut 0.

ou plusieurs valeurs

La somme des entiers 8 et 6 vaut 14.

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.

Créer un exemple à partir d'un exercice

Vous pouvez transformer un exercice en exemple aléatoire à l'aide de quelques simples modifications. 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.

Nombre dérivé

Voici un exemple construit à partir du source de cet exercice .

Soit la fonction f définie sur RR, par f(x)= 5x2 + 2x + 2. Voici les étapes pour calculer le nombre dérivé de f en x= -1.
  1. Calculer f(-1) : f(-1)=
  2. Exprimer f(-1+h) en fonction de h : f(-1+h)=
  3. Exprimer le rapport en fonction de h:
  4. Le nombre dérivé de f en x= -1 est la limite de quand h tend vers 0, c'est-à-dire .

Exemples à solution cachée

Si on veut cacher la solution 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. La page Cacher la solution dans un exemple dans la partie 5 (Insertion d'exemples à données aléatoires) du DocAide Documents présente les détails de cette technique. On y trouve l' exemple de boucle avec sa solution cachée.

Résolution d'une équation du second degré

Cet exemple, comme souvent, n'est pas programmé comme on résout l'exercice. On se donne des racines aléatoires et on établit l'équation. Les paramètres à transmettre seront donc les racines et bien sûr le paramètre N qui décide du choix entre l'affichage du lien solution ou l'affichage de la solution et du lien renouveler l'exemple.
Résoudre l'équation = 0.

Solution

Code de cet exemple.
On commence par définir le paramètre N qui décide du choix entre "donner la solution" ou "renouveler l'exemple" et le nom du lien pour recharger la page. Ce lien est placé après l'énoncé, c'est la dernière ligne du code.
\def{integer N = \parm1 = 1 ? 2 : 1}
\def{text lien=\N=1 ? Solution:Nouvelle équation}
Voici la mise en place des données de l'exemple.
\def{integer e = \N=1 ? random(1..4):\parm2}
\def{integer f = \N=1 ? random(-2..5):\parm3}
Calcul nécessaire pour établir l'équation et la solution.
\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)}
Affichage de l'énoncé.
Résoudre l'équation \(\E = 0). 
Affichage de la solution quand N vaut 2. La solution dépend de la valeur du discriminant.
\if{\N=2}{Le discriminant vaut \(\d).}
\if{\d = 0 and \N=2}{L'équation a une seule solution : \(\alpha = \e).}
\if{\d <> 0 and \N=2}{L'équation a  deux solutions : \(\alpha = \e) et \(\beta = \f).}
Voici la commande qui transmet les paramètres et affiche le lien pour recharger la page.
\link{.}{\lien}{exemple}{parm1=\N&parm2=\e&parm3=\f}

Proportionnalité

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

Complète le tableau de proportionnalité suivant :
5 6
 

Quel est le coefficient de proportionnalité entre les lignes ?

Réfléchis puis regarde la réponse

Voir le code .

Code du tableau de proportionnalité

Pour renouveler la page
\def{integer N = \parm1= 1 ? 2 : 1}
\def{text lien=\N=1 ? Réfléchis puis regarde la réponse:Nouvelle question}
Source de l'exercice
\def{rational  prop=\N=1 ? random(randint(2..9), random(3/2,1/2,5/2)):\parm2}
\def{integer   a=\N=1 ? randint(3..6):\parm3}
\def{integer   b=\N=1 ? randint(4..9):\parm4}
\def{integer   b=\a=\b? \b+1}
\def{rational    aa=\a*\prop}
\def{rational    bb=\b*\prop}
\def{text  pr=\prop}
\def{text  choix=\N=1 ? random(1,2,3,4):\parm5}
Construction de la réponse
\def{text tableauReponse=<table align="center" border=1>
<tr align="center"><td width="50%">\a</td>
<td>\b</td></tr>
<tr align="center"><td>\aa</td>
<td>\bb</td>
</tr>
</table>
<br> Le coefficient de proportionnalité entre les lignes est  \pr.}
Définition de la variable reponse qui est vide si N vaut 1.
\def{text reponse=\N=2 ? La solution est \tableauReponse:}
Affichage de l'énoncé
Complète le tableau de proportionnalité suivant :
<table align="center" border=1>
<tr align="center"><td width="50%">
\if{\choix=1}{ }{\a}</td><td>\if{\choix=2}{ }{\b}</td></tr>
<tr align="center"><td>\if{\choix=3}{ }{\aa}</td><td>
\if{\choix=4}{ }{\bb}</td>
</tr>
</table><br>
Quel est le coefficient de proportionnalité entre les lignes ?
Affichage de la variable reponse et du lien pour renouveler l'exemple ou afficher la réponse.
\reponse
<br>
\link{.}{\lien}{}{parm1=\N&parm2=\prop&parm3=\a&parm4=\b&parm5=\choix}

Dessins dynamiques avec des commandes WIMS

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. Exemple de barycentre et son code

Insertion de figures GeoGebra

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

  1. La commande slib(geo2D/geogebra ...) dans WIMS . 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. Insertion à l'aide de jsxgraph d'une figure GeoGebra . Une commande WIMS permet de transformer une figure GeoGebra en jsxgraph.

  3. Afficher une figure depuis geogebratube . Vous pouvez téléverser la figure dans geogebratube et l'appeler depuis la page de votre document. C'est utile pour les figures en 3D que le GeoGebra de WIMS ne prend pas encore en charge.

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

La commande slib(geo2D/geogebra ...) dans WIMS

Cette page concerne les figures en 2D. Pour la 3D et l'affichage depuis geogebratube, consulter cette page .

La commande slib(geo2D/geogebra ...)

Pour insérer une figure GeoGebra on utilise la commande slib(geo2D/geogebra ...). WIMS utilise un GeoGebra présent sur son propre serveur, donc sans recours à une connexion extérieure. Les figures sont affichées en html 5.

Pour accéder à l'aide des slib, choisir, dans la page d'accueil du serveur, Doc technique puis le paragraphe 8 List of slib et enfin geo2D/geogebra.
Méthode d'accès direct : Par ce lien , vous accédez à la documentation technique puis directement à l'aide du slib geo2D/geogebra en cliquant sur List of slib).

On peut insérer la figure sous forme de fichier : on le dépose dans les fichiers du DocWims (lien Dépôt de fichier) et on utilise la commande file=fichier.ggb;. exemple

Commandes et paramètres aléatoires

On peut aussi construire la figure avec les commandes GeoGebra, par exemple A=(\a,\b) si a et b sont les coordonnées (aléatoires) du point A. C'est ainsi qu'on peut utiliser, dans une figure GeoGebra d'un Doc WIMS, des paramètres aléatoires définis au préalable. Le lecteur doit initialiser la figure pour que les objets apparaissent.

Quand une figure GeoGebra est construite, on peut afficher dans le protocole de construction les seules colonnes nom et commande, puis l'exporter en page web ; on obtient alors, dans la page qui s'affiche dans le navigateur et dans le source de la page html, la liste des commandes utiles pour reconstruire la figure en ligne de commande dans le slib(geo2D/geogebra ...).

Options d'affichage

Voici le lien vers l'aide GeoGebra en pdf très utile pour les commandes et options.

Insertion à l'aide de jsxgraph d'une figure GeoGebra

La commande slib(geo2D/ggb2jsxgraph ... ) permet d'afficher une figure GeoGebra simple avec le logiciel jsxgraph qui n'utilise pas java à l'affichage.


Voici le code :
\def{text C=slib(geo2D/ggb2jsxgraph
blabla
,400x400,1)}

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 .

  4. Afficher une figure dans une page depuis geogebratube avec le slib et éventuellement ajouter des commandes.
    Exemple

Code pour imbriquer

Voici le code qui a servi à afficher cette figure .

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

Le nombre après id est utilisé pour afficher la figure avec le slib. Voir ici .
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é.

Affichage d'une figure 3D avec le slib

Cette figure est déposée sur geogebratube et son id (accessible à la fin de l'url de la figure sur geogebratube) est gmE6GG9S.

Le point vert P est mobile. Sa position rouge M au milieu de l'arête permet d'afficher le cuboctaèdre. Quand P est en Q, on affiche un cube tronqué.

Voici le code pour cet affichage. On aurait pu ajouter des commandes comme en 2D.

\def{text appletoption=material_id=gmE6GG9S;
width=500;
height=400;
}
\def{text Cube=slib(geo2D/geogebra \appletoption)}
<div class="wimscenter">\Cube</div>

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 et composer le fichier LateX qui sera transformé.

exemples aléatoires numériques, figures dynamiques dans un document, latex2wims.
: document, exemple, aléatoire, graphique, dessin, figure, 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.