Boucle avec \sc_reply

Vous lisez 5 fils de discussion
  • Auteur
    Messages
    • #7177
      Jérôme BAILLEUL
      Participant
      Up
      0
      Down
      ::

      Bonjour à tous,

      j’ai conçu un exercice dont le nombre de réponses demandées dépend de données qui peuvent varier.

      J’arrive bien à gérer le nombre de réponses avec \steps() mais je voudrais gérer un feedback avec des conditions dans lesquels je vérifie les réponses avec \sc_reply ou \reply qui dépend donc du nombre de réponses (dépendant des données).

      Lorsque je crée une boucle avec le nombre de réponses pour gérer le nombre de \sc_reply à prendre en compte cela ne fonctionne pas, notamment à cause des connecteurs « or » et « and » dans la condition…

      Quelqu’un pourrait-il m’aider?

    • #7178
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Bonjour,
      Pour répondre à ta question, peux tu envoyer le code sur le forum entouré des balises sans les antislash ?

      
      <\code> <\/code>
      
      • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par Julien.
    • #7180
      Jérôme BAILLEUL
      Participant
      Up
      0
      Down
      ::

      Voici ci-dessous le code de l’exercice. Voilà ce que j’ai essayé dans le feedback (j’ai aussi essayé de définir les connecteur « or » comme du text mais cela ne fonctionne pas. J’aimerais pouvoir changer la matrice de données  sans changer le programme.

      Bien sûr le feedback doit être amélioré…

      Enfin je m’excuse par avance pour toutes les parties qui ne seraient pas conventionnelles.

      Merci d’avance

      \title{Préfixes et puissances de 10}
      \precision{100000000}

      \matrix{donnees =
      giga      ,G    ,1E9    ,Un milliard de fois plus grand ,9
      méga      ,M    ,1E6    ,Un million de fois plus grand, 6
      kilo      ,k    ,1E3   ,Mille fois plus grand  ,3
      déci      ,d    ,1E-1    ,Dix fois plus petit  ,-1
      centi     ,c    ,1E-2    ,Cent fois plus petit  ,-2
      milli     ,m    ,1E-3    ,Mille fois plus petit  ,-3
      micro     ,mu   ,1E-6    ,Un million de fois plus petit  ,-6
      nano      ,n    ,1E-9    ,Un milliard de fois plus petit , -9
      }

      \integer{nbligne= rows(\donnees)}
      \integer{nbtotrep = \nbligne * 2}

      \matrix{don=shuffle(\nbligne)}
      \matrix{donnees=\donnees[\don;]}

      \text{tableau=}

      \for{k=1 to \nbligne}{
      \for{n=1 to 3}{
      \integer{l= 2* \k - (2- \n) -1}
      \matrix{tableau =\tableau \l, }
      }
      \matrix{tableau = \tableau ;}
      }

      \real{bad_rep2=\donnees[1;3]*10}
      \for{k1=2 to \nbligne}{
      \real{bad_rep=\donnees[\k1;3]*10}
      \text{bad_rep2=\bad_rep2,\bad_rep}
      }

      \text{ETAPE=wims(makelist r x for x=1 to \nbtotrep)}

      \steps{\ETAPE}

      \statement{

      <p>Compléter le tableau ci dessous par le symbole des préfixes et la puissance de 10 correspondante.
      (Il est important d'essayer de remplir ce tableau avec sa mémoire) </p>

      <p class="oef_indbad">(Pour le symbole \mu on écrira "mu" )
      </p>
      <p>Pensez à lire le Feedback une fois l'exercice validé.</p>

      <span class="titre">AVERTISSEMENTS</span>

      • Pour entrer un nombre comportant des puissances de 10, on peut utiliser les touches *10^ mais
        en informatique, on peut aussi utiliser la lettre E (ou e) comme sur la calculatrice (Attention jamais dans un devoir écrit).
        Cette lettre signifie \(\times 10^{puissance})

      <table BORDER= 1 CELLSPADDING=30>
      <tr><th>Préfixe   </th><th>Symbole  </th><th>   Puissance de 10 </th>

      \for{i=1 to \nbligne}{
      <tr>
      <td> \donnees[\i;1] </td>
      \for{j=2 to 3}{
      <td> \embed {reply \tableau[\i;\j],10 }</td>
      }
      </tr>
      }
      </table>

      }

      \answer{}{\donnees[1;2]}{type = case}
      \answer{}{\donnees[1;3]}{type = numeric}

      \answer{}{\donnees[2;2]}{type = case}
      \answer{}{\donnees[2;3]}{type = numeric}

      \answer{}{\donnees[3;2]}{type = case}
      \answer{}{\donnees[3;3]}{type = numeric}

      \answer{}{\donnees[4;2]}{type = case}
      \answer{}{\donnees[4;3]}{type = numeric}

      \answer{}{\donnees[5;2]}{type = case}
      \answer{}{\donnees[5;3]}{type = numeric}

      \answer{}{\donnees[6;2]}{type = case}
      \answer{}{\donnees[6;3]}{type = numeric}

      \answer{}{\donnees[7;2]}{type = case}
      \answer{}{\donnees[7;3]}{type = numeric}

      \answer{}{\donnees[8;2]}{type = case}
      \answer{}{\donnees[8;3]}{type = numeric}

      \text{val_rep= \sc_reply1, \sc_reply2, \sc_reply3, \sc_reply4, \sc_reply5, \sc_reply6, \sc_reply7, \sc_reply8, \sc_reply9, \sc_reply10, \sc_reply11, \sc_reply12, \sc_reply13, \sc_reply14, \sc_reply15, \sc_reply16, \sc_reply17, \sc_reply18, \sc_reply19, \sc_reply20 }

      \feedback{1=1}{

      }

    • #7181
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Bonjour,

      Le coeur de la solution est là :

      
      \text{val_rep=item(1..\nbtotrep,\val_rep)}
      \text{val_rep=wims(replace internal , by + in \val_rep)}
      \rational{val_rep_num=\val_rep}
      

      J’ai pris le temps de nettoyer un peu les tableaux :

      
      \title{Préfixes et puissances de 10}
      \precision{100000000}
      
      \matrix{donnees =
      giga      ,G    ,1E9    ,Un milliard de fois plus grand ,9
      méga      ,M    ,1E6    ,Un million de fois plus grand, 6
      kilo      ,k    ,1E3   ,Mille fois plus grand  ,3
      déci      ,d    ,1E-1    ,Dix fois plus petit  ,-1
      centi     ,c    ,1E-2    ,Cent fois plus petit  ,-2
      milli     ,m    ,1E-3    ,Mille fois plus petit  ,-3
      micro     ,mu   ,1E-6    ,Un million de fois plus petit  ,-6
      nano      ,n    ,1E-9    ,Un milliard de fois plus petit , -9
      }
      
      \integer{nbligne= rows(\donnees)}
      \integer{nbtotrep = \nbligne * 2}
      
      \matrix{don=shuffle(\nbligne)}
      \matrix{donnees=\donnees[\don;]}
      
      \text{tableau=}
      
      \for{k=1 to \nbligne}{
      \for{n=1 to 3}{
      \integer{l= 2* \k - (2- \n) -1}
      \matrix{tableau =\tableau \l, }
      }
      \matrix{tableau = \tableau ;}
      }
      
      \real{bad_rep2=\donnees[1;3]*10}
      \for{k1=2 to \nbligne}{
      \real{bad_rep=\donnees[\k1;3]*10}
      \text{bad_rep2=\bad_rep2,\bad_rep}
      }
      
      \text{ETAPE=wims(makelist r x for x=1 to \nbtotrep)}
      
      \steps{\ETAPE}
      
      \text{val_rep=}
      \rational{val_rep_num=}
      
      \statement{<p>Compléter le tableau ci dessous par le symbole des préfixes et la puissance de 10 correspondante.
      (Il est important d'essayer de remplir ce tableau avec sa mémoire) </p>
      
      <p class="oef_indbad">(Pour le symbole \(\mu\) on écrira "mu" )</p>
      <p>Pensez à lire le Feedback une fois l'exercice validé.</p>
      <span class="titre">AVERTISSEMENTS</span>
      
          Pour entrer un nombre comportant des puissances de 10, on peut utiliser les touches *10^ mais
          en informatique, on peut aussi utiliser la lettre E (ou e) comme sur la calculatrice (Attention jamais dans un devoir écrit).
          Cette lettre signifie \(\times 10^{puissance}\)
      
      <table class="wimscenter wimsborder">
      <tr><th>Préfixe   </th><th>Symbole  </th><th>   Puissance de 10 </th>
      
      \for{i=1 to \nbligne}{
      <tr>
      <td> \donnees[\i;1] </td>
      \for{j=2 to 3}{
      <td> \embed {reply \tableau[\i;\j],10 }</td>
      }
      </tr>
      }
      </table>
      
      }
      
      \answer{}{\donnees[1;2]}{type = case}
      \answer{}{\donnees[1;3]}{type = numeric}
      
      \answer{}{\donnees[2;2]}{type = case}
      \answer{}{\donnees[2;3]}{type = numeric}
      
      \answer{}{\donnees[3;2]}{type = case}
      \answer{}{\donnees[3;3]}{type = numeric}
      
      \answer{}{\donnees[4;2]}{type = case}
      \answer{}{\donnees[4;3]}{type = numeric}
      
      \answer{}{\donnees[5;2]}{type = case}
      \answer{}{\donnees[5;3]}{type = numeric}
      
      \answer{}{\donnees[6;2]}{type = case}
      \answer{}{\donnees[6;3]}{type = numeric}
      
      \answer{}{\donnees[7;2]}{type = case}
      \answer{}{\donnees[7;3]}{type = numeric}
      
      \answer{}{\donnees[8;2]}{type = case}
      \answer{}{\donnees[8;3]}{type = numeric}
      
      \text{val_rep= \sc_reply1, \sc_reply2, \sc_reply3, \sc_reply4, \sc_reply5, \sc_reply6, \sc_reply7, \sc_reply8, \sc_reply9, \sc_reply10, \sc_reply11, \sc_reply12, \sc_reply13, \sc_reply14, \sc_reply15, \sc_reply16, \sc_reply17, \sc_reply18, \sc_reply19, \sc_reply20 }
      
      \text{val_rep=item(1..\nbtotrep,\val_rep)}
      \text{val_rep=wims(replace internal , by + in \val_rep)}
      \rational{val_rep_num=\val_rep}
      
      \solution{
      <p class="larger wimscenter bold">FEEDBACK</p>
      
      \if{\val_rep_num<>\nbtotrep}{
      <p>Vous avez au moins une erreur !</p>
      
      }{
      <p>BRAVO !</p>
      
      }
      
      <p>Voici La meilleure des réponses :</p>
      
      <table class="wimscenter wimsborder">
      <tr><th>Préfixe</th><th>Symbole</th><th> Puissance de 10</th><th>Commentaires</th>
      
      \for{i=1 to \nbligne}{
      <tr>
      <td> \donnees[\i;1]</td>
      <td> \(\donnees[\i;2])</td>
      <td> \donnees[\i;3]</td>
      <td> \donnees[\i;4]</td>
      </tr>
      }
      </table>}
      
      

      Bonne soirée !

      • Cette réponse a été modifiée le il y a 1 mois et 2 semaines par Julien.
    • #7183
      Julien
      Modérateur
      Up
      0
      Down
      ::

      Sinon tu as le code suivant qui doit aussi fonctionner :


      \text{val_rep=wims(replace internal , by + in \val_rep)}
      \rational{val_rep_num=\val_rep+0}

    • #7185
      Jérôme BAILLEUL
      Participant
      Up
      0
      Down
      ::

      Merci beaucoup pour la réponse

      Cela semble en fait très simple, je n’y avais tout simplement pas pensé. Désolé pour le dérangement.

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