Bonjour,
J'ai de nombreux soucis avec mon exercice de maths suivant:
A) Représenter à l'écran de la calculatrice les fonctions x x²-1 et x-x sur [ 0 ; +infini[.
b) On considère une valeur approchée à 0.1 près de la solution de l'équation x²-1 = √x . (J'ai trouvé S=1,5)
On considère l'algorithme suivant:
Initialisations:
a prend la valeur 1
b prend la valeur 2
Traitement
Tant que b-a>0,01
m prend la valeur (a+b)/2
Si m²-1<√m alors
a prend la valeur m
sinon
b prend la valeur m
Fin si
Fin Tant que
Sorties
Afficher a et b.
1) Quelles sont les variables ? (J'ai dit que les variables étaient a,b et m)
2) Quand sort-on de la boucle "tant que"? (J'ai que l'on sortait de la boucle "tant que" lorsque (b-a)<0,01
3) Faire fonctionner pas à pas, à la main l'algorithme: effectuer 4 itéractions.
On copiera et complétera le tableau ci-dessous.
Itéraction | a | b | b-a | m | m²+1 | √m | m²-1<√m
1 | 1 | 2 | 1 | 1,5 | 3,25 |1,22 | 1,25>1,22
2 | 1 | 3 | 2 | 2 | 5 | 1,41 | 3>1,41
3 | 0,01| 0,03 | 0,02 | 0,02 | 1,0004 | 0,14 | -0,9<0,14
4
(Ce que j'ai mis en gras c'est ce que j'ai rempli de moi même; je n'ai pas écrit la 4 itéraction volontairement)
4)Quel est le rôle de cet alorithme? (Je n'ai pas répondu mais je pense que son rôle est de trouver un encadrement de x pour lequel les deux courbes se croisent)
5)Ecrire le programme associé dans un langage de programmation (algobox) . Quel est l'encadrement obtenu?
(Cette question me pose un enorme problème.. L'algorithme que j'ai fait sur algobox me met : "
***Algorithme interrompu ligne 19 : dépassement de la capacité autorisée pour les boucles***"
le voici:
1 VARIABLES
2 a EST_DU_TYPE NOMBRE
3 b EST_DU_TYPE NOMBRE
4 m EST_DU_TYPE NOMBRE
5 DEBUT_ALGORITHME
6 a PREND_LA_VALEUR 1
7 b PREND_LA_VALEUR 2
8 TANT_QUE ((b-a)<0,01) FAIRE
9 DEBUT_TANT_QUE
10 m PREND_LA_VALEUR (a+b)/2
11 SI (pow(m,2)<sqrt(m)) ALORS
12 DEBUT_SI
13 a PREND_LA_VALEUR m
14 FIN_SI
15 SINON
16 DEBUT_SINON
17 b PREND_LA_VALEUR m
18 FIN_SINON
19 FIN_TANT_QUE
20 AFFICHER a
21 AFFICHER b
22 FIN_ALGORITHME )
J'espère que vous pourrez m'aider.
Merci d'avance
Leeroy.
D'accord, merci pour la question 2).
3)Je ne sais pas pourquoi, je pensais qu'il fallait choisir des chiffres au hasard.
Non, il ne faut pas que m^2-1<√m
La phrase me semble claire : "Si m²-1<√m alors a prend la valeur m sinon b prend la valeur m"
La question n'est pas de savoir si tu penses qu'il peut l'être.
La question est de savoir s'il l'est ou pas.
A la fin de la première itération, tu as calculé m²-1 et Vm
Tu vois donc que m²-1<√m est FAUX
Cela te permet d'en déduire les valeurs de a et b pour l'itération 2.
Je ne comprends pas..
J'ai choisi a=1 et b=3
J'obtient à la fin de l'algorithme a=1 et b=1,5.
Pourquoi changé mes valeurs du début en valeurs que j'obtient en résultat?
Au début de la première itération, on choisit a=1 et b=2.
Ensuite, on ne choisit plus rien.
Toutes les valeurs sont imposées par l'algorithme.
Au début de la seconde itération, puisque m²-1<√m calculé à la fin de la première itération est FAUX, l'algorithme prend b=m=1,5, et a est inchangé.
J'ai marqué les résultats pas les valeurs du début.
En réalité a=1,12 c'est pour le résultat de l'itération 3!
4) Le rôle de l'algorithme c'est bien trouvé un encadrement le plus précis possible de x pour lequel f(x) = g(x)?
Itération | a | b | b-a | m | m^2-1 | √m | m^2-1<√m |
1 | 1 | 2 | 1 | 1,5 | 1,25 | 1,22 | Faux |
2 | 1 | 1,5 | 0,5 | 1,25 | 0,56 | 1,12 | Vrai |
3 | 1,12 | 1,5 | 0,38 | 1,31 | 0,72 | 1,14 | vrai |
4 | 1,31 | 1,5 | 0,19 | 1,4 | 0,96 | 1,18 | Vrai[quote] |
Itération | a | b | b-a | m | m^2-1 | √m | m^2-1<√m |
1 | 1 | 2 | 1 | 1,5 | 1,25 | 1,22 | Faux |
2 | 1 | 1,5 | 0,5 | 1,25 | 0,56 | 1,12 | Vrai |
3 | 1,25 | 1,5 | 0,25 | 1,375 | 0,89 | 1,17 | Vrai |
4 | 1,375 | 1,5 | 0,125 | 1,4375 | 1,07 | 1,20 | Vrai |
3) OK
4) Ce que tu as écrit au-dessus me semble correct.
L'algorithme procède par dichotomie : à chaque itération, la longueur de l'intervalle contenant la solution est divisée par 2.
L'algorithme est conçu pour que, à chaque étape, f(a) =< g(a) et f(b) >= g(b), ce qui "garantit" que la solution de l'équation f(x) = g(x) est dans [a;b], intervalle dont la longueur est divisée par 2 à chaque étape.
J'ai changé, je viens de mettre (b-a)>0,01
Je viens de rajouter -1.
Mais, j'ai toujour le même problème ligne 19..
Ce qui me surprend, c'est qu'avec b-a < 0,01, le programme n'aurait pas dû entrer dans la boucle "tant que", et encore moins provoquer une erreur...
boujour je n'arrive pas a faire cet algorithme sur algobox et j'ai le meme enonce avec une question en plus . La question est celle ci : modifier l'algorithme pour que l'utilisateur puisse connaitre le nombre d'iterations necessaires pour arriver aux valeurs a et b . Je n'arrive vraiment pas a repondre a cette question , un peu d'aide?
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :