Accueil › Forums › Programmation WIMS › Programmation d’exercices OEF › Positionnement menu exercice suivant/précédent
- Ce sujet contient 3 réponses, 3 participants et a été mis à jour pour la dernière fois par Marie-joëlle Ramage, le il y a 3 années.
-
AuteurMessages
-
-
21 décembre 2021 à 21:42 #6857Marie-joëlle RamageParticipant::
Bonjour,
J’ai adapté l’exercice :
https://wims.universite-paris-saclay.fr/wims/wims.cgi?module=devel/ramage/U1~chemistry~oefcomplex.fr&cmd=new&exo=pkdi2à partir de celui-ci :
https://wims.universite-paris-saclay.fr/wims/wims.cgi?module=devel/ramage/U1~chemistry~oefcomplex.fr&cmd=new&exo=pKdiDans l’exercice initial, le menu exercice suivant/précédent est placé correctement. Dans l’exercice modifié, le menu exercice suivant/précédent se superpose au titre et à l’énoncé de l’exercice.
Je n’arrive pas à trouver mon erreur.
Quelqu’un aurait-il une idée ?
Merci d’avance
MJ RamageVoici le source :
************************************************\title{Classer les couples donneur/accepteur V2} \author{Claire,Colonna} \email{marie-joelle.ramage@universite-paris-saclay.fr} \precision{100} \computeanswer{yes} \keywords{complexation, solutions} COORDINENCE MAX : 6 (à cause du tableau de présentation des domaines) **M,L,M sans charge,L sans charge,charge M,charge L,indice coord max n,log beta1,log beta2,log beta3,log beta4,log beta5,log beta6,L pour l'axe pL** 1-M forme ionique, 2-L forme ionique, 3-M, 4-L, 5-charge M, 6-charge L, 7-indice coord max n, 8-log beta1, 9-log beta2, 10-log beta3, 11-log beta4, 12-log beta5, 13-log beta6, 14-L pour l'axe pL** \text{datafile=couplesLatex} \matrix{BDD=wims(record 0 of \datafile)} \matrix{BDD=\BDD[2..-1;]} \integer{nbre_couples=rows(\BDD)} \integer{choix=randint(1..\nbre_couples)} \text{Mion=\BDD[\choix;1]} \text{Lion=\BDD[\choix;2]} \text{M=\BDD[\choix;3]} \text{L=\BDD[\choix;4]} \integer{n=\BDD[\choix;7]} \integer{chargeM=\BDD[\choix;5]} \integer{chargeL=\BDD[\choix;6]} \real{logbeta1=\BDD[\choix;8]} \real{logbeta2=\BDD[\choix;9]} \real{logbeta3=\BDD[\choix;10]} \real{logbeta4=\BDD[\choix;11]} \real{logbeta5=\BDD[\choix;12]} \real{logbeta6=\BDD[\choix;13]} \text{pL=\BDD[\choix;14]} \text{ppL=p\pL} complément d'énoncé pour en \if{\choix=5 or \choix=6} {\text{enplus=, l'éthylènediamine.}} {\text{enplus=.}} **Formule des complexes** \integer{charge_complexe=\chargeM+\chargeL} \if{\charge_complexe<-1} {\integer{charge_complexe=abs(\chargeM+\chargeL)} \text{complexes=\(\Mion\),\([\M(\L)]^{\charge_complexe -}\)}} \if{\charge_complexe=-1} {\text{complexes=\(\Mion\),\([\M(\L)]^-\)}} \if{\charge_complexe=0} {\text{complexes=\(\Mion\),\([\M(\L)]\)}} \if{\charge_complexe=1} {\text{complexes=\(\Mion\),\([\M(\L)]^+\)}} \if{\charge_complexe>1} {\text{complexes=\(\Mion\),\([\M(\L)]^{\charge_complexe +}\)}} \for{i=2 to \n} {\integer{charge_complexe=\chargeM+\i*\chargeL} \if{\charge_complexe>1} {\text{complexes=\complexes,\([\M(\L)_{\i}]^{\charge_complexe +}\)}} \if{\charge_complexe=1} {\text{complexes=\complexes,\([\M(\L)_{\i}]^+\)}} \if{\charge_complexe=0} {\text{complexes=\complexes,\([\M(\L)_{\i}]\)}} \if{\charge_complexe=-1} {\text{complexes=\complexes,\([\M(\L)_{\i}]^-\)}} \if{\charge_complexe<-1} {\integer{charge_complexe=abs(\charge_complexe)} \text{complexes=\complexes,\([\M(\L)_{\i}]^{\charge_complexe -}\)}} } ******Tableau de présentation du diagramme******* \integer{large=118} **largeur étiquette réponse des espèces** \integer{haut=40} **hauteur étiquette réponse des espèces** \integer{l_pKd=50} **largeur du champ de réponse pour pKdi** \integer{hdessin=2*(\haut+20)} \integer{ecart=\large+10} \integer{postexte=\large-1} *** Construction de l'axe *********************************** integer{l_axe=\large*(\n+1)+\l_pKd*\n} **longueur minimale de l'axe en pixel** \integer{l_axe=(\large+10)*(\n+1)} \integer{l_echelle=60} **largeur laissée à la fin de l'axe pour écrire pL** \integer{l_decal_pL=10} **largeur laissée entre la fin de l'axe et pL** \integer{l_image=rint((\l_axe+100)/100)*100}**longueur totale de l'axe en pixel** \integer{l_trait1=\large +5} **position 1er trait** \integer{l_trait=\large+10} **écart entre 2 traits** \text{dessin= xrange 0,\l_image yrange -\hdessin,\hdessin arrow 0,7,\l_axe,7,10,black line \l_trait1,-5,\l_trait1,20,10,black text black,\l_axe+\l_decal_pL,10,medium,\ppL text black,\postexte,-10,medium,pLa} \if{\n>1}{ \integer{ltrait2=\l_trait1+\l_trait} \integer{postexte2=\postexte+\l_trait} \integer{ecart2=\ecart*2} \text{dessin= \dessin line \ltrait2,-5,\ltrait2,20,10,black text black,\postexte2,-10,medium,pLb} } \if{\n>2}{ \integer{ltrait3=\ltrait2+\l_trait} \integer{postexte3=\postexte2+\l_trait} \integer{ecart3=\ecart*3} \text{dessin= \dessin line \ltrait3,-5,\ltrait3,20,10,black text black,\postexte3,-10,medium,pLc} } \if{\n>3}{ \integer{ltrait4=\ltrait3+\l_trait} \integer{postexte4=\postexte3+\l_trait} \integer{ecart4=\ecart*4} \text{dessin= \dessin line \ltrait4,-5,\ltrait4,20,10,black text black,\postexte4,-10,medium,pLd} } \if{\n>4}{ \integer{ltrait5=\ltrait4+\l_trait} \integer{postexte5=\postexte4+\l_trait} \integer{ecart5=\ecart*5} \text{dessin= \dessin line \ltrait5,-5,\ltrait5,20,10,black text black,\postexte5,-10,medium,pLe} } \if{\n>5}{ \integer{ltrait6=\ltrait5+\l_trait} \integer{postexte6=\postexte5+\l_trait} \integer{ecart6=\ecart*6} \text{dessin= \dessin line \ltrait6,-5,\ltrait6,20,10,black text black,\postexte6,-10,medium,pLf} } \text{url=draw(\l_image,\hdessin \dessin)} **Calcul des pKdi** \real{pKd1=\logbeta1} \real{pKd2=\logbeta2-\pKd1} \real{pKd3=\logbeta3-\pKd1-\pKd2} \real{pKd4=\logbeta4-\pKd1-\pKd2-\pKd3} \real{pKd5=\logbeta5-\pKd1-\pKd2-\pKd3-\pKd4} \real{pKd6=\logbeta6-\pKd1-\pKd2-\pKd3-\pKd4-\pKd5} **Nombre de réponses dans l'exo** \integer{nbre_rep_espece=\n+1} \integer{nbre_rep_pKd=\n+7} \text{etape_espece=wims(makelist r x for x=1 to \nbre_rep_espece)} \text{etape_pKd=wims(makelist r x for x=8 to \nbre_rep_pKd)} \text{etape=\etape_espece,\etape_pKd} \steps{\etape} \statement{ <div class="wims_question"> Le cation métallique \(\Mion\) peut se complexer en présence de \(\Lion\)\enplus Les constantes de complexation globales sont données ci-dessous : <table class="wimscenter wimsborder"> <tr>\for{a=1 to \n}{<td>\(\log \beta\)<sub>\a</sub></td>} </tr> <tr>\for{j=8 to \n+7}{<td>\BDD[\choix;\j]</td>}</tr> </table>Compléter le diagramme de prédominance ci-dessous en fonction de \(p L = p\pL\). Pour cela, dans l'ordre de votre choix, <ul><li>Utiliser les étiquettes pour placer les espèces prédominantes selon la valeur de (pL),</li> <li>Calculer les valeurs des frontières (pL) et les reporter dans les cases correspondantes.</li></ul> <div class="wims_instruction">On prendra le point (.) comme séparateur de décimales.</div> <table class="wimscenter"> <tr> <div class="wimscenter"> \if{\n=1}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10} Donnez la valeur frontière : \(pL_a)=\embed{reply 8,3} } \if{\n=2}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10 reply3,\ecart2 x 10} Donnez les valeurs frontières \(pL_a)=\embed{reply 8,3} ; \(pL_b)=\embed{reply 9,3} } \if{\n=3}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10 reply3,\ecart2 x 10 reply4,\ecart3 x 10} Donnez les valeurs frontières \(pL_a)=\embed{reply 8,3} ; \(pL_b)=\embed{reply 9,3} ; \(pL_c)=\embed{reply 10,3} } \if{\n=4}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10 reply3,\ecart2 x 10 reply4,\ecart3 x 10 reply5,\ecart4 x 10} Donnez les valeurs frontières \(pL_a)=\embed{reply 8,3} ; \(pL_b)=\embed{reply 9,3} \(pL_c)=\embed{reply 10,3} ; \(pL_d)=\embed{reply 11,3} } \if{\n=5}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10 reply3,\ecart2 x 10 reply4,\ecart3 x 10 reply5,\ecart4 x 10 reply6,\ecart5 x 10} Donnez les valeurs frontières \(pL_a)=\embed{reply 8,3} ; \(pL_b)=\embed{reply 9,3} ; \(pL_c)=\embed{reply 10,3} \(pL_d)=\embed{reply 11,3} ; \(pL_e)=\embed{reply 12,3} } \if{\n=6}{ \special{imagefill \url, \l_image x \hdessin, 100x\haut reply1,0x10 reply2,\ecart x 10 reply3,\ecart2 x 10 reply4,\ecart3 x 10 reply5,\ecart4 x 10 reply6,\ecart5 x 10 reply7,\ecart6 x 10} Donnez les valeurs frontières \(pL_a)=\embed{reply 8,3} ; \(pL_b)=\embed{reply 9,3} ; \(pL_c)=\embed{reply 10,3} \(pL_d)=\embed{reply 11,3} ; \(pL_e)=\embed{reply 12,3} ; \(pL_f)=\embed{reply 13,3} }</div> </div> } \answer{}{\complexes[\n+1];\complexes}{type=clickfill} \answer{}{\complexes[\n];\complexes}{type=clickfill} \answer{}{\complexes[\n-1];\complexes}{type=clickfill} \answer{}{\complexes[\n-2];\complexes}{type=clickfill} \answer{}{\complexes[\n-3];\complexes}{type=clickfill} \answer{}{\complexes[\n-4];\complexes}{type=clickfill} \answer{}{\complexes[\n-5];\complexes}{type=clickfill} \answer{}{\pKd1}{type=numeric} \answer{}{\pKd2}{type=numeric} \answer{}{\pKd3}{type=numeric} \answer{}{\pKd4}{type=numeric} \answer{}{\pKd5}{type=numeric} \answer{}{\pKd6}{type=numeric} \solution{ <h3>Attribution des domaines</h3> L'axe est gradué en \(p\L = - \log[\Lion]\). Donc la concentration en ligand est minimale sur la droite de l'axe. C'est donc là qu'il y aura l'espèce avec "le moins de ligand", à savoir le cation métallique "nu" \(\Mion\). Plus on se déplace vers la gauche de l'axe, plus on augmente la concentration en \(\Lion\), plus les complexes ont un indice de coordination élevé. <h3>Valeurs des frontières</h3> On rappelle que la constante de dissociation <em>successive</em> associée à la réaction \(ML_i = ML_{i-1} + L\) est \(K_{d,i}=\frac{[ML_{i-1}]\times [L]}{[ML_i]\times C^\circ}\). On a \(pL = pK_{d,i}+ \log\frac{[ML_{i-1}]}{[ML_i]}\) On en déduit \(pL = pK_{d,i}\) à la frontière du diagramme de prédominance dans le cas \([ML_i] = [ML_{i-1}]\). Ici, il faut donc calculer les \(pK_{d,i}) partir des \({\beta_i}\) donnés dans l'énoncé : la réaction de formation globale étant la somme des réactions de dissociation successives "à l'envers", on a : \(\displaystyle{ \beta_i = \prod_{j=1}^{i}\frac{1}{K_{d,j}}}\) et donc \(\log \beta_i = \sum_{j=1}^{i}(pK_{d,j})\).<br/> On en déduit \if{\n=1}{la valeur suivante}{les valeurs suivantes} <br/> \(pK_{d,1} = \log \beta_1 = \pKd1\) \if{\n>=2}{\(pK_{d,2} = \log \beta_2 - pK_{d,1}\)\( = \logbeta2 - \pKd1 = \pKd2\)} \if{\n>=3}{\(pK_{d,3} = \log \beta_3 - pK_{d,1} - pK_{d,2}\)\( = \logbeta3 - \pKd1 - \pKd2 = \pKd3\)} \if{\n>=4}{\(pK_{d,4} = \log \beta_4 - pK_{d,1} - pK_{d,2} - pK_{d,3}\)\( = \logbeta4 - \pKd1 - \pKd2 - \pKd3 = \pKd4\)} \if{\n>=5}{\(pK_{d,5} = \log \beta_5 - pK_{d,1} - pK_{d,2} - pK_{d,3} - pK_{d,4}\) \(= \logbeta5 - \pKd1 - \pKd2 - \pKd3 - \pKd4 = \pKd5\)} \if{\n=6}{\(pK_{d,6} = \log \beta_6 - pK_{d,1} - pK_{d,2} - pK_{d,3} - pK_{d,4} - pK_{d,5}\) \(= \logbeta6 - \pKd1 - \pKd2 - \pKd3 - \pKd4 - \pKd5 = \pKd6\)} } datafile ************************************************************** M forme ionique,L forme ionique,M,L,charge M,charge L,indice coord max n,log beta1,log beta2,log beta3,log beta4,log beta5,log beta6,L pour l'axe pL** Co^{3+},NH_3,Co,NH_3,3,0,6,7.2,14.0,19.8,25.3,30.5,34.8,NH_3 Al^{3+},F^-,Al,F,3,-1,6,7.1,12.0,15.8,18.5,20.2,20.7,F Cu^{2+},NH_3,Cu,NH_3,2,0,4,4.1,7.6,10.5,12.6,,,NH_3 Ni^{2+},NH_3,Ni,NH_3,2,0,6,2.6,4.8,6.4,7.5,8.1,8.2,NH_3 Fe^{3+},SCN^-,Fe,SCN,3,-1,3,3.0,4.3,4.6,,,,SCN Co^{2+},en,Co,en,2,0,3,5.8,10.7,13.9,,,,en Cu^{2+},en,Cu,en,2,0,2,10.6,19.7,,,,,en Cd^{2+},C_2O_4^{2-},Cd,C_2O_4,2,-2,2,2.8,4.6,,,,,C_2O_4 Fe^{2+},en,Fe,en,2,0,3,4.3,7.6,9.6,,,,en Fe^{2+},SO_4^{2-},Fe,SO_4,2,-2,1,2.3,,,,,,SO_4 Fe^{3+},SO_4^{2-},Fe,SO_4,3,-2,2,4.2,7.4,,,,,SO_4 Fe^{3+},F^-,Fe,F,3,-1,4,5.5,9.7,13.7,16.1,,,F
- Ce sujet a été modifié il y a 3 années par Olivier. Raison : mise en forme du code
Marie-joelle Ramage
Université Paris-Saclay -
21 décembre 2021 à 22:02 #6858bernadetteMaître des clés
-
22 décembre 2021 à 08:45 #6862
-
22 décembre 2021 à 15:57 #6863Marie-joëlle RamageParticipant
-
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.