Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Remplacement des réponses analysées automatiquement type coord
Étiqueté : fonctions affines droites
- Ce sujet contient 16 réponses, 4 participants et a été mis à jour pour la dernière fois par
Julien, le il y a 8 années et 8 mois.
-
AuteurMessages
-
-
12 janvier 2014 à 16:48 #1877
declieu69
Participant::Bonjour.
Je souhaite faire un exercice utilisant le type coord pour déterminer si un point est sur une droite. Je voulais donc récupérer les coordonnées de la réponse puis calculer la distance du point cliqué à la droite. Dans le cas du type numeric, il est indiqué dans la documentation qu’il suffisait d’utiliser une variable non utilisée, mais come ici le type coord utilise deux arguments et deux variables pour réponses, je ne suis pas sûr de ce qu’il faut faire. J’ai tenté le morceau de code suivant :
\answer{}{\graphique1;point,\x1,\y1}{type=coord} \real{x1=(\x1+260)/100} \real{y1=(\y1+260)/100} \real{d1=abs(\a*\x1+\b*\y1+\c)/sqrt(\a^2+\b^2)} \condition{ condition à cacher }{ \d1<0,1 }{ option=hide }{ weight=1 }
mais cela ne marche pas.
Merci pour votre aide.
Thomas Charon
Lycée Lumière à Lyon -
12 janvier 2014 à 17:14 #1878
bernadette
Maître des clés::Ce n’est en effet pas possible dans l’état actuel. Ce que tu peux faire, c’est
mettre une zone « rectangle » autour de la droite en pixels. J’ai fait un cas simple
car vertical ! Si ensuite tu veux réanalyser la réponse, utilise \reply1
(mais fais attention, il y a des parenthèses) :\text{dessin=draw(200,200 vline 100,100,black)} \statement{\embed{r1, 200x200}} \answer{}{\dessin;rectangle,98,0,102,200 }{type=coord} \feedback{1=1}{\reply1 \result1} \text{rep=wims(declosing \reply1)}
-
12 janvier 2014 à 18:21 #1879
declieu69
Participant::Merci Bernadette.
Effectivement, ça marche !
Le soucis par contre, c’est qu’en fait, je veux bien sûr que les élèves trouvent deux points distincts qui soient sur la droite. Du coup, que puis-je faire pour utiliser une condition supplémentaire afin de vérifier que les deux points « cliqués » ne sont pas les mêmes.
En fait j’aimerai faire le même exercice que celui-ci http://portail.lyc-auguste-et-louis-lumiere.ac-lyon.fr/wims/wims.cgi?module=devel/tcharon/H3~geometry~affine.fr qui est un module que tu as fait sur les fonctions affines et pour lequel j’ai juste modifié l’énoncé pour utiliser le vocabulaire de droites mais j’aurais voulu en plus ajouter le cas « x=k ».
Si les modifs de l’énoncé de ton module sont très simples à faire, la modification des données me semblaient plus compliquées.
Du coup, je suis parti sur mon propre exo. Reste à savoir s’il peut aboutir, c’est à dire si je peux vérifier que mon deuxième point est distinct du premier.-
Cette réponse a été modifiée le il y a 9 années et 8 mois par
declieu69.
Thomas Charon
Lycée Lumière à Lyon -
Cette réponse a été modifiée le il y a 9 années et 8 mois par
-
12 janvier 2014 à 19:10 #1881
bernadette
Maître des clés::De toute façon, avec le type coord tu es obligé de faire cela en deux étapes.
Rien ne t’empêche de rajouter des conditions à l’analyse faite par wims.
(une fois récupéré reply1 et reply2, il suffit de tester que les deux points sont
distincts).Sinon, tu peux peut-être utiliser le type jsxgraphcurve en faisant directement
tracer la droite en question.Bernadette
-
19 janvier 2014 à 18:44 #1899
declieu69
Participant::Merci pour ta réponse.
Je me suis remis au travail ce week-end et j’ai donc opté pour la récupération de reply1 et reply2 (j’ai un peu galéré car le type coord donne un couple entre parenthèses et pas une liste de deux items. Heureusement Paul Byache ma donnait une solution.
Par contre, j’aurais aimé à ma deuxième étape faire apparaître le premier point cliqué. Etant donné que lors de l’analyse de la réponse de l’étape 1, le graphique qui m’intéresse est affiché avec le point cliqué, est-il possible de récupérer le graphique « analyse de la réponse 1 », pour pouvoir cliquer dessus à l’étape 2 ?
Je mets un lien sur l’exo concerné si ça peut aider à comprendre la situation (j’ai enlevé les options noanalyzeprint pour faire apparaitre le graphique qui m’interesse, mais à terme, je les remettrai).D’autres part, j’ai fait un petit module concernant les équations de droites qui inclus les droites « verticales » (peu utilisées dans les exos existants). Plutôt que de publier le module, je pense qu’il serait mieux de l’incorporer à un module existant pour éviter de les multiplier. Est-ce possible ? Si oui, comment procède-t-on ?
Cordialement
Thomas Charon
Lycée Lumière à Lyon -
19 janvier 2014 à 22:32 #1907
bernadette
Maître des clés::Ben, normalement, on envoie le module à l’auteur. C’est moi ici ?
Si l’auteur ne répond pas, on envoie à qualite@wimsedu.info
avec un petit mot d’explication.Merci beaucoup pour la contribution.
Pour la question récupération de l’analyse de réponse,
je pense que c’est un des trucs que j’ai fait récemment et que cela sera accessible avec la variable \reply_1 etc …
Mais il faudra attendre la 4.07b …Envoie moi le source, je vérifierai que cela fonctionne sur ma version de développement, ce qui me fera un bon test de débogage !
Mais je ne suis pas sûre que cela soit exactement ce que tu veux.
Tu peux aussi refaire le dessin en rajoutant les boules (mets juste un point de couleur) avec les coordonnées que tu as dans \reply1Bernadette
Bernadette
Bernadette
-
17 janvier 2015 à 18:54 #2608
declieu69
Participant::Bonjour.
Comme j’attaque les équations réduites de droites avec les secondes, j’ai repris mon module.
Il est, me semble-t-il, presque publiable mais je bute toujours sur le deuxième graphique à afficher lorsque je veux plcer deux points d’une droite dont on connait l’équation réduite.J’ai créé le texte du second graphique dans la partie avant « statement » et le point n’est pas celui surlequel on a cliqué à la première étape, mais situé à l’origine du repère, ce qui paraît logique puisque l’image est créée est stockée avant l’analyse du statement.
J’ai essayé à tout hasard après le statement (sans grande conviction) et bien sûr cela n’a pas marché. Du coup, je ne vois pas trop comment m’y prendre. Est-ce que l’utilisation d’un \nextstep au lieu de \steps pourrait résoudre mon problème ? Sinon, que faire ?Cordialement
Thomas Charon
PS : Désolé Fabien, je viens de découvrir ton message. Si tu le souhaites, je peux t’envoyer une copie de ce module, en attendant que je demande à le publier …
Thomas Charon
Thomas Charon
Lycée Lumière à Lyon
-
-
1 février 2014 à 19:29 #1978
Fabien Sommier
Participant::Bonjour,
A peu près au moment moment j’ai eu aussi envie d’adapter le travail de Bernadette sur les fonctions affines, en version équations de droites.
Pas eu le temps de faire un travail propre là dessus (dans l’urgence j’ai dupliqué et modifié ce dont j’avais besoin) ; Thomas, où en es-tu sur ce sujet ? Ca m’intéresse 🙂
Merci,
Fabien. -
19 janvier 2015 à 20:25 #2609
Julien
Modérateur::Bonjour,
Si tu veux un coup de main, publie ton code et explique précisément tes attentes. La différence entre \nextstep et \steps est la suivante :
- Dans le premier cas tu ne connais pas le nombre d’étapes et il peut évoluer selon l’analyse des variables
- Avec \steps ton exercice évolue de manière déterministe.
@+
-
19 janvier 2015 à 21:31 #2610
declieu69
Participant::Bonjour.
En fait l’exercice est le suivant : http://194.199.75.183/wims/wims.cgi?module=local/geometry/eqdroite.fr&cmd=new&exo=exo2.
Le fichier source (trop long pour être copié) est disponible à l’adresse suivante : https://www.dropbox.com/s/hocu2wxq4tjog8c/exowims_trac%C3%A9_droite.txt?dl=0
Je souhaite en fait qu’à la seconde étape, le premier point cliqué apparaisse. Actuellement, ça ne marche pas : c’est l’origine qui apparait car la figure créée pour la seconde étape (variable « graphique2 ») n’est pas « reconstruite » entre la première étape et la seconde, du coup les variables qui récupèrent les coordonnées du premier point (Xsol1 et Ysol1) sont encore vides lors de la construction de la figure, ce qui fait apparaitre l’origine !
J’avais compris l’utilisation première de \nextstep qui permet de modifier la variable où sont entrées les réponses évaluées entre chaque étape. Du coup, je me demandais si cela permettait aussi d’évaluer d’autres variables aux étapes intermédiaires (quelque chose du type \nextstep{\mat_rep,\graphique2} et après le statement, faire évaluer graphique2 lorsque \step=2) ?
Merci pour votre aide
Cordialement
Thomas Charon
Lycée Lumière à Lyon -
20 janvier 2015 à 23:50 #2625
Julien
Modérateur::Bonjour,
Le code proposé devrait fonctionner. La variable graphique2 n’est pas rechargée dans le \answer alors qu’on affiche très facilement le graphique à la deuxième étape en ajoutant :
<img src="\graphique2" />
J’ai testé avec jsxgraphcurve et c’est le même constat l’image ne recharge pas même en utilisant le nexstep.
Par conséquent je te propose 2 solutions. Une facile mais qui ne correspond pas vraiment à ce que tu veux et une plus difficile qui te permettra de configurer l’exo aux petits oignons
facile\title{WimsAnalysejsxgraphDroite} \language{fr} \range{-5..5} \computeanswer{no} \format{html} \precision{10000} \real{a=randint(-5..5)} \real{b=randint(-5..5)} \function{f=\a x+ \b} \function{f=pari(\f)} \real{yA=evalue(\f,x=5)} \real{yB=evalue(\f,x=-5)} \real{yApixel=600/2-\yA*600/16-2} \real{yBpixel=600/2-\yB*600/16-2} \text{point=slib(graphpaper/millimetre 10,8,5,4,1,2,[255,255,255],[190,190,190],,,)} \text{urlpoint = draw(0,0 \point)} \statement{ Tracer la droite (d) d'équation : \(y=\f) \embed{reply1, 800 x 600} } \answer{}{\urlpoint;line,4,\yBpixel,804,\yApixel}{type=jsxgraphcurve}{option= precision=2 color1=blue color2=green}
difficile
\title{Exemple de jsxgraph} \precision{100} \text{ nstep=reply1 } \nextstep{\nstep} \text{a=randint(1..5), randint(1..5)} \text{b=randint(1..5), randint(1..5)} \text{script= var brd1 = JXG.JSXGraph.initBoard('jsxbox', { axis:true,boundingbox: [-6, 6, 6, -6], grid:true}); ;} \text{script1= var brd2 = JXG.JSXGraph.initBoard('jsxbox', { axis:true,boundingbox: [-6, 6, 6, -6], grid:true}); ;} \statement{Mettre le point A en (\a). Mettre le point C sur la droite AB. \if{\step=1}{ \embed{r1,400x400 jsxbox \script }} \if{\step=2}{\embed{r2,400x400 jsxbox \script1 }} \reply1 } \text{script1= var brd2 = JXG.JSXGraph.initBoard('jsxbox', { axis:true,boundingbox: [-6, 6, 6, -6], grid:true}); brd2.create('point',[\c]); ; } \answer{}{\c}{type=jsxgraph}{option= freepoint nonstop noanalyzeprint} \answer{}{\e}{type=jsxgraph}{option= freepoint} \matrix{rep=\reply1} \real{test=abs(\rep[1;1]-1)} \condition{premier sur la droite d'équation x=1}{ \test < 0.1} \text{nstep = (\step = 2)?reply2}
Un lien vers les différentes commandes de jsxgraph:
http://jsxgraph.uni-bayreuth.de/distrib/jsxgraph_refcard.pdf@+
-
21 janvier 2015 à 20:15 #2630
declieu69
Participant::Bonsoir.
Merci pour ta réponse et le lien pour le memo sur jsxgraph. Je crois que je vais m’y plonger un peu plus pour pouvoir me passer de geogebra et surtout de java qui pose de plus en plus de problème avec ses mises à jour.
La première solution marche très bien et a été facile à mettre en place.
Par contre pour la seconde, je n’ai pas tout compris (l’exercice ne fonction d’ailleurs pas : la réponse est dans une variable \c qui n’est pas définie …). Je vais regarder cela plus attentivement ce soir.
Merci encore.
PS : as-tu un lien un peu plus complet sur l’utilisation du type jsxgraphcurve ?
Thomas Charon
Lycée Lumière à Lyon -
21 janvier 2015 à 21:30 #2631
Julien
Modérateur::Hello,
Le second exercice est juste un brouillon qui m’a permis de valider l’utilisation de jsxgraph pour faire exactement le même exo avec les étapes. La question aurait du être « Mettre le point A sur la droite d’équation x=1. » pour avoir un truc qui fonctionne mais ce n’était pas le but. Je pensais que le code parlait de lui même.
L’ensemble de la doc sur jsxgraphcurve est présent en suivant le lien : http://wimsauto.di.u-psud.fr/wims/wims.cgi?session=WH5D8FEAA4_help.1&+lang=fr&+module=adm%2Fcreatexo&+cmd=help&+special_parm=all et en faisant une recherche texte sur jsxgraphcurve et javacurve. Les 2 types de questions ont un fonctionnement identique.
Si tu as des questions précises sur jsxgraphcurve, je devrais pouvoir répondre.
@+
-
Cette réponse a été modifiée le il y a 8 années et 8 mois par
Julien.
-
Cette réponse a été modifiée le il y a 8 années et 8 mois par
-
24 janvier 2015 à 17:37 #2641
bernadette
Maître des clés::Dans le code de Julien, je ne comprends pas pourquoi tu écris
draw(0,0
etc)
la première ligne est la taille de l’image, cela transforme peut-être avec des valeurs par défaut, mais cela n’est documenté nulle part, et je pense qu’il vaut mieux mettre une valeur vraie. A moins qu’il n’y ait une autre raison. -
24 janvier 2015 à 17:44 #2642
bernadette
Maître des clés::Il n’est en effet pas possible de mettre dans les champs de
\answer{}{} …
autre chose que des quantités précalculées. On ne peut donc pas utiliser la réponse de l’élève dans les champs de answer.
L’astuce avec le type jsxgraph et cela est peut-être possible ailleurs
est que tout le champ peut être dans une variable pas encore défini
et qu’on reporte le dessin dans le champ \embed{}. En faisant cela, je n’avais pas eu conscience que cela permet de passer à travers la restriction du départ !
Cela n’a pas été prévu pour le type coord où le champ ne peut pas être une indéterminée. Et je ne suis pas sûre que j’ai envie de refaire le hack de jsxgraph pour le type coord, car il n’est pas très stable ! -
24 janvier 2015 à 21:08 #2645
-
25 janvier 2015 à 20:12 #2648
Julien
Modérateur::Bonjour,
Pour que le type jsxgraphcurve fonctionne correctement, j’ai commis les fichiers /anstype/jsxgraphcurve.input et anstype/jsxgraphcurve sur https://sourcesup.renater.fr/scm/websvn.php/?root=wimsmodules&group_id=410&public=1
A priori cela n’impacte pas les versions précédentes.
Les modifications suivantes sont à faire dans l’activité :
\if{\step=2}{Placer un <b>second point</b> de la droite sur le graphique <br>\embed{reply2,520×520
\graphique2}}\answer{}{\graphique1;polygon,\X1,\Y1,\X2,\Y2,\X3,\Y3,\X4,\Y4}{type=coord}{option=analyzeprint}{weight=1}
\answer{}{embed;points,100,200}{type=jsxgraphcurve}{option=analyzeprint}{weight=3}-
Cette réponse a été modifiée le il y a 8 années et 8 mois par
Julien.
-
Cette réponse a été modifiée le il y a 8 années et 8 mois par
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.