Algorithme ti83

Résolu
Bonsoir,
j'aimerai savoir pourquoi mon algorithme ne fonctionne pas?

Sachant que V(x)= -x^3+4x² sur [0,4]

INITIALISATION: Affecter 8/3 à a ; Affecter 4 à b
TRAITEMENT: Tant que b-a>10^-6 Faire
Si f(a)f((a+b)/2)>0 Alors
Affecter (a+b)/2 à a
Sinon Affecter (a+b)/2 à b
Fin Si
Fin Tantque
SORTIE: Afficher a,b

Et j'ai fait:
a sto (8/3)
b sto 4
While b-a>10^-6
If f(a)f((a+b)/2)>0
a sto (a+b)/2
Else
b sto (a+b)/2
End
Disp a
Disp b

Merci d'avance

3 réponses

  1. bonsoir

    1. quelques erreurs de syntaxe avec sto
    2. Il manque un End
    3. Mettre la fonction f en Y1
    4. f(a) sera alors donné par Y1(A) où Y1 est obtenu avec le menu
    VARS/YVars/Function
    5. utiliser le test du While avec la valeur absolue

    (8/3) sto A
    4 sto B
    While abs(B-A)>10^-6
    If Y1(A)*Y1((A+B)/2)>0
    (A+B)/2 sto A
    Else
    (A+B)/2 sto B
    End
    End
    Disp A
    Disp B

    bon courage
    1. désole il manque un then après le test if ... >0
      1. Je te remercie de ta réponse rapide.

        J'ai fait tout ce que tu m'as dit,
        par contre il m'affiche toujours erreur...
        Et apparemment c'est à cause du : Else
    2. ce programme fonctionne sur ma TI83

      (8/3) sto A
      4 sto B
      While abs(B-A)>0.001
      If Y1(A)*Y1((A+B)/2)>0
      Then
      (A+B)/2 sto A
      Else
      (A+B)/2 sto B
      End
      End
      Disp A
      Disp B

      1. as tu bien défini et utilisé Y1 comme indiqué plus haut
      2. as tu bien ajouté le Then manquant
      3. lorsque le programme plante, avec Goto tu as accès à la ligne où se situe (en principe) l'erreur
      4. as tu pris la fonction abs dans MATH/NUM
      5.3 dans le test j'ai mis 0.001 à la place de E10-6 pour accélerer l'exécution

      bonne suite
      1. C'est bon tout fonctionne,
        j'avais juste oublié d'ajouter le Then

        Je te remercie