Page 1 of 1

[Résolu] Programme de dichotomie

Unread postPosted: 04 Dec 2017, 19:19
by xhypnosia
Bonsoir, j'essaie d'écrire un programme de dichotomie, mais ce dernier ne fonctionne pas (il tourne pendant des heures et des heures et ne m'affiche rien en retour). Sauriez-vous me dire pourquoi ?
Ci joint le programme :
Code: Select all
Input "SAISIR A= ",A
Input "SAISIR B= ",B
(A+B)2→C
Input "SAISIR EPS= ",E
While (B-A)>E
If Y₁(A)*Y₁(B)<0
Then
B→C
Else
If Y₁(A)*Y₁(B)>0
Then
A→C
Else
Disp "C=",C
Goto ZZ
End
End
End
Disp "A=",A
Disp "B=",B
Lbl ZZ


Image
(Le erreur vient du fait que j'ai moi même arrêté le programme, sans quoi, il tournerait des heures)

Re: Programme de dichotomie

Unread postPosted: 04 Dec 2017, 19:40
by critor
Coucou.

Je ne vois aucune affectation de A ou B dans ton programme. Donc si (B-A)>E au départ, et bien cela reste toujours vrai et on ne sort jamais de la boucle.

N'aurais-tu pas simplement inversé les affectations ?
B→C au lieu de C→B
A→C au lieu de C→A

Re: Programme de dichotomie

Unread postPosted: 04 Dec 2017, 19:53
by xhypnosia
Après test avec les changements que tu me suggères, le programme se lance et me donne un résultat.
La précision n'est pas respectée cependant, et je ne suis pas même sûr que ce soit sûr que ce soit le bon résultat :

Image

Image

Re: Programme de dichotomie

Unread postPosted: 04 Dec 2017, 19:57
by xhypnosia
La fonction utilisée pour les premiers tests était X^5+X^3-1
Je viens de tester avec une fonction particulièrement simple : 2X-1, et le programme me ressort bien C=1/2.
Image
Une idée pour le soucis de précision (voir ci-dessus)?

Re: Programme de dichotomie

Unread postPosted: 04 Dec 2017, 20:26
by critor
Autre petite erreur en rapport avec la précision.
L'instruction d'affectation de la variable C (A+B)/2→C a été mise avant la boucle.
Elle n'est donc exécutée qu'une seule et unique fois, la valeur ne la variable C ne change plus jamais.

Re: Programme de dichotomie

Unread postPosted: 04 Dec 2017, 20:33
by xhypnosia
C'est parfait tout fonctionne, merci !

Re: [RESOLU] Programme de dichotomie

Unread postPosted: 04 Dec 2017, 20:48
by critor
De rien. :)
N'hésite pas à revenir en cas de besoin.