Page 5 sur 5
Etape 4 - Script avec boucle non bornée
Présentation de la boucle non bornée while
Voir le mémo partie V Boucle while (While se traduira par Tant que xxx)
L'idée est ici de calculer en boucle tant que l'écart entre xmin et xmax est supérieur à une valeur nommée "precision"
Script avec boucle non bornée
Dans le script du dessous je décide de reprendre mon principe de calcul tant que l'écart entre xmin et xmax est supérieur à 0.01. Je dois donc définir cet écart, d'ou la ligne precision=0.01 #precision
while xmax-xmin>precision:
# saisie des constantes
a=2.5
b=-5
precision=0.01 #precision
# valeur de départ
xmin=-100
xmax=200
#### BOUCLE
while xmax-xmin>precision:
# calculs des f(x)
fxmin=a*xmin+b
fxmax=a*xmax+b
# calculs des signes
if fxmin<0:
sfxmin=-1
elif fxmin==0:
sfxmin=0
else:
sfxmin=1
if fxmax<0:
sfxmax=-1
elif fxmax==0:
sfxmax=0
else:
sfxmax=1
# calculs de xmoy, fxmoy et signe de fxmoy
xmoy=(xmin+xmax)/2
fxmoy=a*xmoy+b
if fxmoy<0:
sfxmoy=-1
elif fxmoy==0:
sfxmoy=0
else:
sfxmoy=1
print("valeurs intermédiaires",xmin,xmax)
# choix du nouveau couple xmin xmax
if sfxmoy==sfxmin:
xmin=xmoy
if sfxmoy==sfxmax:
xmax=xmoy
#### FIN BOUCLE
print("valeurs finales",xmin,xmax)