Initiation à la programmation OEF pour Wims (exercices).

Please download to get full document.

View again

of 9
82 views
PDF
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Document Description
page 1 sur 9 Initiation à la programmation OEF pour Wims (exercices). Les titres des différentes parties de ce document, en grisé, sont donnés en référence au document Wims «DocAide Exercices OEF» rédigé
Document Share
Documents Related
Document Transcript
page 1 sur 9 Initiation à la programmation OEF pour Wims (exercices). Les titres des différentes parties de ce document, en grisé, sont donnés en référence au document Wims «DocAide Exercices OEF» rédigé par Bernadette Perrin-Riou. Ce document est disponible sur les serveurs Wims (par le moteur de recherche de la page d'accueil par exemple). Les exercices sont à faire dans CREATEXO qui est accessible dans une classe virtuelle (ce qui permet de conserver les exercices et de les réutiliser) ou depuis la page d'accueil de n'importe quel serveur Wims (lien «créer mes propres exercices interactifs simples»). L'aide de Wims est très complète, mais morcelée. Les aides suivantes peuvent être utiles : aide de CREATEXO (lien «aide» quand on est dans CREATEXO) aide générale de Wims (lien «aides Wims») documentation technique (en anglais) : lien «tech doc» en bas de la page d'accueil du serveur Wims (pas accessible depuis l'intérieur de la classe virtuelle...) documents «DocAide» (faire une recherche dans le moteur de recherche Wims) Foire Aux Questions (FAQ : faire une recherche dans le moteur de recherche Wims) forums de l'association Wims EDU (sur le sire internet de l'association : Structure d'un exercice OEF Le champ «precision()» permet de définir la «précision relative» avec laquelle seront vérifiées les réponses numériques. Très précisément : 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: ( s-r ) / Max( s+r,1/m) 1/M Programmation Variables Exemple d'exercice : 1 \title{ Exemple 1 (variables) } 2 \language{ fr } 3 \author{ B. Perrin-Riou modifié par P. Byache} 4 \ { } 5 \computeanswer{ no } 6 \format{ html } 7 \precision{ } 8 9 \integer{ n = randint(3..6) } 10 \real{ a = randint(10^(\n)..10^(\n + 1)-1) } 11 \real{ A = \a } 12 \real{ sol1 = \n } 13 \real{ sol2 = \n + 1 } \statement{ page 2 sur 9 18 Donner un encadrement du nombre \(\A) 19 par des puissances de 10 consécutives. br br 20 center 10 sup sup \embed{ reply 1,4 } /sup /sup 21 \leq \A 10 sup sup \embed{ reply 2,4 } /sup /sup 22 /center } \hint{ Vous pouvez d'abord écrire le nombre avec la notation scientifique.} \answer{ exposant }{ \sol1 }{ type = numeric } 29 \answer{ exposant }{ \sol2 }{ type = numeric } Remarques : Si on veut mettre en forme une formule ou une expression mathématique (matrice, intégrale, etc.) il suffit de la mettre entre parenthèses et de précéder la parenthèse de «\» (voir l'aide de CREATEXO pour plus de détails et des exemples). 1) Modifier cet exercice pour que le nombre \A soit un décimal ayant 2 chiffres après la virgule. 2) Modifier cet exercice pour que le nombre \A soit un décimal ayant \p chiffres après la virgule avec \p pouvant valoir entre 1 et 4. 3) Modifier cet exercice pour que le nombre \A soit une fraction. 4) Écrire un exercice dans lequel un nombre complexe donné doit être écrit sous forme polaire. 1) Remplacer les lignes 11 à 13 par : \real{ A = \a/10^2 } \real{ sol1 = \n-2 } \real{ sol2 = \n-1 } 2) Remplacer les lignes 11 à 13 par : \integer{ p = randint(1..4) } \real{ A = \a/10^(\p) } \real{ sol1 = \n-\p } \real{ sol2 = \n-\p+1 } 3) Remplacer (par exemple) les lignes 10 à 13 par : \integer{ a = randint(10^(\n)..10^(\n + 0.5)-1) } \integer{ p = randint(1..4) } \integer{ b = randint(10^(\p-0.5)+1..10^(\p)) } \rational{ A = \a/\b } \real{ sol1 = \n-\p } \real{ sol2 = \n-\p+1 } page 3 sur 9 On peut aussi remplacer le «\leq \A» dans l'énoncé par un «\leq \(\frac{\a}{\b})» (utilisation d'une commande TeX mise entre «\( )», pour un meilleur affichage de la fraction). 4) Voici une solution possible : \title{ Solution de l'exercice 4 (variables) } \language{ fr } \author{p. Byache} \ { } \computeanswer{ no } \format{ html } \precision{ 100 } ###precision relative d'environ 10^(-2) pour palier aux problèmes d'arrondis \integer{ r = randint(1..10) } ###r est le module \integer{ t = randint(0..6) } ###t est l'argument principal \integer{ A1 = \r*cos(\t)*100 } \real{ A1 = \A1/100 } ###A1 est la partie réelle. Elle est arrondie au centième (grâce au «integer») \integer{ A2 = \r*sin(\t)*100 } \real{ A2 = \A2/100 } \complex{ A = \A1+i*\A2 } \statement{ Ecrire le nombre \(\A) sous forme polaire (avec un argument compris entre 0 et \(2*pi)). br br center \(\a) = \embed{ reply 1,3 } e sup sup \embed{ reply 2,3 } i /sup /sup /center } \answer{ module }{ \r }{ type = numeric } \answer{ argument principal }{ \t }{ type = numeric } Matrices : Exemple d'exercice : 1 \title{exemple 2 : matrices, listes} 2 \language{fr} 3 \author{p. BYACHE} 4 5 \format{html} 6 7 \matrix{data=vingt-et-un,21 8 vingt-deux,22 9 vingt-trois,23 10 vingt-quatre,24 11 vingt-cinq,25 12 cent, mille, page 4 sur 9 14 dix mille, cent mille, } 16 ###les barres permettent de définir plusieurs bonnes réponses pour les réponses de type case (ou nocase ) \text{z= randitem(1,2,3,4,5),randitem(6,7,8,9)} 19 ###z est une liste de deux nombres 20 \matrix{data2= row(\z,\data)} 21 ###data2 est une matrice composée des lignes dont les numéros sont dans z \text{lettres=column(1,\data2)} 24 \text{chiffres=\data2[;2]} 25 ###deux façons équivalentes d'extraire une colonne de la matrice data2 \text{rep1=item(1,\lettres)} 28 \text{n1=item(1,\chiffres)} 29 \text{rep2=\chiffres[2]} 30 \text{n2=\lettres[2]} \statement{ 33 br ecrire en lettres: br 34 center 35 \n1 \embed{r1,35} /center br 36 br ecrire en chiffres: br 37 center 38 \n2 \embed{r2,15} /center br 39 } \answer{}{\rep1}{type = case} 42 \answer{}{\rep2}{type = case} 5) Modifier l'exercice précédent en ajoutant deux champs de réponse, pour qu'il y ait 4 réponses à donner au lieu de 2. 6) Présenter l'énoncé de l'exercice en utilisant un tableau au format html. 5) Modifier la ligne 18 comme ci-dessous et modifier les lignes 27 et suivantes, 35 et suivantes, 41 et suivantes. 18 \text{z1=shuffle(1,2,3,4,5)} \text{z2=shuffle(6,7,8,9)} \text{z=\z1[1],\z1[2],\z2[1],\z2[2]} 6) Les balises html à utiliser sont les suivantes : table tr td 1ère cellule de la première ligne /td td 2ème cellule de la première ligne page 5 sur 9 /td /tr tr td 1ère cellule de la deuxième ligne /td td 2ème cellule de la deuxième ligne /td /tr /table Questions et réponses Présentation des questions Exemple d'exercice : 1 \title{exemple 3 : type de réponse function } 2 \language{fr} 3 \format{html} 4 \computeanswer{no} 5 \precision{10000} 6 \range{1..100} 7 \text{f1 = x^2,exp(x),log(x),cos(x),sin(1/x)} 8 \text{f2 = shuffle(\f1)} 9 \function{f = \f2[1]} \text{texte = } 12 \for{i = -5 to 5}{ 13 \text{texte = \texte 14 text green,\i,0,small,\i 15 text green,0,\i,small,\i} 16 } 17 \statement{voici un tracé de courbe p 18 center 19 \draw{500,500}{xrange -5,5 20 yrange -5,5 21 parallel -5,-5,-5,5,1,0,11,blue 22 parallel -5,-5,5,-5,0,1,11,blue 23 text black,4.5,0,medium,x 24 text black,0,5,medium,y 25 \texte 26 plot black,\f} 27 /center 28 p quelle la fonction tracée?} 29 \answer{il s'agit de la fonction f(x)=}{\f}{type=function} 7) Modifier cet exemple de façon à utiliser une question de type «choice» (question à choix multiple) au lieu de «answer». 8) Modifier l'exemple de façon à «immerger» le champ de réponse dans l'énoncé pour page 6 sur 9 obtenir : Voici le tracé de la courbe représentative de la fonction f(x)= «champ de réponse». 7) Il suffit de modifier la ligne 29 comme suit : \choice{il s'agit de la fonction f(x)=}{\f} {x^2,exp(x),log(x),cos(x),sin(1/x)} 8) Voici le tracé représentant la fonction f(x)= \embed{r1}. Ou, si on veut modifier la taille du champ de réponse : Voici le tracé représentant la fonction f(x)= \embed{r1,10}. Questions et réponses Types de réponses Des fonctions (Exercices où la réponse est une expression mathématique.) Exemple d'exercice : \precision{10000} \range{1..100} \statement{répondre x² :} \answer{}{x^2}{type=function} Remarques : normalement, il faut mettre en deuxième argument après la bonne réponse la liste des variables qui sont acceptables (à défaut d'être justes). Le type «function» peut également être utilisé dans le cas où une réponse peut être soit un nombre, soit un mot (que Wims considèrera comme une variable). Comme par exemple lorsqu'on demande des limites de fonctions. 9) Modifier l'exemple précédent en mettant la précision à 10 et cherchez à mettre l'exercice en défaut... 10) Même exercice, cette fois en mettant un champ «answer» de type «algexp», «litexp» ou «formal». 9) On y arrive en répondant «x² » par exemple. 10) algexp : la réponse «x*x» est acceptée, ainsi que «(x+1-1)²». Mais pas «(x+1)²-1-2*x». litexp : tout ce qui n'est pas réduit et tout ce qui n'est pas numériquement exact est refusé... formal : tout ce qui est égal (exactement) à x² est accepté. Questions et réponses Types de réponses Types à choix (Exercices où la réponse est à choix multiple - avec champ «answer» -) On peut faire un choix multiple avec un type «choice», mais si on veut contrôler l'apparence, il est préférable d'utiliser un champ «answer». page 7 sur 9 1 \title{exemple 4 : types à choix multiple.} 2 \language{fr} 3 \author{p. BYACHE} 4 5 \format{html} 6 \statement{ br center 7 table border tr td 8 b i propriété /i /b : 9 Dans un triangle ABC isocèle en A, les angles \(\widehat{b}) 10 et \(\widehat{c}) sont de même mesure. 11 /td /tr /table /center 12 br voici une démonstration de cette propriété, donnée dans le désordre. br 13 Choisissez la première phrase du raisonnement : br \embed{r1} 14 } 15 \answer{}{1;on appelle \(d) la médiatrice du côté [BC].,Conclusion : les angles \(\widehat{b}) et \(\widehat{c}) sont de même mesure.,donc les angles \(\widehat{b}) et \(\widehat{c}) sont symétriques par rapport à \ (d).,\(d) est un axe de symétrie du triangle ABC.,De plus les points B et C sont symétriques par rapport à \(d).}{type=radio}{option=shuffle} 11) Modifier le type de la question (en essayant «menu», «radio» ou «checkbox») puis modifier la présentation de la question pour qu'elle soit plus lisible. 12) Modifier la question en «choisissez la première et la dernière phrase du raisonnement». 11) Pour mettre une phrase par ligne et en faire une liste avec «puces» : li \embed{r1,1} /li li \embed{r1,2} /li li \embed{r1,3} /li li \embed{r1,4} /li li \embed{r1,5} /li 12) S'il y a deux phrases à cocher, il faut utiliser le type «checkbox». Questions et réponses Réutilisation des réponses 13) Reprendre l'exemple 3 sur le type «function» et faire s'afficher la solution lors de l'analyse de la réponse. 14) Toujours sur l'exemple 3 : prévoir une \indication comme par exemple : «Pensez à ouvrir votre cahier de leçons!!» 15) Encore sur l'exemple 3, dans le cas où la réponse est «sin(x)» au lieu de «cos(x)» (ou inversement), prévoir un message qui affiche : «Attention : vous confondez «cosinus» et «sinus»... Souvenez-vous par exemple que sin(0)=0!» page 8 sur 9 16) Ecrire un exercice dans lequel il faut donner sous forme algébrique un nombre complexe d'argument inférieur à 3 (pour calculer le module a d'un nombre complexe z utiliser :\real{a=pari(abs(\z))}. 13)\solution{Il fallait répondre : f(x)=\f} 14) \indication{pensez à ouvrir votre cahier de leçons!!} 15)\feedback{(\f issametext cos(x) and \reply1 issametext sin(x)) or (\f issametext sin(x) and \reply1 issametext cos(x))}{attention : vous confondez «cosinus» et «sinus»... Souvenez-vous par exemple que sin(0)=0!} 16)\statement{donnez un nombre complexe \(z) sous forme algébrique tel que : br \( z 3) br \embed{r1}} \answer{}{\rep}{type=nocase} \real{a=pari(abs(\rep))} \condition{la réponse est-elle donnée sous forme algébrique?}{exp notin \rep} \condition{la réponse est-elle bonne?}{\a 3} Dessins / boucles et branchements. 17) Dessin : Tracer un triangle isocèle 18) Boucle «for» : Choisir un entier n entre 2 et 10 et construire n carrés accolés. 19) Test «if» et boucle «for» : Calculer les n premiers termes de la suite de Syracuse définie par : : un entier positif choisi au hasard {u0 si u n est pair, u n 1 = u n 2 si u n est impair, u n 1 =3 u n 1 17) Par exemple : 1 \draw{ 200, 200 }{ 2 xrange -2,2 3 yrange 0,2 4 fill 1,1,white 5 linewidth 2 6 polygon black,-1,0.5,1,0.5,0, linewidth 1 8 segment -0.4,0.9,-0.6,1.1,black page 9 sur 9 9 segment 0.4,0.9,0.6,1.1,black} 18) Par exemple : 1 \integer{ n=randint(2..10)} 2 \text{ dessin=xrange -1,11 3 yrange -1,11 4 segment 0,0,0,1,black} 5 \for{i=1 to \n}{ 6 \text{dessin=\dessin 7 polygon black,\i-1,0,\i,0,\i,1,\i-1,1} 8 } 19) Par exemple : 1 \integer{ n=randint(2..10)} 2 \integer{ u_n=randint(1..100)} 3 \text{ suite=\(u_0)=\u_n br } 4 ### La variable «suite» contiendra la lsite des premiers termes de la suite. Le « br » signifie un passage à la ligne en html. Le «\(u_0)» permet de faire afficher correctement par Wims «u indice 0». 5 \for{i=1 to \n}{ 6 \real{test1=\u_n/2} 7 \real{test2=floor(\test1)} ### «floor», c'est la partie entière. Si x/2 est égal à sa partie entière, c'est que x est un nombre pair... 8 \integer{u_n= \test1=\test2? \u_n/2 : 3*\u_n+1 } 9 \text{suite=\suite \(u_\i)=\u_n br } 10 } 11 \statement{ center 12 \suite 13 /center } Remarque : Pour trouver la syntaxe des fonctions élémentaires comme «partie entière», «racine carrée», «valeur absolue», etc., ce n'est pas très facile! Il faut aller dans la documentation «aides de Wims», partie I.5. (Guide général de l'utilisateur / comment entrer une expression mathématique? Il y a aussi un lien depuis l'aide de CREATEXO : «les formats de l'énoncé / très facilement / cette page». Programmation Exemples de slib : Voir la documentation technique (lien : «tech doc» en bas de la page d'accueil des serveurs Wims, quand on n'est pas à l'intérieur d'une classe virtuelle.) Exercices à étapes : Voir le document «DocAide Exercices OEF». D'autres types de réponse plus élaborés : Voir l'aide de CREATEXO.
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x