dragmazik le 27/02/2013 à 20:46
Salut Mon Forum Préféré!
Je requiert votre aide précieuse pour m'aider a programmer un petit programme:
Image manquante
j'ai fais quelque essai... mais je ne peux plus me passer de vous
alors mon test le plus mieux

a mon gout:
:Input "X1",A
:Input "X2",B
:Input "SR",C
:A-B -> X
:If X [inférieur ou égale à] 2.8C

A+B)/2 -> D
:Disp D
:If X [supérieur ou égale à] 2.8C
:Input "X3"
: ....
Et la je seche
Help?

linkakro le 27/02/2013 à 22:05
Tu oublies la valeur absolue.
Tu devrais utiliser Else ou stocker le booléen du test pour l'utiliser deux fois plutôt que réécrire deux tests complémentaires.
L'algorigramme énoncé est mauvais : il utilise des nombres dont l'origine n'est pas déclarée.
Les instructions min et max du menu math permettent de déterminer xmin et xmax sans chercher plus loin.
Min et max reçoivent obligatoirement soit deux nombres soit une liste soit deux listes.
Code
Input "Sr",S
Input "X1",A
Input "X2",B
If abs(A-B)<=2.8S
Then
Disp (A+B)/2
Else
Input "X3",C
max({A,B,C->M // on pouvait ne rien stocker mais j'en ai besoin à la fin
min({A,B,C->N
If M-N<=3.3S
Then
Disp (A+B+C)/3
Else
Disp A+B+C-M-N
End
End
Les deux End finaux peuvent être enlevés car ils sont à la fin et qu'ils ferment des Else. Cela manque de rigueur toutefois.
On aurait pu stocker {A,B,C} dans Ans/Rép mais j'ai préféré stocker les maxi et mini pour effectuer un calul pour déterminer le médian.
dragmazik le 28/02/2013 à 19:13
Salut!
Merci Linkakro!
Mais aujourd'hui alors que j'étais en bio

(j'avais fini ma tache

) j'y ai rapidement réfléchis et j'ai trouver:
Code
:Input "X1:",A
:Input "X2:",B
:Input "Sr:",C
:A-B->X
:if X [inférieur ou égale à]2.8C:Goto Z1
:If X [supérieur ou égale à]2.8C:Goto Z2
:Lbl Z1
:(A+B)/2->D
:Disp "RESULTAT:",D
:Pause
:EffEcr
:Lbl Z2
:Input "X3:",E
:If A>B et A>E
:A->U
:If B>A et B>E
:B->U
:If E>A et E>B
:E->U
:If A<B et A<E
:A->V
:If B<A et B<E
:B->V
:If E<A et E<B
:E->V
:U-V->W
:If W [Inférieur ou égale à]3.3C:Goto Z3
:If W [Supérieur ou égale à]3.3C:Goto Z4
:Lbl Z3
:(A+B+E)/3->G
:Disp "RESULTAT:",G
:Pause
:EffEcr
:Lbl Z4
:(U+V)/2->Y
:Disp "RESULTAT:",Y
:Pause
:EffEcr
ça me semble aussi correct un peu + long certes et vu que je ne métrise pas les max min else etc...
Merci encore de ton aide Linkakro
