Bonjour, pouvez-vous m'aider à faire cette exercice svp On considère l'algorithme suivant: INITIALISATION : a prend la valeur 2 b prend la valeur 3 TRAITEMENT:
Informatique
sphoenix0301
Question
Bonjour, pouvez-vous m'aider à faire cette exercice svp
On considère l'algorithme suivant:
INITIALISATION :
a prend la valeur 2
b prend la valeur 3
TRAITEMENT:
Tant que b-a ≥ 10puissance-3 faire
m prend la valeur a+b/2
Si m(au carré) < 7 alors
a prend la valeur m
sinon
b prend la valeur m
FinSi
FinTanque
SORTIES:
Afficher a,b
1. Effectuer à la main 4 itérations en remplissant le tableau suivant:
a| | | | |
b| | | | |
m| | | | |
2. Quel est le rôle de cet algorithme ?
3. Rédiger le programme en langage Python.
On considère l'algorithme suivant:
INITIALISATION :
a prend la valeur 2
b prend la valeur 3
TRAITEMENT:
Tant que b-a ≥ 10puissance-3 faire
m prend la valeur a+b/2
Si m(au carré) < 7 alors
a prend la valeur m
sinon
b prend la valeur m
FinSi
FinTanque
SORTIES:
Afficher a,b
1. Effectuer à la main 4 itérations en remplissant le tableau suivant:
a| | | | |
b| | | | |
m| | | | |
2. Quel est le rôle de cet algorithme ?
3. Rédiger le programme en langage Python.
1 Réponse
-
1. Réponse Thomas756
Bonjour,
3)
a = 2
b = 3
while (b - a) >= 10**(-3):
m = (a + b) / 2
if m**2 < 7:
a = m
else:
b = m
print(a, b)
1)
a: 2 | 2,5 | 2,5 | 2,625 | 2,625 | 2,625 | 2,640625 | 2,640625 | 2,64453125 | 2,64453125 | 2,645507813
b: 3 | 3 | 2,75 | 2,75 | 2,6875 | 2,65625 | 2,65625 | 2,6484375 | 2,6484375 | 2,646484375 | 2,646484375
m: 2,5 | 2,75 | 2,625 | 2,6875 | 2,65625 | 2,640625 | 2,6484375 | 2,64453125 | 2,646484375 | 2,645507813
Résultat affiché:
a = 2,645507813 (environ, ça dépend des précisions de la calculatrice utilisée mais c'est les 4 premiers chiffres qui sont important)
b = 2,646484375
2)
Il s'agit d'un algorithme qui utilise la dichotomie pour calculer une valeur approchée à 10⁻³ près de √7.
Bonne journée.