deux questions sur un exercice avec des racines carrées

Accueil Forums Programmation WIMS Programmation d’exercices OEF deux questions sur un exercice avec des racines carrées

Vous lisez 3 fils de discussion
  • Auteur
    Messages
    • #1112
      Avatar photoChantal Causse
      Maître des clés
      Up
      0
      Down
      ::

      Bonjour

      je bute sur deux questions bêtes à propos d'un exercice qui semblait simple à programmer…

      J'ai une fonction (polynôme pour l'instant) et je veux faire calculer l'image par cette fonction de nombres de la forme sqrt(n). Je voudrais que la « bonne réponse » donnée à l'élève par WIMS en cas d'erreur le soit toujours sous la forme a+b*sqrt(n) (ou b*sqrt(n) + a) et que wims n'accepte comme bonne réponse en gros que celles-là (en tous cas pas celles du genre a*sqrt(n)^2+b*sqrt(n) +c (non simplifiées) , ni les valeurs approchées obtenues par la calculatrice).

      Pour le calcul de la valeur de la fonction, j'ai pris evalue(f,x=…) puis maxima(expand(… pour faire simplifier la réponse

      Ceci marche le plus souvent pour obtenir la « bonne réponse » sous la forme voulue, mais quand on tombe sur 1+2*sqrt(2) par exemple, la bonne réponse est donnée sous la forme 1+2^(3/2), qui ne convient pas à ce niveau.

      Le type de réponse formal « marche » mais accepte bien évidemment les réponses non simplifiées.

      Le type litexp est évidemment trop strict. Reste le type algexp qui refuse certaines choses en demandant de les réécrire, mais pas les expressions avec sqrt(n)^2

      Quelqu'un a-t-il des idées ?

      Chantal

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

      Bonjour,

      Le code n'est pas très élégant mais il doit répondre à ton problème.

      A++

       

      text{a=1+3^(3/2)}
      if{^ isin a }{
      text{bbb=wims(replace internal + by , in a)}
      text{bbbb=wims(replace internal ^ by , in bbb)}
      text{bb=wims(replace internal ^(3/2) by *sqrt(bbbb[2]) in a)}
      }

    • #1114
      Avatar photoChantal Causse
      Maître des clés
      Up
      0
      Down
      ::

      oui, j'avais bien pensé à ce genre de bricolage, mais j'avais eu la flemme de regarder de plus près, car il faudrait tenir compte de pas mal de cas différents selon qu'on a un entier ou pas en plus de la racine, de l'ordre dans lequel ils apparaissent, que l'opération est + ou – entre les deux, et j'avais aussi obtenu une fois un exposant 5/2….

      Plus simplement, y aurait-il une fonction WIMS qui donnerait directement les coordonnées a et b de n'importe quel élément a+b*sqrt(n) de Q[sqrt(n)] ?

      Cela permettrait de résoudre mes deux questions ne mettant deux champs de réponses au lieu d'un et on pourrait étendre facilement l'exercice à des fonctions homographiques par exemple.

      à+

      Chantal

    • #1115
      jm.evers
      Participant
      Up
      0
      Down
      ::

      Bonjour

      I'm not sure if I understand your problem, but if you want maxima to leave a sqrt « intact » youcan use: sqrtdispflag:true;

      (in modtool/phtm)

      tot=!exec maxima sqrtdispflag:true;

      $question_formula

      answer=!line 2 of $tot

       

      kind  regards,

      joke evers

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