Bonjour, j'ai besoin d'aide pour mon DM sur un algorithme:
Voici l'énoncé:
a<-- 1
b<-- 2
Tant que b-a >0,01
x<-- (a+b)/2
Si x2<x+1
a<--x
Sinon
b<--x
Afficher x
Les questions :
1.a) Quelle est la condition pour que l'algorithme s'arrête?
J'ai mis : écrire "Else" et "End" en dessous de "Afficher x".
b) Quel est le rôle de cet algorithme ?
J'ai mis : Trouver la valeur de x
c) Traduire cet algorithme en langage "calculatrice". Quelle est alors la valeur de x obtenue?
2. Calculer la valeur exacte de la solution positive de l'équation x2=x+1.
Voilà, j'aimerai savoir si ce que j'ai mis est juste a avoir de l'aide pour les autres questions, merci d'avance
Pour la 1.a) j'ai voulu dire que pour que l'algorithme s'arrête il faut mettre "end" à la fin mais j 'ai peut être mal compris la question
Et pour la b) Il sort la valeur de x pour x=(a+b)/2
?
Pour l'instant l'algorithme est écrit en langage naturel donc la question n'est pas de mettre un "end" ou pas pour terminer le Tant que
la condition pour que l'algorithme s'arrête c'est que l'on sorte de la boucle Tant Que et donc que la condition
b-a >0,01 ne soit plus respectée. Et donc on sort quand l'intervalle [a;b] devient plus petit que 0.01.
Pour le première réponse, c'est à dire que l'algorithme s'arrête quand a-b<ou=0,01 ?
Et pour la 1.b) Puisque a<--1 et b<--1;
La valeur de x sera:
x = (a+b)/2
= (1+1)/2
= 1 ?
non déjà b=2 au début et puis là tu ne calcules que les a et b lors du premier passage dans la boucle tant Que, et celle-ci va être parcourue beaucoup de fois avant que a-b < 0,01
non il faut réfléchir à ce que fait l'algorithme. Il procède par dichotomie successives, il teste la valeur de x²-x-1 pour la valeur (a+b)/2, si c'est négatif il change a en (a+b)/2 et sinon il change b en (a+b)/2. Autrement dit il garde les deux bornes telles que la fonction continue à changer de signe entre ces deux bornes et il en profite pour rétrécir l'intervalle de moitié. Et il fait ça tant que l'intervalle est plus grand que 0.01.
Et donc à la fin on va se retrouver avec un intervalle qui contient la valeur qui annule la fonction x²-x+1 et cela avec une précision de 1/100.
Donc à la question " Quel est le rôle de cet algorithme ?" il fallait répondre :
Il calcule la valeur de la solution de l'équation x²-x+1 = 0 comprise entre 1 et 2 avec une précision de 1/100.
Ensuite pour le traduire dans un langage de "calculatrice" :
1-->A
2-->B
While B-A>0,01 :
(A+B)/2=x
If x2<x-1:
x=A
Else:
x=B
Disp x
??
le but etant de "rétrécir" l'intervalle de depart [a,b] jusqu'au point d'intersection recherché avec une precision de 1/100 on peut bien sur changer cette precision à volonté
ou plutôt:
(le début est le même jusqu'à) :
(A+B)/2-->x
If x2<x+1 :
x-->A
Else :
x-->B
Disp "x= ", x
Et pour la dernière question qui est "calculer la valeur exacte de la solution positive de l'équation x2=x+1";
je dois mettre ce programme sur ma calculatrice et ensuite donner la valeur ?
re... le sens de ta fleche est peut etre pas bonne , je ne sais pas quel language tu utilise mais si " a devient x " ou b devient x il serait mieux de l'ecrire sous cette forme :
Tand que B-A >0.01
x= (A+B)/2
If x²<x+1 then
A=x (car c'est A qui prend la valeur x et pas l'inverse )
Else :
B=x
end if
' fin du tand que
la valeur de x est forcement le point d'intersection de y = x²-x-1 avec l'axe des "X" , Glapion l'a dit à 15:57
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :