signes dans des sommes algébriques

Accueil Forums Programmation WIMS Programmation d’exercices OEF signes dans des sommes algébriques

Étiqueté : 

Vous lisez 11 fils de discussion
  • Auteur
    Messages
    • #1576
      Fabien Sommier
      Participant
      Up
      0
      Down
      ::

      Bonjour,
      Dans un corrigé d’exercice OEF, je dois remplacer a, x, et b par certaines valeurs pour détailler le calcul de y= \a\times \x + \b.
      Mais si j’écris ça comme ça et que b est négatif, vous voyez le problème…
      L’équation imposée dans l’énoncé est donnée comme ça : \text{expression=maxima(expand(\a*x + \b);)}
      Donc on peut avoir par exemple « 2x-5 », tout comme « -3x+2 ».
      Comment faire pour reprendre cela en remplaçant x par une certaine valeur lors d’un corrigé ou d’un feedback ?
      S’il s’agit d’une commande pari ou maxima (je ne connais pas la spécificité de chacun), j’en profite pour demander : existe-t-il un petit aide-mémoire des petites commandes utiles pour ce genre choses ?
      MERCI !
      Fabien.

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

      Il y a une commande dans OEF evalue( ) (voir dans la doc createxo la page Liste des fonctions et variables).
      Bernadette

      A propos, il vaut mieux écrire dans les calculs donnés aux logiciels
      \a*x + (\b)
      justement si l’on ne sais pas si \b est positif ou non.

      • Cette réponse a été modifiée le il y a 10 années et 10 mois par bernadette.
    • #1579
      Fabien Sommier
      Participant
      Up
      0
      Down
      ::

      J’aurais voulu (si c’est possible) que WIMS affiche « 2x-3 » si a=2 et b=-3, et non « 2x+(-3) » comme le donne la commande evalue. Dans le même genre, que WIMS affiche « x-3 » si a=1 et b=-3.
      Y a-t-il une commande qui fasse cela ?

    • #1580
      Fabien Sommier
      Participant
      Up
      0
      Down
      ::

      Je m’en suis sorti comme ci-dessous, en créant le texte « calcul » qui renvoie ax+b, avec les conventions usuelles d’écriture :

      \text{plusb=\b>0?+\b:\b}
      \if{\a==1}{\text{calcul=\x\plusb}}
      {\text{calcul=\x>=0?\a\times\x\plusb:\a\times (\x)\plusb}}

      Si quelqu’un a mieux, je suis bien évidemment preneur…

    • #1581
      kelh
      Participant
      Up
      0
      Down
      ::

      Si j’ai bien compris ton problème, tu peux essayer :

      \integer{a=randint(-5..5)}
      \integer{b=randint(-5..5)}
      \function{f=\a*x+\b}
      \statement{
      \f
      }
    • #1582
      Fabien Sommier
      Participant
      Up
      0
      Down
      ::

      Désolé, mon problème est juste un problème d’affichage.
      Je voulais éviter les affichages comme « 2x+-3 » si b vaut -3 dans « ax+b ». Et je voulais éviter aussi les parenthèses systématiques.
      J’ai donné le plus haut la commande que j’ai finalement utilisée, je me demandais en fait s’il existait une commande qui faisait automatiquement cela. Merci !

    • #1583
      bernadette
      Maître des clés
      Up
      0
      Down
      ::
      \text{a=texmath(2*x+-3)}
      \statement{\( \a \)}

      Bernadette

      • Cette réponse a été modifiée le il y a 10 années et 10 mois par bernadette.
      • Cette réponse a été modifiée le il y a 10 années et 10 mois par bernadette.
    • #1586
      kelh
      Participant
      Up
      0
      Down
      ::

      c’est pas top mais ça marche…

      \if{\x<0}{\text{x=(\x)}}
      \function{c=\a &times; \x+\b}
      \statement{\c}
    • #1587
      Fabien Sommier
      Participant
      Up
      0
      Down
      ::

      Merci pour toutes vos réponses. Je les ai testées et j’ai essayé de les adapter mais l’une (avec texmath) simplifie trop (écrit 2\times 3 à la place de -2\timees(-3)) et l’autre (avec function) fait le coup du +-3 si b vaut -3. Finalement le problème n’était pas aussi simple que je pensais… Je vais pour l’instant garder ma solution qui fait tout ce que je veux, même si ça me paraît un peu compliqué dans le code (c’est la solution du post #1580). Elle marche alors je vais plutôt me concentrer sur des choses plus délicates.
      Merci encore !
      Fabien.

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

      Bonjour
      une autre piste qui n’est pas meilleure que ta solution, car elle ne donne pas toujours ce qu’on veut, mais qui demande moins de travail si on a d’autres types de fonctions.

      \integer{x=randint(-5..5)}
      \text{xx = \x < 0 ? (\x) : \x}
      \function{f=random(\a*x+\b, \a*x^2+\b*x+\c, (\a*x+\b)/(\c*x+\d))}
      \function{f=pari(\f)}
      \text{fx = wims(replace internal x by \xx in \f)}
      \statement{\(f(x) = \f) et \(f(\x) = \fx)}

      ce serait à retravailler, mais ça peut donner des idées….

      Chantal

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

      Je redis, ne pas oublier avant d’envoyer à pari de mettre des parenthèses (elles seront supprimées mais évite les erreurs dûs à un +-.

      \function{f=random(\a*x+(\b), \a*x^2+(\b)*x+(\c), (\a*x+(\b))/(\c*x+(\d)))}

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

      c’est vrai !!!!! je me suis pourtant fait avoir plusieurs fois avec ce truc là, mais je n’ai toujours pas le bon réflexe en tapant les formules.
      Il faut vraiment s’en méfier, car ça donne parfois (je ne sais plus quand) des résultats faux… et comme ce n’est pas très souvent, ça peut passer inaperçu un certain temps

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