Positionnement menu exercice suivant/précédent

Accueil Forums Programmation WIMS Programmation d’exercices OEF Positionnement menu exercice suivant/précédent

Vous lisez 3 fils de discussion
  • Auteur
    Messages
    • #6857
      Up
      0
      Down
      ::

      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=pKdi

      Dans 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 Ramage

      Voici 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 2 années et 11 mois par Avatar photoOlivier. Raison : mise en forme du code

      Marie-joelle Ramage
      Université Paris-Saclay

    • #6858
      bernadette
      Maître des clés
      Up
      0
      Down
      ::

      Tu as certainement oublié de fermer une balise. Mais on ne peut pas avoir si tu mets ton code dans une page html … mets le au moins en « code ».

      Tu n’as pas quelque chose comme

      table class= »wimscenter »
      tr
      div class= »wimscenter » ?

      J’ai enlevé les débuts et fin de tags.

      Bernadette

    • #6862
      Avatar photoOlivier
      Maître des clés
      Up
      0
      Down
      ::

      Bonjour Marie-Joelle,
      Pour mettre en forme du code sur le forum, je te conseille de l’entourer avec le caractère « ` » (un avant, un apres le code.)

      Olivier Bado-Faustin / Université Côte d’Azur

    • #6863
      Up
      0
      Down
      ::

      Bonjour à tous,
      C’était bien un problème de balises. Problème résolu. Merci Bernadette !

      Marie-joelle Ramage
      Université Paris-Saclay

Vous lisez 3 fils de discussion
  • Vous devez être connecté pour répondre à ce sujet.