soit l’algorithme suivant :
xa = float(input())
ya = float(input())
xb = float(input())
yb = float(input())
a= (ya-yb)(xa - xb)
b = ya-a*xa
print (a,b)

1) Écrire le programme sur la calculatrice et tester les valeurs saisie 1;2;3;4 puis 1;2;4;3
Donner les résultats obtenus.
2) Que semble faire cet algorithme et quel semble être les inconvénients.

Répondre :

Réponse :

Explications :

Bonjour

Programme

xa = float(input())
ya = float(input())
xb = float(input())
yb = float(input())
a= (ya-yb)/(xa - xb)
b = ya-a*xa
print ("a= ",a,"b= ",b)

Avec  les valeurs saisie 1;2;3;4

*** Console de processus distant Réinitialisée ***
1
2
3
4
a=  1.0 b=  1.0
>>>

Avec  les valeurs saisie 1;2;4;3
*** Console de processus distant Réinitialisée ***
1

2

4
3
a=  0.3333333333333333 b=  1.6666666666666667
>>>

2) Cet algoritme calcule
le coefficient directeur et l'ordonnée à l'origine de la droite (AB)
Inconvénients:
donne trop de chiffre après la virgule dans certains cas

Si xA = xB alors le programmedonne erruer ( division par zéro)

** Console de processus distant Réinitialisée ***

1
2
1
3
Traceback (most recent call last):
 File "<module1>", line 6, in <module>
ZeroDivisionError: float division by zero
>>>
Programme modifié  ( en python)

xa = float(input("xA="))
ya = float(input("yA="))
xb = float(input("xB="))
yb = float(input("yB="))
if xa==xb:
   print ( "equation x= ",xA)

else:

   a= (ya-yb)/(xa - xb)

   b = ya-a*xa

   print ("a= ",round(a,2),"b= ",round(b,2))

Exécution

*** Console de processus distant Réinitialisée ***

xA=1
yA=2

xB=4
yB=3
a=  0.33 b=  1.67

>>>

D'autres questions