Index de l'article

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)