Bonjour,
J'ai un petit problème concernant un exercice :
Ennoncé
1) Voici un algorithme réalisé sous Algobox :
Variables
-BorneMin EST_DU_TYPE NOMBRE
-BorneMax EST_DU_TYPE NOMBRE
-m EST_DU_TYPE NOMBRE
-Erreur EST DU TYPE NOMBRE
DEBUT_ALGORITHME
-AFFICHER "Définir la fonction f1 dans "fonction numérique""
-AFFICHER "Entrer les bornes de l'intervalle"
-LIRE BorneMin
-LIRE BorneMax
-AFFICHER "Quelle précision pour la solution ?"
-LIRE Erreur
TANT_QUE (BorneMax-BorneMin>=Erreur) FAIRE
-DEBUT_TANT_QUE
-m PREND_LA_VALEUR (BorneMin+BorneMax)/2
SI (F1(BorneMin)*F1(m)>0) ALORS
-DEBUT_SI
-BorneMin PREND_LA_VALEUR m
-Fin_Si
SINON
-DEBUT_SINON
-BorneMax PREND_LA_VALEUR m
-FIN_SINON
-AFFICHER BorneMin
-AFFICHER BorneMax
-AFFICHER " "
-FIN_TANT_QUE
FIN_ALGORITHME
Reproduire cet algorithme sur Algobox.
2) On suppose que, pour tout nombre réel x : F1(x) = x²-4x+3
Tracer sur votre calculatrice la représentation graphique de la fonction F1, puis éxecuter l'algorithme en prenant :
a) BorneMin = 0, BorneMax = 2 et Erreur = 0.00001
b) BorneMin = 2, BorneMax = 4 et Erreur = 0.00001
3) Que peut-on dire de la longueur de l'intervalle [BorneMin;BorneMax] à chaque nouvelle boucle ?
4) Expliquer l'utilité de cet algorithme. Que doivent vérifier la fonction F1 et les bornes "BorneMin" et "BorneMax" pour que l'algorithme s'arrête ?
5) Que permettrait d'obtenir cet algorithme avec la fonction F1 définie sur R par F1(x) = x²-2, BorneMin = 1, BorneMax = 2 et Erreur = 0.00000001.
Ce que j'ai fait
1) J'ai refait l'algorithme comme demandé sur Algobox (Voir en bas du message).
2) Ici, je rencontre un problème puisque dans mon algorithme, je n'ai pas la fonction F1. Je ne sais pas s'il faut insérer la fonction F1 dans l'algorithme. Il y'a écrit Afficher ''Définir la fonction F1 dans ''fonction numérique'', mais cette étape n'est qu'un message qui s'affiche dans mon algorithme et ne définit pas la fonction F1.
Je ne peux donc pas faire la suite.
J'espère que vous pourriez m'aider, je suis réellement bloqué.
Merci d'avoir consacré du temps à me lire.
Bonjour Yellow,
En bas de l'écran d'Algobox , clique sur " utiliser une fonction numérique " , coche " utiliser la fonction F1 " , complète F1 ( x ) =
Attention , pour avoir x exposant n , il faut écrire pow ( x , n ) .
Voir commandes possibles .
Pour x 2, on peut aussi écrire x * x .
Pour x 3, on peut aussi écrire x * x * x .
Cordialement.
Bonjour,
Je vous remercie de m'avoir répondu.
Effectivement, je n'avais pas vu la section ''utiliser une fonction numérique'', je vous en remercie.
Maintenant, lorsque j'exécute l'algorithme avec les paramètres BorneMin = 0, BorneMax = 2 et Erreur = 0.00001 , il ne s'arrête jamais et affiche 22 à l'infini.
Est-ce normal ?
Merci d'avance.
Bizarre ce que tu as obtenu !
Avec F1 ( x ) = x * x - 4 * x + 3 , borne inférieure = 0 , borne supérieure = 2 .
La solution est ici x = 1.
Voici ce que j'obtiens :
Etape 18
borne inférieure = 0,99999237
borne supérieure = 1
Je n'obtiens pas du tout la même chose que vous.
J'ai réécrit mon algorithme 5 fois pour être sûr, mais ça ne marche pas.
Pouvez-vous m'envoyer l'algorithme à mon e-mail si cela ne vous dérange pas s'il vous plaît ?
J'obtiens :
10.510.7510.87510.937510.9687510.98437510.992187510.9960937510.9980468810.9990234410.9995117210.9997558610.9998779310.9999389610.9999694810.9999847410.999992371
Bonjour,
Si tu cochais la case "Ajouter un retour à la ligne" pour tes affichages,
ce serait +clair pour toi, et tes correcteurs
Merci infiniment pour cette info, c'est beaucoup plus clair maintenant !
J'obtiens donc :
0
1
0.5
1
0.75
1
0.875
1
0.9375
1
0.96875
1
0.984375
1
0.9921875
1
0.99609375
1
0.99804688
1
0.99902344
1
0.99951172
1
0.99975586
1
0.99987793
1
0.99993896
1
0.99996948
1
0.99998474
1
0.99999237
1
***Algorithme terminé***
Je trouve donc bien la même chose que Lancaster.
3) On remarque donc que pour chaque nouvelle boucle, la longeur de l'intervalle [BorneMin;BorneMax] est divisé par 2
4) Par contre je ne trouve pas l'utilité de cet algorithme.
Merci d'avance.
On suppose que la fonction f est monotone sur un intervalle [ a , b ] et que la fonction f s'annule en une seule valeur z de [ a , b ] .
Cet algorithme permet d'encadrer z .
C'est très intéressant quand on ne connaît pas une résolution algébrique de l'équation f ( x ) = 0 .
Pour ton deuxième exemple la solution est 2 qui est un nombre irrationnel . L'algorithme va te fournir un encadrement " précis " de
2 .
Pouvez-vous réexpliquer l'utilité de l'algorithme, car je n'ai pas compris la totalité de votre réponse.
Je suis vraiment désolé.
Je considère f ( x ) = x 5 + x - 1 pour x appartenant à [ 0 , 1 ] .
f est strictement croissante sur [ 0 , 1 ] .
f ( 0 ) = - 1 , f ( 1 ) = 1 .
L'équation f ( x ) = 0 a une solution unique z dans [ 0 , 1 ] .
Résoudre cette équation par des calculs est " mission impossible " ( je crois ! )
En revanche , on peut grâce à ton algorithme approcher z de manière assez " précise " pour peu que l'erreur choisie soit " proche " de 0 .
Utilise ton algorithme par exemple avec BornMin = 0 , BornMax = 1 , erreur = 0,000001 . Il va te donner :
Etape = 20
BorneMin = 0.75487709
BorneMax = 0.75487804
On en déduit par exemple que 0.754877 < z < 0.754879 .
Ainsi on connaît les 5 premières décimales de z .
A d'accord, j'ai compris !
Je vous remercie infiniment pour avoir consacré du temps à me lire et à m'aider.
Je vous souhaite une excellente bonne soirée.
Je vous remercie encore une fois
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :