Logiciel Xcas

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Edlihtamajav
Messages: 5
Enregistré le: 05 Nov 2016, 14:52

Logiciel Xcas

par Edlihtamajav » 05 Nov 2016, 15:01

Bonjour à tous,

Je tiens à présenter mon problème de façon claire :
A l'aide du logiciel Xcas, j'ai écrit un programme de second degré mais je dois faire en sorte que mes signes soient correctement écris.
Par exemple lors d'une formule et d'un nombre négatif il y a marqué "x--2", et bien je dois programmer mon logiciel pour que mes deux - se transforment en +. Un autre exemple "x+-6" mon +- doit alors être un -.
J'ai déjà fait plusieurs tentatives avec des "si" et également des valeurs absolues mais rien ne fonctionnent.

J'espère que mon message a bien été compris, et vous remercie d'avance pour votre engagement à me répondre de façon positive.



Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 15:05

salut

il faut travailler avec des chaines de caractères et des variables alpha numériques ... éventuellement ...

sinon l'exposé de ton pb est incomplet et imprécis !!!

je suppose que tu fais afficher une réponse : quelle est-elle ?

est-ce un truc du style :

afficher "x - "; A

où A est une variable contenant une valeur numérique ...

si c'est le cas alors oublie le début de mon msg car un petit test sur le signe de A résout immédiatement le pb ....

mais est-ce le pb ?
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Edlihtamajav
Messages: 5
Enregistré le: 05 Nov 2016, 14:52

Re: Logiciel Xcas

par Edlihtamajav » 05 Nov 2016, 15:07

delta:=b^2-4*a*c;
alpha:=-b/(2*a);
beta:=delta/(4*a);
afficher ("La forme développée du trinôme est");
si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;
si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;
si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;
si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;

Avez-vous assez d'informations maintenant ?

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 15:16

ben oui tu as un texte fixe "x -" et c'est là que ça ne va pas

admettons qu'on veuille afficher "x -" + c où c est une variable

alors si c = 2 on veut afficher x - 2
et si c = -2 on veut afficher x + 2

il est donc facile de créer une routine qui fait afficher "x -" ou "x +" suivant que c est positif ou négatif ...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Edlihtamajav
Messages: 5
Enregistré le: 05 Nov 2016, 14:52

Re: Logiciel Xcas

par Edlihtamajav » 05 Nov 2016, 15:19

Je ne comprend pas vraiment ce que j'ai à changer puisque ces modifications ont déjà été faites et non pas eu de résultat. Les deux signes restent je ne vois pas en quoi x - ou x + va en enlever un

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 15:37

1/ sans espace ton texte est illisible (le programme)

2/ ce que tu fais écrire comme formule après "la forme canonique" n'est pas la forme canonique

3/ donc comment puis-je te faire confiance à ta dernière réponse ...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Edlihtamajav
Messages: 5
Enregistré le: 05 Nov 2016, 14:52

Re: Logiciel Xcas

par Edlihtamajav » 05 Nov 2016, 18:36

delta:=b^2-4*a*c;
alpha:=-b/(2*a);
beta:=delta/(4*a);

afficher ("La forme développée du trinôme est");

si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;

si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;


Ce que j'affiche est la forme développée, la forme que je cite ensuite est pour la suite de mon programme donc ni faites pas attention, si vous préférez :

afficher ("La forme développée du trinôme est");

si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
fsi;

si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
ifsi;

si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
fsi;

si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
fsi;

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 19:21

il n'y a aucune forme canonique dans
afficher ("La forme développée du trinôme est");

si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;

si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;


n'est pas la forme canonique


et je ne comprends pas pourquoi faire afficher 'la forme canonique est" juste avant le fin si et après l'expression à afficher ...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Logiciel Xcas

par Ben314 » 05 Nov 2016, 19:35

Salut,
Perso, ce que je comprend pas, c'est ce qui déconne dans ton programme :
Edlihtamajav a écrit:delta:=b^2-4*a*c;
alpha:=-b/(2*a);
beta:=delta/(4*a);

afficher ("La forme développée du trinôme est");

si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;

si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;
Dans ce morceau là, c'est dans quel cas qu'il affiche un truc qui ne te va pas ? (et il affiche quoi ?)
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Edlihtamajav
Messages: 5
Enregistré le: 05 Nov 2016, 14:52

Re: Logiciel Xcas

par Edlihtamajav » 05 Nov 2016, 19:38

Merci de vos réponses,
donc la phrase avec la forme canonique comme je l'ai dit on l'oublie c'est pour ma suite.

Le résultat qu'il m'affiche pour la forme développée est *

La forme développée du trinôme est
1x^2+-6x+11

pour a = 1 b = -6 et c = 11

Je souhaite que mon programme ne me mette non pas "+-6" mais "-6" dans ce cas précis qui est un exemple

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 19:40

je te le fais pour la forme développée ... à toi de traduire ... et de le faire pour la forme canonique ...

les _ désignent des espaces

Code: Tout sélectionner
Read a, b, c
d = b^2 - 4ac
u = -b/(2a)
v = d/(4a)

Write ("la forme développée du trinôme est :" + a + "x^2_")
If b <> 0
    If b > 0 Write ("+_" + b)
    If b < 0 Write ("-_" + -b)
    Write ("x_")
If c <> 0
    If c > 0 Write ("+_" + c)
    If c < 0 Write ("-_" + -c)

Write ("la forme canonique du trinôme est : " + a + "(x_" )
...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Logiciel Xcas

par fatal_error » 05 Nov 2016, 19:43

hello,

petite parenthèse au passage.
au lieu de faire 4 if...
tu peux:
- faire une fonction toString(x), qui retourne '+'+x si x positif, '-'+abs(x) si x est négatif.
note: compte tenu que '-'+x donne '--'... cela signifie que la conversion de x en string donne '-'... donc tu pourrais directement écrire
toString(x)-> (x>0? '+':'')+x

- alternative si tu n'as pas les fonction:
Code: Tout sélectionner
if b > 0
  bSign = '+'
else
  bSign = '';
if c > 0
  cSign = '+'
else
  cSign = '';
afficher(...+bSign+b+'x'+cSign+c)

à la syntaxe prêt...
la vie est une fête :)

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 19:46

ha ouiais c'est encore plus mieux mieux meilleurrement efficace que moi ... :mrgreen:
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Logiciel Xcas

par Ben314 » 05 Nov 2016, 19:58

Il n'empêche que, bien qu'il soit tout sauf optimal, je ne comprend pas pourquoi le bout de code de Edlihtamajav que j'ai recopié dans le précédent post. ne fonctionne pas...

Il doit assez clairement y avoir un problème de syntaxe quelque part, mais où ?
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

Re: Logiciel Xcas

par Ben314 » 05 Nov 2016, 20:01

Et pour remettre les choses "à plat", que ça:
Edlihtamajav a écrit:delta:=b^2-4*a*c;
alpha:=-b/(2*a);
beta:=delta/(4*a);

afficher ("La forme développée du trinôme est");

si b<0 et c>0 alors
afficher (+a+"x^2-"+abs(b)+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;

si b<0 et c<0 alors
afficher (+a+"x^2-"+abs(b)+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c<0 alors
afficher (+a+"x^2+"+b+"x-"+abs(c));
afficher ("La forme canonique du trinôme est");fsi;

si b>0 et c>0 alors
afficher (+a+"x^2+"+b+"x+"+c);
afficher ("La forme canonique du trinôme est");fsi;
ça donne ça :
Edlihtamajav a écrit:La forme développée du trinôme est
1x^2+-6x+11

pour a = 1 b = -6 et c = 11
ben je comprend pas.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Avatar de l’utilisateur
zygomatique
Habitué(e)
Messages: 6928
Enregistré le: 20 Mar 2014, 12:31

Re: Logiciel Xcas

par zygomatique » 05 Nov 2016, 21:02

je suis bien d'accord avec toi ...
Ce qui est affirmé sans preuve peut être nié sans preuve. EUCLIDE

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

Re: Logiciel Xcas

par fatal_error » 05 Nov 2016, 21:49

en testant ici http://www.xcasenligne.fr/giac_online/demoGiacPhp.php
il n'y a pas de problème d'affichage.

Apparemment, le programme ne supporte pas les simple quotes, mais on s'en sort ainsi:
Code: Tout sélectionner
str(a):={
  si a < 0 alors
    retourne ""+a;
  fsi;
  retourne "+"+a;
};
show():= {
  a := 1;
  b := -6;
  c := 11;
  afficher(a+"x^2"+str(b)+"x"+str(c));
}
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 37 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite