un professeur qui explique la résolution des équations du second degré

Résoudre des équations du second degré avec un Algorithme python

Nous avons vu précédemment comment résoudre des équations du premier degré. Dans ce nouvel article, nous allons nous intéresser à comment résoudre des équations du second degré à l’aide d’un algorithme Python. Ces équations apparaissent souvent dans les problèmes de mouvement, de finance ou encore en géométrie. Grâce à la puissance de Python, il devient simple d’implémenter un programme efficace pour les résoudre.

Un professeur en chemise qui explique au tableau comment résoudre les équations du second degré

Solution équation second degré

Une équation du second degré à une inconnue se présente sous la forme :

ax² + bx + c = 0

où :

  • a, b, c sont des réels connus, avec a ≠ 0
  • x est l’inconnue.

Alors, pour résoudre ce type d’équation, on commence par calculer le discriminant :

Δ = b² - 4ac

Ensuite on peut calculer les solutions en fonction de la valeur du discriminant

  • Si Δ > 0 → deux solutions réelles distinctes : x1=(-b–racine(Δ))/2a          et             x2=(-b+racine(Δ))/2a
  • Si Δ = 0 → une solution réelle unique : x1=-b/2a
  • Si Δ < 0 → aucune solution réelle

Calculer discriminant Python

Voici la fonction Python pour calculer les solutions en fonction du discriminant :

def equaDegr2(a, b, c):
    """
    Résout les équations du 2nd degré de la forme ax² + bx + c = 0
    :param a: coefficient de x²
    :param b: coefficient de x
    :param c: constante
    :return: solution(s) ou message si aucune solution réelle
    """
    import math
    delta = b**2 - 4*a*c
    if delta < 0:
        return "Cette équation n’a pas de solution dans le domaine du réel."
    elif delta == 0:
        x = -b / (2 * a)
        return x
    else:
        x1 = (-b - math.sqrt(delta)) / (2 * a)
        x2 = (-b + math.sqrt(delta)) / (2 * a)
        return (x1, x2)

Résoudre équation du 2nd degré avec Python

En pratique, vous pouvez demander à l’utilisateur de choisir entre une équation du 1er ou du 2nd degré, puis lui proposer la résolution automatique. Voici un exemple :

print("Quel type d’équation voulez-vous résoudre ?")
print("Tapez 2 pour une équation du 2nd degré")
choix = input()
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if choix == "2":
    X = equaDegr2(a, b, c)
    print("La solution de l’équation (si elle existe) est :", X)

Exercice équation du second degré

Considérons l’équation suivante : x² – 3x + 2 = 0.

Ici :

  • a = 1, b = -3, c = 2
  • Δ = (-3)² – 4×1×2 = 9 – 8 = 1
  • Deux solutions : x1 = 2, x2 = 1

Notre fonction Python donnera bien (1.0, 2.0) en retour.

Algorithme Python résolution équation ax2+bx+c=d

Si votre équation n’est pas posée sous la forme = 0 (par exemple : ax²+bx+c=d), commencez par tout ramener à gauche :

ax² + bx + (c - d) = 0

Puis appliquez ensuite la même méthode de résolution.

Voici un algorithme en langage naturel pour résoudre une équation du second degré de la forme ax² + bx + c = 0 :

  1. Identifier les coefficients a, b et c dans l’équation (s’assurer que a ≠ 0, sinon ce n’est pas une équation du second degré)
  2. Calculer le discriminant Δ = b² – 4ac
  3. Examiner la valeur du discriminant :
    • Si Δ > 0, l’équation possède deux solutions réelles distinctes
    • Si Δ = 0, l’équation possède une solution réelle double
    • Si Δ < 0, l’équation n’a pas de solutions réelles (mais deux solutions complexes conjuguées)
  4. Calculer les solutions selon la valeur du discriminant :
    • Si Δ > 0 : x₁ = (-b – √Δ)/(2a) et x₂ = (-b + √Δ)/(2a)
    • Si Δ = 0 : x = -b/(2a)
    • Si Δ < 0 : x₁ = (-b – i√(-Δ))/(2a) et x₂ = (-b + i√(-Δ))/(2a) où i est l’unité imaginaire
  5. Vérifier les solutions en les substituant dans l’équation d’origine

Exemple d’application :

  • Pour résoudre 2x² – 5x + 3 = 0, on identifie a = 2, b = -5 et c = 3
  • On calcule Δ = (-5)² – 4×2×3 = 25 – 24 = 1
  • Comme Δ > 0, l’équation a deux solutions réelles distinctes
  • x₁ = (5 – √1)/(2×2) = 4/4 = 1 et x₂ = (5 + √1)/(2×2) = 6/4 = 3/2
  • Les solutions sont donc x₁ = 1 et x₂ = 3/2

Code Python pour résoudre équation du 2nd degré

La structure de code Python pour les équations du second degré permet une très bonne réutilisabilité dans d’autres projets (calculs physiques, modélisation économique, etc.).

Le programme python donné au début de cet article, définit une fonction Python nommée equaDegr2 qui permet de résoudre les équations du second degré sous la forme ax²+bx+c=0. La fonction prend trois paramètres en entrée (a, b et c) représentant les coefficients de l’équation. Elle commence par calculer le discriminant delta (Δ = b² – 4ac), puis détermine les solutions en fonction de sa valeur : si delta est négatif, elle renvoie un message indiquant l’absence de solutions réelles; si delta est nul, elle calcule l’unique solution x = -b/(2a); et si delta est positif, elle calcule les deux solutions distinctes x₁ = (-b – √Δ)/(2a) et x₂ = (-b + √Δ)/(2a) qu’elle retourne sous forme de tuple. La fonction utilise le module math pour le calcul de la racine carrée.

Fonction Python équation second degré

La fonction equaDegr2() est un excellent point de départ pour ceux qui souhaitent aborder la programmation mathématique. Vous pouvez même enrichir cette fonction pour afficher une explication pas-à-pas de la résolution ou tracer une courbe associée à la fonction quadratique.

En conclusion, apprendre à résoudre des équations du second degré en Python est un exercice à la fois simple et formateur. Ces bases vous seront utiles pour automatiser vos calculs ou préparer des outils d’analyse plus complexes.

Vous avez testé ces fonctions ? Partagez vos résultats ou vos idées d’amélioration dans les commentaires !

Si vous avez aimé l'article vous êtes libre de le partager :)

Laisser un commentaire