Création lors d'une séance de travail collaboratif entre TIM et Maths
Objectif
Résolution d'une équation du second degré avec python. Niveau STAV Attention, le discriminent n'est plus au programme des STAV!!!. Pour en savoir plus, lisez la suite ;)))
Premier script
# commentaire
# resolution equation seconde degre stav
# version 1
a=2
b=1
c=3
#calcul de delta
delta=b**2-4*a*c
# condition sur delta dans cet ordre >0 puis ==0 puis <0
if delta>0:
x1=(-b-delta**0.5)/(2*a)
x2=(-b+delta**0.5)/(2*a)
print("x1 =",x1)
print("x2 =",x2)
else:
if delta==0:
x0=-b/(2*a)
print("x0 =",x0)
else:
print("Pas de solution dans l'espace de réel")
>>> %Run test.py
Pas de solution dans l'espace de réel
>>> %Run test.py
Pas de solution dans l'espace de réel
Amélioration pour aller vers le Second script
- Améliorer l'affichage du message final
- Permettre le choix des paramètres
- Faire la représentation graphique des solutions (pour plus tard)
Second script
# commentaire
# resolution equation seconde degre stav
# version 2
a=float(input("Saisir la valeur de a="))
b=float(input("Saisir la valeur de b="))
c=float(input("Saisir la valeur de c="))
#calcul de delta
delta=b**2-4*a*c
#affichage
print("résolution de l'équation ",a," x² + ",b," x + ",c)
# condition sur delta dans cet ordre >0 puis ==0 puis <0
if delta>0:
x1=(-b-delta**0.5)/(2*a)
x2=(-b+delta**0.5)/(2*a)
print("Delta est positif donc il y a 2 solutions")
print("x1 =",x1)
print("x2 =",x2)
else:
if delta==0:
x0=-b/(2*a)
print("Delta est nul donc il y a 1 solution unique")
print("x0 =",x0)
else:
print("Pas de solution dans l'espace de réel")
>>> %Run test.py
Saisir la valeur de a=12
Saisir la valeur de b=32
Saisir la valeur de c=23
résolution de l'équation 12.0 x² + 32.0 x + 23.0
Pas de solution dans l'espace de réel
Réalisation graphique
Prérequis
- Installation de bibliothèques supplémentaires matplotlib et numpy (si besoin)
- Aide en ligne pour comprendre comment tracer des courbes:
https://www.courspython.com/introduction-courbes.html
Troisième script
# commentaire
# resolution equation seconde degre stav
# version 3
a=float(input("Saisir la valeur de a="))
b=float(input("Saisir la valeur de b="))
c=float(input("Saisir la valeur de c="))
#calcul de delta
delta=b**2-4*a*c
#affichage
print("résolution de l'équation ",a," x² + ",b," x + ",c)
# condition sur delta dans cet ordre >0 puis ==0 puis <0
if delta>0:
x1=(-b-delta**0.5)/(2*a)
x2=(-b+delta**0.5)/(2*a)
print("Delta est positif donc il y a 2 solutions")
print("x1 =",x1)
print("x2 =",x2)
else:
if delta==0:
x0=-b/(2*a)
print("Delta est nul donc il y a 1 solution unique")
print("x0 =",x0)
else:
print("Pas de solution dans l'espace de réel")
#représentation graphique
import numpy as np
import matplotlib.pyplot as plt
#encadrement pour le graphique
xmin=float(input("Saisir la valeur de xmin="))
xmax=float(input("Saisir la valeur de xmax="))
x = np.linspace(xmin,xmax,100)
y=a*x**2+b*x+c
plt.plot(x, y)
plt.title("Fonction du second degré")
plt.axhline(y=0,color='black')
plt.axvline(x=0,color='black')
plt.show() # affiche la figure a l'ecran
1 commentaire:
Thank you for the article!
Enregistrer un commentaire
Tout commentaire nous engage ;)