Zoofast.fr offre une plateforme conviviale pour trouver et partager des connaissances. Obtenez des réponses détaillées et bien informées de la part de nos experts prêts à vous aider avec toutes vos questions.

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.​

Sagot :

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.