=====Exercices OEF===== ====Qu'est-ce que OEF ?==== OEF signifie ''Online Exercise Format''. C'est une interface simplifiant la fabrication des énoncés. Elle aide les novices, mais ses possibilités et sa souplesse en font aussi un outil de choix pour experts pressés. De nombreux types d'exercices (gérant la présentation des questions et l'analyse des réponses) sont proposés et faciles d'utilisation (). ====Où est la documentation du langage OEF ?==== [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=adm/createxo |Aide OEF]]. Si vous êtes en train de créer un exercice OEF, vous trouverez aussi ce lien dans la barre de menu en haut ( '' Aide''). On peut aussi regarder le document [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=help/teacher/docexooef.fr |DocAide Exercices OEF]]. ====Qu'est-ce que Createxo ?==== [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=adm/createxo |Createxo]] est une interface permettant de créer des exercices oef sur le serveur par une page web ====J'ai fait mon premier exercice OEF et les réponses s'affichent. Est-ce normal ?==== Oui, en mode de programmation (développement) ou lorsqu'on est enseignant dans une classe, la plupart des réponses sont affichées. Elles ne le seront plus heureusement lorsque c'est un élève d'une classe qui fait l'exercice. C'est ce que signifie la phrase suivante : ''Mode de développement : les bonnes réponses sont insérées dans les champs de réponse par défaut. '' ====Y a-t-il des exemples commentés d'exercices ? ==== Vous pouvez trouver des exercices commentés dans le document [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=help/teacher/docexooef.fr |DocAide Exercices OEF]] et sur le site [[http://www.poitou-charentes.iufm.fr/wims/cd/ |Poitou-Charentes]]. ====Je voudrais appeler dans un exercice OEF un fichier de données par exemple en utilisant ''slib(data/randline)''. ==== On ne peut pas le faire dans une classe. Vous devez pour cela avoir un compte Modtool et créer un module d'exercices OEF (voir des explications dans le document [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=help/developer/docmodtooloef.fr |Doc Modules d'exercices OEF]] ). ====Createxo distingue réponses libres et à choix multiples. Quid ?==== Dans une réponse à choix multiples, l'élève choisit parmi plusieurs réponses imposées (clic de souris). Dans une réponse libre, il tape lui-même sa réponse au clavier : cela peut être un nombre, un ensemble de nombres, un texte, une fonction, une matrice ... ====Qu'est-ce qu'on ne peut pas faire avec OEF?==== Vous n'avez pas le contrôle de la notation de l'exercice : le calcul des points est fait de manière opaque . Vous ne pouvez pas non plus gérer une progression dans la difficulté. Modtool est plus flexible mais demande beaucoup plus de travail. ====J'ai de bons exercices OEF ou Modtool, comment les intégrer à la distribution ?==== Transmettez-les à votre gestionnaire de site, ou à [[bpr@math.u-psud.fr|Bernadette Perrin-Riou]]. ====Les formules TeX ne sont pas lisibles. Comment augmenter leur taille ?==== Si vous êtes utilisateur, vous pouvez régler la taille dans les préférences de WIMS par le navigateur. Si vous programmez un exercice, vous pouvez utiliser les macros LaTeX standard, comme ''\large'', ''\Large'', ''\huge'' ou ''\Huge''. ====Peut-on mettre des boucles et des branchements conditionnels dans un exercice OEF?==== Oui, aussi bien dans la partie ''\statement'' qu'en dehors, ainsi que dans les documents. On peut utiliser \if{test}{}{ } \while{test}{ } \for{i = 1 to 4}{ } Ici ''test'' est un test, par exemple ''\a issametext toto'', à l'intérieur de ''{}'' doivent être mises des commandes : par exemple ''\text{a = 2}''. ==== ''\text{ s = ]a, b[ }'' est refusé par le compilateur.==== C'est un bogue du compilateur. Pour l'éviter, mettez le code html ou TeX: ''\text{ s = ]a, b[ }'' ou ''\text{ s = \rbrack a, b \lbrack }''. Il y a d'autres codes html qu'il est bon de connaître, par exemple '','' si on veut mettre une virgule dans un élément d'une liste. \text{ a = 1,2, 3 } \text{ b = item(1,\a) } \statement{ \b } WIMS vérifie l'appariemment des crochets et des parenthèses, et qu'un crochet ouvrant doit précéder tout crochet fermant. ====Quelles sont les commandes de programmation accessibles dans les exercices OEF ? ==== Il ne s'agit pas de remplacer l'aide et la documentation mais de parcourir rapidement les possibilités : Variables prédéfinies ''imagedir'' : ''\imagedir'' ''confparm1'' : ''\confparm1'' ''confparm2'' : ''\confparm2'' ''confparm3'' : ''\confparm3'' ''confparm4'' : ''\confparm4'' ''step'' : ''\step'' Commandes ''answer'' : ''\answer{mon_texte}{\reponse}{type= xxx}{option=xxx}'' ''author'' : ''\author{xxx}'' ''choice'' : ''\choice{xxx}{test}{}'' ''complex'' : ''\complex{xxx = yyy}'' ''computeanswer'' : ''\computeanswer{yes}'' ''condition'' : ''\condition{xxx}{test}'' ''conditions'' : ''\conditions{c1,c2}'' ''email'' : ''\email{xxx}'' ''feedback'' : ''\feedback{xxx}{test}'' ''for'' : ''\for{i=1 to 5}{ }'' ''format'' : ''\format{html}'' ''function'' : ''\function{f = x^2}'' ''help'' : ''\help{xxx}'' ''hint'' : ''\hint{xxx}'' ''if'' : ''\if{test}{}{}'' ''int'' : ''\int{a = yyy}'' ''integer'' : ''\integer{a = yyy}'' ''language'' : ''\language{fr}'' ''matrix'' : ''\matrix{a = yyy}'' ''mdef'' : ''\mdef{xxx}'' ''next'' : ''\next{xxx}'' ''nextstep'' : ''\nextstep{reply 2}'' ''parameter'' : ''\parameter{xxx}'' ''plot'' : ''\plot{xxx}'' ''precision'' : ''\precision{1000}'' ''range'' : ''\range{-5,5}'' ''rational'' : ''\rational{r = 3/2}'' ''real'' : ''\real{r = 3/2}'' ''reply'' : ''\reply{xxx}{}{}{}'' voir ''\answer{}{}{}'' ''solution'' : ''\solution{xxx}'' ''statement'' : ''\statement{xxx}'' ''steps'' : ''\steps{xxx}'' ''text'' : ''\text{xxx}'' ''title'' : ''\title{xxx}'' ''variable'' : ''\variable{xxx}'' ''while'' : ''\while{test}{}'' Autres : ''column'' : ''\text{ a = column(1,xxx)}'' ''deriv'' : ''\text{ a = deriv(xxx,x)}'' ''derivative'' : ''\text{ a = derivative(xxx,x)}'' ''det'' : ''\text{ a = det(xxx)}'' ''determinant'' : ''\text{ a = determinant(xxx)}'' ''diff'' : ''\text{ a = diff(xxx,x)}'' ''draw'' : ''\text{ a = draw(xxx)}'' ''evaluate'' : ''\text{ a = evaluate(x^2,x = 2)}'' ''evalue'' : ''\text{ a = evalue(x^2, x = 2)}'' ''htmlmath'' : ''\text{ a = htmlmath(xxx)}'' ''int'' : ''\text{ a = int(x^2,x= 0 .. 2)}'' ''integral'' : ''\text{ a = integral(xxx)}'' ''integrate'' : ''\text{ a = integrate(xxx,x=1 .. 2)}'' ''item'' : ''\text{ a = item(1,xxx)}'' ''items'' : ''\text{ a = items(xxx)}'' ''mathexp_cut'' : ''\text{ a = mathexp_cut(xxx)}'' ''maxima'' : ''\text{ a = maxima(xxx)}'' ''pari'' : ''\text{ a = pari(xxx)}'' ''pickone'' : ''\text{ a = pickone(xxx)}'' ''position'' : ''\text{ a = position(xxx)}'' ''positionof'' : ''\text{ a = positionof(xxx)}'' ''randint'' : ''\text{ a = randint(xxx)}'' ''randitem'' : ''\text{ a = randitem(xxx)}'' ''random'' : ''\text{ a = random(xxx)}'' ''randomitem'' : ''\text{ a = randomitem(xxx)}'' ''randomrow'' : ''\text{ a = randomrow(xxx)}'' ''randrow'' : ''\text{ a = randrow(xxx)}'' ''row'' : ''\text{ a = row(2,xxx)}'' ''rows'' : ''\text{ a = rows(xxx)}'' ''shuffle'' : ''\text{ a = shuffle(xxx)}'' ''simplify'' : ''\text{ a = simplify(xxx)}'' ''slib'' : ''\text{ a = slib(xxx)}'' ''solve'' : ''\text{ a = solve(xxx)}'' ''texmath'' : ''\text{ a = texmath(xxx)}'' ''wims'' : ''\text{ a = wims(xxx)}'' ''yacas'' : ''\text{ a = yacas(xxx)}'' ====Comment compter les mots d'une phrase ou le nombre de caractères ? ==== Pour les manipulations de texte avancées, vous pouvez utiliser les commandes wims ([[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=help/wimsdoc.en&+cmd=new&subject=cmdlist#cmdlist |doc tech]]). Par exemple, \text{a =wims(wordcnt toto tata titi)} Pour tirer un mot au hasard, \text{a=wims(randword toto tata titi)} ====J'ai des problèmes pour manier des textes contenant des virgules, ou des \ !==== Remplacer les caractères par leur code html, par exemple '']'' pour un crochet et '','' pour une virgule. ==== ''\a * \a'' est faux ! (après ''\text{ a = x + y }'')==== L'évaluation remplace littéralement les variables par leurs valeurs, sans parenthésage implicite. Dans cet exemple, WIMS calcule ''x + y * x + y''. Utiliser \text{ a = (x + y) } \text{ b = \a * \a } \statement{\b} ou mieux \text{ a = x + y } \text{ b = (\a) * (\a) } \statement{\b} s'il n'est pas garanti que ''a'' soit de type numérique. ====Je veux faire un exercice avec des poids aux questions et cela ne marche pas. ==== Il semble que pour l'instant lorsque vous testez votre exercice avec Createxo, le score ne tient pas compte des poids. Par contre, il en tiendra compte lorsque l'exercice sera utilisé. Exemple de tests avec un niveau de sévérité 3 (menu intro): \statement{} \answer{}{1}{type=numeric}{weight=8} \answer{}{1}{type=numeric}{weight=2} sous Createxo : - les réponses 1, 0 donnent une note de 7.2, - les réponses 0, 1 donne une note de 0.9 directement : - les réponses 1, 0 donnent une note de 7.9, - les réponses 0, 1 donnent une note de 0.4 \statement{} \answer{}{1}{type=numeric}{weight=2} \answer{}{1}{type=numeric}{weight=8} sous Createxo : - les réponses 1, 0 donnent une note de 7.2, - les réponses 0, 1 donnent une note de 0.9 directement : - les réponses 1, 0 donnent une note de 0.4, - les réponses 0, 1 donnent une note de 6.4 Pour avoir exactement les proportions 2 et 8 demandées, il faudra ensuite configurer le niveau de sévérité de l'exercice (menu d'introduction du module) à 1. Mais cela est indépendant du développement de l'exercice. ====Je n'arrive pas à écrire un intervalle, WIMS enlève la virgule.==== C'est un bogue. ''[ 1, 2 ]'' fonctionne, mais il faut écrire [ \(x_2), \(x_3) ] et non \([ x_2, x_3 ]) L'expression ''\(...)'' interprète ... en mode mathématique, comme une matrice ligne dans le deuxième cas. WIMS affiche donc une matrice et non un intervalle : la virgule est supprimée. ====Que signifie la précision et comment est calculée l'erreur dans les exercices numériques ? ==== Pour une précision relative 1/M où M est donnée dans le champ ''\precision{M}'', la réponse numérique //r// est acceptée pour la solution demandée //s// si et seulement si:
Quelle la fonction tracée?} \choice{la courbe est}{\f}{\f3} ====Comment se sert-on de ''animstep''==== ''animstep'' permet d'avoir un paramètre entier dans l'animation d'un dessin. Un exemple : \text{n = animstep^2} \statement{ \draw{200,200}{ animate 20,0.2,1 xrange -2,20 yrange -2,20 hline 0,animstep, blue vline \n, 0, red } } ====Je voudrais utiliser des matrices et faire des produits. Que dois-je utiliser ?==== [[http://pari.math.u-bordeaux.fr |PARI/GP]] par exemple. Il est pratique et de syntaxe légère pour tous les calculs de matrices : le produit de deux matrices A et Best A*B. ====Je voudrais créer une matrice avec certaines propriétés ...==== On peut utiliser le logiciel PARI/GP, exemple : \text{n = randint(3..5)} \matrix{A = pari(matrix(\n,\n,i,j, (-1)^(i+j)*x^i*j))} ====J'ai récupéré la réponse reply1 sous forme de matrice et pourtant PARI/GP ne l'interprète pas comme une matrice?==== Ecrivez \matrix{A = \reply1} Ainsi, wims transformera les passages à la ligne en points-virgules, ce qui est la manière standard d'écrire une matrice dans PARI/GP. ====J'ai obtenu une matrice avec ''slib(matrix/random)'' et je voudrais changer un coefficient.==== Le mieux est d'utiliser PARI/GP, par exemple : \matrix{A = slib(matrix/random 3,4)} \text{k = randint(1..3)} \text{l = randint(1..4)} \matrix{B = pari (A = Mat([\A]); A[\k,\l]=x; A)} ====La fonction ''random'' semble interférer entre PARI/GP et WIMS ?==== En effet, si une fonction qui a un sens pour WIMS est insérée dans un programme PARI/GP (ou Maxima, etc.), elle est interprétée par WIMS avant d'être envoyée au logiciel correspondant. Pour éviter cela, WIMS définit l'alias ''RANDOM'' de ''random'' dans PARI/GP. ====Je me souviens avoir vu une liste de scripts, mais je ne retrouve pas la documentation ? ==== [[http://wims.auto.u-psud.fr/wims/wims.cgi?lang=fr&+module=help/wimsdoc.en&+cmd=new&subject=slib#slib |slib]] : Il s'agit de scripts pouvant être utilisés dans la programmation d'un exercice OEF ou dans un module WIMS. Cette bibliothèque est en constante évolution. ====Que fait l'instruction ''\text{S1=item(3..-1,\S)}''. ==== Il prend les éléments de 3 au dernier de la liste ''\S''