Bonsoir, j'ai un exercice qui fait partie d'un devoir maison sur l'algorithmie, j'ai tout bien fait mon DM et en arrivant à cet exercice, je bloque. Je ne comprends pas cet algorithme.
Voici l'exercice:
Soir f une fonction définie sur un intervalle [a;b]. On suppose que l'équation f(x)=0 admet une unique solution.
On considère l'algorithme suivant:
Entrées
Saisir
a, b: bornes de l'intervalle
f: fonction étudiée
N: entier naturel non nul.
Traitement
Pour k de 1 jusqu'à N
m prend la valeur a+b/2
Si f(m) et f(a) sont de même signe alors
a prend la valeur m
sinon
b prend la valeur m
FinDi
FinPour
Sorties
Afficher a, b
Appliquer cet algorithme à la fonction f(x)= x3+2x-2 définie sur [0;1] et compléter le tableau ci-dessous.
k | 1 | 2 | 3 | 4 | |
m | 0.5 | ||||
a | 0 | 0.5 | |||
b | 1 | 1 |
Bonsoir, ben si on connait a et b, l'énoncé dit que
Si f(m) et f(a) sont de même signe alors
a prend la valeur m
sinon
b prend la valeur m
FinSi
Donc on sait à tout moment ce que vaut a et b.
Il faut comprendre que cet algorithme fait une dichotomie successive en réduisant à chaque fois l'intervalle par 2 et en gardant les deux bornes qui font changer de signe la fonction. On devine que c'est pour encadrer de plus en plus près le zéro de la fonction.
Bonjour, on connait a et b seulement pour les deux premières colonne. Pour les colonnes 2,3,4 on ne connait pas a, b et m.
Pour la colonne 2 j'ai réussi à trouver m, c'est 0.75 .
Sinon, on ne peut pas calculer f(m) si on ne connait pas m pour les autres colonne.
Si j'ai bien compris Glapion , pour toutes les lignes a et b seront a= 0.5 et b=1 ?
Mais les résultats seront toujours les même .
Voici le tableau compléter, avec mes calculs.
k | 1 | 2 | 3 | 4 | |
m | 0.5 | 0.75 | 0.875 | 0.93 | |
a | 0 | 0.5 | 0.75 | 0.875 | 0.93 |
b | 1 | 1 | 1 | 1 | 1 |
c'est faux
f(0,5) et f(0) sont de mêmes signes (<0)
donc a prend la valeur m et b ne bouge pas
dans la colonne 1 on aura m=0,5 = (0+1)/2 a=0 b=1
donc colonne 2 a=0,5 et b =1 m= 0,75
f(0,75) et f(1) sont encore de même signes donc
colonne 3 : k=3 m=0,875 a=0,75 b=1
k=4 f(0,875) devient >0
donc b =0,875 et a reste constant : 0,75
c'est dans l'intervalle [0,75;0,875] que f admet une ordonnée =0
Oulala, je ne comprends pas la. Il faut prendre quel colonne pour la colonne 2, 3 et 4 ?
L'algorithmie c'est dur
Fedjer, je voudrais apporter une précision, dans mon sujet la colonne 1 est déja donner. C'est pas moi qui ait mis les réponses.
Et pourquoi ne pas saisir l'algorithme et le faire tourner ? je propose que ça soit Algobox qui tranche
Voilà l'algorithme :
Et quand on le fait tourner sur la fonction x3+2x-2 avec a=0 et b=1, ça affiche :
Comme quoi fedjer avait tout à fait raison.
Cela veut dire que mon prof c'est tromper dans l'énoncer, il a rempli la première colonne et fedjer ma corriger la première colonne.
Je dois faire quoi ?
quelle première colonne ? celle où k=1 ? ça donne bien m=0 ; a=0.5 et b=1 elle est juste ta première colonne.
Ahhh je viens de comprendre. La prochaine fois que j'ai un exercice sur un algorithme, je le ferais tourner sur un logiciel, c'est vraiment plus facile ...
Je tiens à vous remercier de vos aides importantes. Merci.
je fais un blocage sur les algorithmes mais il va falloir que je m'y colle
Glapion : pas mal l'idée des produits >0 pour les images f(m) et f(a) de même signe
je n'y aurais pas pensé!
Il me semble qu'il y a une erreur pour la colonne 3 car quand je fais la fonction avec m et a de la 2eme colonne, ils sont de même signe. Or, le logiciel dit qu'ils sont de signes différent.
je ne suis pas d'accord avec le tableau et l'algorithme de Glapion.
L'énoncé précise : "Pour k de 1 jusqu'à N
m prend la valeur a+b/2"
alors que dans votre tableau m ne prend pas cette valeur.
qu'en penses tu Glapion?
chez moi m1=0,75
ben si j'ai bien une ligne qui donne à m la valeur (a+b)/2. C'est l'absence de parenthèses qui te gène fedjer ?
la logique de cet algorithme veut que ça soit (a+b)/2 et pas a+b/2
J'ai vérifier tout est exact Fedjer, comme dit Glapion, il faut mettre les parenthèse .
Merci beaucoup à vous deux.
Félicitations Glapion pour le test de l'algorithme
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :