Fonctions python pour résoudre des équations du 1er et 2nd degré

Dans le domaine de la programmation scientifique, la résolution d’équations algébriques est une tâche fondamentale. Les équations du premier et du second degré, en particulier, sont omniprésentes dans diverses applications, allant de la physique à l’ingénierie en passant par l’économie. En Python, un langage de programmation largement utilisé pour ses capacités analytiques et sa simplicité, il est possible de créer des fonctions efficaces pour résoudre ces équations. Cet article explore comment écrire des fonctions Python pour résoudre des équations du premier et du second degré, en mettant en lumière les concepts mathématiques sous-jacents et en fournissant des exemples pratiques. Que vous soyez un débutant en programmation ou un utilisateur expérimenté cherchant à optimiser vos calculs, cet article vous guidera à travers les étapes nécessaires pour implémenter ces solutions de manière claire et concise.

photo of woman standing in front of blackboard
Photo by Max Fischer

Rappel sur les équations du 1er degré

On admettra que les équations du premier degré s’écrivent sous la forme : ax+b=c.

Avec 

  • a, b et c sont des nombres connus, et a est différent de 0 ;
  • et x est un nombre inconnu.

L’équation est dite de premier degré car la plus grande puissance de l’inconnue x est 1.

Pour résoudre les équations de ce type on applique la relation suivante :

La valeur de x qui permet de vérifier l’équation est : x = (c-b) / a.

Rappel sur les équations du 2nd degré

L’équation ax2 + bx + c = 0 est une équation de degré 2. La plus grande puissance de x est 2. 

Voici la méthode de résolution de ce type d’équation :

  • Calculer le discriminant Δ en remplaçant a, b et c par leurs valeurs dans la formule
    • Δ=b2−4ac.
  • Si Δ > 0 (si le discriminant est positif), il y a deux solutions :
    • (-b – racine(Δ)) / 2a
    • (-b + racine(Δ)) / 2a
  • Si Δ=0, il y a une solution qui vérifie l’égalité:
    • -b / 2a
  • Si Δ< (si le discriminant est négatif), il n’y a pas de solution dans le domaine du réel.

Solution avec fonction python

Voici le code des deux fonctions python qui permettent de résoudre les équations du 1er et 2ème degré :

def equaDegr1(a, b, c):

    """

    ce code résoud les équations du 1er degré de la forme:

    ax+b=c

    param a: coefficient a de l'équation

    param b: coefficient b de l'équation

    param c: coefficient c de l'équation

    return: résultat de l'équation

    """

    x = (c-b)/a

    return x

def equaDegr2(a, b, c):

    """

    Ce programme résoud les équations de 2nd degré de la forme:

    ax^2+bx+c = 0

    param a: coefficient de x^2

    param b: coefficient de x

    param c: la constante

    return: soit 2 valeurs de x qui vérifient l'égalité

            ou bien la seul valeur

            ou sinon un message disant que l'équation n'a pas de solution 

    """

    import math

    descr = b**2 - 4*a*c

    if descr < 0:

        return "Cette équation n'a pas de solution dans le domaine du réel"

    elif descr == 0:

        x = -b/(2*a)

        return x

    else:

        x1 = (-b - math.sqrt(descr))/(2*a)

        x2 = (-b + math.sqrt(descr)) / (2 * a)

        return (x1, x2)

J’ai utilisé 3 arguments pour chacune des 2 fonctions python. Les arguments sont obligatoires, si on mets moins de trois arguments ou plus de 3 arguments le programme renvoie une erreur d’exécution.

J’ai donné le nom de equadeg1() pour la première fonction python et equaDegr2() pour la deuxième fonction python.

Le premier programme permet de résoudre les équations du premier degré et le deuxième programme celles du deuxième degré.

Si on exécute ce programme rien ne se passera, car on n’a fait appel à aucune des fonctions. 

Comment utiliser les fonctions python

On peut imaginer la situation suivante pour faire appel à l’une ou l’autre fonction. On demandera à l’utilisateur de choisir s’il veut résoudre une équation du 1er ou du 2ème degré, et en fonction de ce qu’il rentrera on utilisera la fonction python equaDegr1() ou equaDegre2().

Voici une proposition de code qui fait appel à ces deux fonctions python

<code>print("quel type d'équation voulez vous résoudre?")
print("Equation de 1er degré. Taper 1 puis entrée")
print("Equation de 2ème degré. Taper 2 puis entrée")
choix = input()
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
if choix == 1:
    X = equaDegr1(a, b, c)
else :
    X = equaDegr2(a, b, c)
print("la solution de l'équation (s'elle existe) est : ",X)</code>

Structure de code python avec des fonctions

En conclusion, la création de fonctions Python pour résoudre des équations du premier et du second degré est un excellent moyen de renforcer vos compétences en programmation tout en approfondissant votre compréhension mathématique. Ces fonctions peuvent être intégrées dans divers projets pour automatiser des calculs complexes et améliorer l’efficacité de vos analyses. Si vous souhaitez approfondir vos connaissances, nous vous invitons à explorer notre article sur Comment structurer un programme avec des fonctions pour découvrir des techniques avancées.

N’hésitez pas à laisser un commentaire ci-dessous pour partager vos propres astuces ou poser des questions ! Votre feedback est très précieux.

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

4 commentaire

Laisser un commentaire