Page 1 of 2

Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:27
by Cudilov
Voila j'ai une ptit question:
Je fais un programme qui est censé me générer des étapes de calcul.
Dans mon programme, j'ai inséré à un moment ceci:
Disp a," + ",b pour afficher a+b sans que l'addition ne soit faite.
Mon programme fonction, sauf que dans le cas où b est négatif, j’obtiens ce résultat à l'écran: "a+-b".
Comment faire pour que dans ce cas, mon programme m'affiche plutôt "a-b" ?

Ps: Je pourrais en effet utiliser une condition de ce type: Si b<0, alors fait : Afficher a," - ",b, sinon fait: Afficher a," + ",b
Le problème est que je dois appliquer ce raisonnement à quasiment toutes les lignes de mon programme, ce qui me fait un programme pratiquement deux fois plus long, et également deux fois plus lent. N'y aurait-il pas un moyen plus simple de s'y prendre?

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:33
by nikitouzz
Il y a un moyen plus simple (noté que je ne suis pas sur que ca marche.....)

Disp a,sub((n<0)+1,1,"+ "),b

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:36
by NspireCas
Il n'y a pas sub sur nspire, qu'est-ce que ça fait ?

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:37
by nikitouzz
Oops je pensais que tu bossais sur une 83+/84+ ^^ pardon attend je cherche une autre solutions

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:37
by TheIchiGo78
en tout cas n'utilise pas
If b<0
Then Disp a,"-",b
ca afficherai a--b, ce qui fait a+b, attention :warning:

Plutot
If b>=0
Then
Disp a,"+",b (ca afficherai a+b)
Else
Disp a,b ( ca afficherai a-b)

c'est ce que je ferai mais apres c pas sur que ce soit la meilleure solution... :D

mais avec ca plus le programme est long plus il va rammer :troll:

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:39
by Cudilov
Oui tu as raison ichi, précipitation de ma part... ;)
Oui nikitouz, je suis sur ti nspire cx cas, j'ai oublié de préciser ça.

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:48
by Persalteas
Essaye comme ceci:

Code: Select all
b>0
Disp a,left(" +",1+Ans)),b


EDIT: Non oublie, ça marche pas. Il faudrait pouvoir limiter l'affichage à un caractère...

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:49
by nikitouzz
Probleme resolus : (nikitouzz pour l'idée de code, nspirecas pour la syntaxe et persalteas pour le code final :p ) : Disp a,left(" +",1+Ans)),b

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:51
by NspireCas
En fait, y a un problème :(

ça affiche:

Utilisation de Ans non prise en charge.

Cette application n’assure pas la prise en
charge de Ans.

Re: Plus ou moins telle est la question...

Unread postPosted: 15 Oct 2013, 21:54
by Persalteas
Et ça ? :p

Code: Select all
V:=b>0
Disp a,left(" +",1+V)),b