Inscription / Connexion Nouveau Sujet
Niveau seconde
Partager :

Encadrer une solution en utilisant la méthode de dichotomie

Posté par
ElowDiva
10-12-09 à 18:34

Bonjour,
J'ai un DM à rendre demain, mais je ne comprend rien, c'est comme du chinois pour moi x)

ÉNONCE:

[i]Soit f la fonction définie sur [1;2] par f(x) = x3+3x-5.

1.a. Par lecture graphique, vérifier que l'équation f(x) = 0 admet une unique solution appartenant à l'intervalle [1;2] ; on appele cette solution.
b. Calculer f(1.5) ; que peut-on en déduire pour l'encadrement de ?
2.a. Programmer l'algorithme de dichotomie présenté en cours avec la calculatrice
b. utiliser ce programme pour donner un encadrement de d'amplitude inférieure à 0.01.
3. Que faut-il modifier dans l'algorithme du cours pour que le traitement s'effectue jusqu'à ce que l'amplitude de l'encadrement devienne inférieure à un nombre e donné?

Algorithme du cours :
[ Voir image] (Désolé si j'ai scanné du texte, mais je ne savais pas comment écrire l'algorithme comme il est fait sur cette image. C'est l'algorithme de mon cours)


Je vous remercie beaucoup d'avance!

ElowDiva

Encadrer une solution en utilisant la méthode de dichotomie

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 18:38

Bonjour,

Dans l'algorithme du cours, quand le traitement est-il arrêté ?

Posté par
ElowDiva
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 18:40

Bonjour,

Le traitement est arrêté à Fin Pour : )

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 18:44

C'est exact ; mais quelle est la condition prévue par le programme pour arriver à cette fin ?

Posté par
ElowDiva
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 18:48

Euh... la condition est

Si f(a) x f(m) = 0
  Alors b prends la valeur m
  Sinon a prends la valeur m
Fin si

Enfin il me semble......

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 18:56



Tout à l'heure tu as écrit, et c'était exact, que le traitement s'arrête à "Fin pour"

Justement, ce traitement... il est exécuté "pour...." et donc la condition de son arrêt et dans cette ligne "pour..."
Quelle est donc cette condition de l'arrêt du traitement ?

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 19:14

Voici l'algorithme de ton cours dans le langage d'Algobox

1   VARIABLES
2     a EST_DU_TYPE NOMBRE
3     b EST_DU_TYPE NOMBRE
4     m EST_DU_TYPE NOMBRE
5     N EST_DU_TYPE NOMBRE
6     i EST_DU_TYPE NOMBRE
7   DEBUT_ALGORITHME
8     LIRE a
9     LIRE b
10    LIRE N
11    POUR i ALLANT_DE 1 A N
12      DEBUT_POUR
13      m PREND_LA_VALEUR (a+b)/2
14      SI ((a*a*a+3*a-5)*(m*m*m+3*m-5)<0) ALORS
15        DEBUT_SI
16        b PREND_LA_VALEUR m
17        FIN_SI
18        SINON
19          DEBUT_SINON
20          a PREND_LA_VALEUR m
21          FIN_SINON
22      FIN_POUR
23    AFFICHER "a = "
24    AFFICHER a
25    AFFICHER "b = "
26    AFFICHER b
27  FIN_ALGORITHME

"Pour..." quelle condition le traitement est-il arrêté ?

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 19:23

Désolé, mais je dois quitter l' pour ce soir...
Dommage car cet algorithme est très intéressant et peut être tout à fait utile !

J'ai fait le nouvel algorithme, modifié comme le demande l'énoncé, et il marche très bien !

Posté par
ElowDiva
re : Encadrer une solution en utilisant la méthode de dichotomie 10-12-09 à 21:46

Merci beaucoup de m'avoir aidé! Par contre, je ne saurai pas répondre à votre question... J'ai beau creuser dans ma tête, mais je trouve pas de solutions... enfin, j'espère que notre professeur sera indulgente Ce serait bien d'avoir quelques jours de plus lol.

Encore merci et à bientôt!

ElowDiva

Posté par
Coll Moderateur
re : Encadrer une solution en utilisant la méthode de dichotomie 11-12-09 à 08:19

Alors je réponds moi-même...

Dans ce que tu as posté :
"Pour i variant de 1 à N"

Dans ce que j'ai posté (ligne 11)
"Pour i allant de 1 à N"

Cela signifie que le traitement est exécuté N fois
une première fois pour i = 1
une deuxième fois pour i = 2
...
une Nème fois pour i = N

et que pour i = N + 1 le traitement n'est pas exécuté mais que le programme saute à la ligne "Fin Pour"

Donc, la condition d'arrêt du traitement est que ce traitement ait été exécuté N fois.

L'énoncé te demande une autre condition d'arrêt.
On ne demande plus au programme d'exécuter un nombre de fois défini à l'avance mais on demande au programme de s'arrêter quand un encadrement suffisamment petit aura été obtenu. C'est une autre manière d'arrêter le programme qui permet d'obtenir un résultat de "précision" souhaitée sans avoir à deviner avant de lancer le programme en combien de traitements cet encadrement sera obtenu. C'est donc une vraie amélioration du programme.

La modification du programme peut se faire ainsi (le programme n'est pas totalement "sûr" ; le minimum serait de vérifier que les nombres a et b conviennent, c'est-à-dire encadrent bien une solution)

1   VARIABLES
2     a EST_DU_TYPE NOMBRE
3     b EST_DU_TYPE NOMBRE
4     m EST_DU_TYPE NOMBRE
5     e EST_DU_TYPE NOMBRE
6   DEBUT_ALGORITHME
7     LIRE a
8     LIRE b
9     LIRE e
10    TANT_QUE (b-a>e) FAIRE
11      DEBUT_TANT_QUE
12      m PREND_LA_VALEUR (a+b)/2
13      SI ((a*a*a+3*a-5)*(m*m*m+3*m-5)<0) ALORS
14        DEBUT_SI
15        b PREND_LA_VALEUR m
16        FIN_SI
17        SINON
18          DEBUT_SINON
19          a PREND_LA_VALEUR m
20          FIN_SINON
21      FIN_TANT_QUE
22    AFFICHER "a = "
23    AFFICHER a
24    AFFICHER "b = "
25    AFFICHER b
26  FIN_ALGORITHME

L'essentiel du changement est à la ligne 10
"Tant que b-a > e"
Cela signifie qu'aussi longtemps que la largeur de l'encadrement de la solution par a et b est supérieure à une petite valeur e décidée à l'avance, alors le traitement est continué (à chaque traitement la largeur de l'intervalle d'encadrement est divisé par deux). Quand la largeur de l'encadrement est inférieure ou égale à e alors ce traitement n'est plus continué et le programme passe à la ligne 21 "Fin Tant que" pour afficher les deux valeurs qui encadrent la solution



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !