cours_equ.py

Created by teivaetienne

Created on January 07, 2025

3.94 KB


def afficher_menu():
    print("=== Cours sur les Équations Différentielles ===")
    print("1. 1er degré (coeff constants)")
    print("2. 1er degré (coeff non constants)")
    print("3. 2nd degré (coeff constants)")
    print("4. 2nd degré (coeff non constants)")
    print("0. Quitter")
    choix = int(input("Choisissez une section : "))
    return choix

def ed_premier_degre_constant():
    print("\n=== ED du 1er degré : coefficients constants ===")
    print("Forme générale : y'(x) + a*y(x) = b")
    print("\nFormules importantes :")
    print("1. Facteur intégrant μ(x) = exp(∫a dx) = exp(ax)")
    print("2. Solution générale :")
    print("   Si b = 0 : y(x) = C*exp(-a*x)")
    print("   Si b ≠ 0 : y(x) = (b/a) + C*exp(-a*x)")
    print("\nÉtapes de résolution :")
    print("1. Calculer μ(x).")
    print("2. Multiplier l'équation par μ(x).")
    print("3. Résoudre la dérivée totale résultante.")
    print("4. Ajouter la constante d'intégration C.\n")

def ed_premier_degre_non_constant():
    print("\n=== ED du 1er degré : coefficients non constants ===")
    print("Forme générale : y'(x) + P(x)*y(x) = Q(x)")
    print("\nFormules importantes :")
    print("1. Facteur intégrant μ(x) = exp(∫P(x) dx)")
    print("2. Solution générale : y(x) = (1/μ(x)) * ∫[μ(x)*Q(x)] dx + C/μ(x)")
    print("\nÉtapes de résolution :")
    print("1. Identifier P(x) et Q(x).")
    print("2. Calculer le facteur intégrant μ(x).")
    print("3. Multiplier toute l'équation par μ(x).")
    print("4. Résoudre la dérivée totale résultante.")
    print("5. Ajouter la constante d'intégration C.\n")

def ed_second_degre_constant():
    print("\n=== ED du 2nd degré : coefficients constants ===")
    print("Forme générale : a*y''(x) + b*y'(x) + c*y(x) = 0")
    print("\nFormules importantes :")
    print("1. Équation caractéristique : a*r2 + b*r + c = 0")
    print("2. Solutions de l'équation :")
    print("   Si ∆ > 0 : y(x) = C1*exp(r1*x) + C2*exp(r2*x)")
    print("   Si ∆ = 0 : y(x) = (C1 + C2*x)*exp(r*x)")
    print("   Si ∆ < 0 : y(x) = exp(α*x) * [C1*cos(β*x) + C2*sin(β*x)]")
    print("   (où r1, r2 sont les racines, ∆ = b2 - 4ac, α = -b/(2a), β = √|∆|/(2a))")
    print("\nÉtapes de résolution :")
    print("1. Calculer le discriminant ∆ = b2 - 4ac.")
    print("2. Trouver les racines (réelles ou complexes).")
    print("3. Construire la solution générale en fonction de ∆.\n")

def ed_second_degre_non_constant():
    print("\n=== ED du 2nd degré : coefficients non constants ===")
    print("Forme générale : a(x)*y''(x) + b(x)*y'(x) + c(x)*y(x) = d(x)")
    print("\nFormules générales :")
    print("1. Si l'équation est homogène :")
    print("   Utiliser la méthode de réduction d'ordre ou chercher des solutions particulières.")
    print("2. Si l'équation est non homogène :")
    print("   Solution = Solution de l'équation homogène + Solution particulière.")
    print("\nMéthodes possibles :")
    print("- Méthode de variation des constantes :")
    print("  Chercher y(x) = u(x)*y1(x), où y1(x) est une solution de l'équation homogène.")
    print("- Méthode des séries :")
    print("  Approcher la solution par une série de Taylor.")
    print("- Méthode numérique (Euler, Runge-Kutta).")
    print("\nÉtapes générales :")
    print("1. Identifier a(x), b(x), c(x), et d(x).")
    print("2. Réécrire l'équation en forme simplifiée.")
    print("3. Appliquer la méthode choisie pour résoudre.\n")

def cours():
    while True:
        choix = afficher_menu()
        if choix == 1:
            ed_premier_degre_constant()
        elif choix == 2:
            ed_premier_degre_non_constant()
        elif choix == 3:
            ed_second_degre_constant()
        elif choix == 4:
            ed_second_degre_non_constant()
        elif choix == 0:
            print("Au revoir !")
            break
        else:
            print("Choix invalide, veuillez réessayer.")

# Lancer le programme
cours()

During your visit to our site, NumWorks needs to install "cookies" or use other technologies to collect data about you in order to:

With the exception of Cookies essential to the operation of the site, NumWorks leaves you the choice: you can accept Cookies for audience measurement by clicking on the "Accept and continue" button, or refuse these Cookies by clicking on the "Continue without accepting" button or by continuing your browsing. You can update your choice at any time by clicking on the link "Manage my cookies" at the bottom of the page. For more information, please consult our cookies policy.