second_degre.py

Created by dgilleitao

Created on March 15, 2023

6.88 KB

Ce script reprend toutes les notions vues en première sur le second degré. Il permet de factoriser un polynôme de degré 2, de trouver sa forme canonique, ses variations et son tableau de signe ainsi que de résoudre ax²+bx+c = 0.


from math import *

def polynome_de_degre_deux():
    if a == 0 and b != 0 :
        print("L'équation à pour solution : x =", -c/b)
    elif a == 0 and b == 0 :
        if c == 0 :
            print("L'équation admet une infinité de solutions.")
        else :
            print("L'équation n'admet pas de solutions.")
    else : 
      delta = b**2-4*a*c
      print("delta =",delta)
      if delta < 0  :
        print("Le trinôme n'admet pas de racine réelle.")
      if delta == 0 :
        print("Le trinôme admet une racine réelle.")
        print("La valeur de cette racine est : x0 =", -b/(2*a))
      if delta > 0  :
        print("Le trinôme admet deux racines réelles.")
        print("La valeur des deux racines est : x1 =", (-b-sqrt(delta))/(2*a) ,"et x2 =", (-b+sqrt(delta))/(2*a))
        input()
          
def forme_canonique():
    print("La forme canonique d'une fonction polynome de degré 2 s'écrit sous la forme : a(x - alpha)2 + beta")
    print("Il faut donc calculer les valeurs de alpha et de beta")
    alpha = -b/(2*a)
    print("On calcule d'abord alpha = -b/2a = ",alpha)
    delta = b**2-4*a*c
    print("delta =", delta)
    beta = -delta/(4*a)
    print("On calcule ensuite beta = -delta/(4a) = ",beta)
    print("On a alpha, on a beta, on peut donc mettre cette fonction sous forme canonique")
    if alpha < 0 and beta < 0 :
        print("Forme canonique : ",a,"(x +",-alpha,")2-",-beta)
    elif alpha < 0 and beta >= 0 :
        print("Forme canonique : ",a,"(x +",-alpha,")2+",beta)
    elif alpha >= 0 and beta >= 0 :
        print("Forme canonique : ",a,"(x -",alpha,")2+",beta)
    elif alpha >= 0 and beta < 0 :
        print("Forme canonique : ",a,"(x -",alpha,")2-",-beta)
        input()
        
def factorisation():
    delta = b**2-4*a*c
    print("delta =",delta)
    if delta < 0 :
        print("delta < 0 donc :")
        print("L'expression n'est pas factorisable dans R")
    elif delta == 0 :
        print("delta == 0 donc :")
        print("L'expression est factorisable sous la forme : a(x - x0)2")
        x0 = -b/(2*a)
        print("x0 =", x0)
        if x0 < 0 :
            print("L'expression est factorisable sous la forme :", a,"(x +", -(x0),")2")
        else :
            print("L'expression factorisée est :", a,"(x", -(x0),")2")
    else :
        print("delta > 0 donc :")
        print("L'expression est factorisable sous la forme : a(x - x1)(x - x2)")
        x1 = (-b-sqrt(delta))/(2*a)
        print("x1 =", x1)
        x2 = (-b+sqrt(delta))/(2*a)
        print("x1 =", x1)
        if x1 >= 0 and x2 >= 0 :
            print("L'expression est factorisable sous la forme :", a,"(x", -(x1),")(x", -(x2),")")
        elif x1 < 0 and x2 >= 0 :
            print("L'expression factorisée est :", a,"(x +", -(x1),")(x", -(x2),")")
        elif x1 >= 0 and x2 < 0 :
            print("L'expression factorisée est :", a,"(x", -(x1),")(x +", -(x2),")")
        else : # x1 < 0 and x2 < 0
            print("L'expression factorisée est :", a,"(x +", -(x1),")(x +", -(x2),")")
            input()
        
def signe_trinome():
    delta = b**2-4*a*c
    print("delta =",delta)
    if delta < 0 :
        print("Le signe de la fonction :")
        print("|========|===============================|")
        print("|   x    |  -inf                   +inf  |")
        print("|========|===============================|")
        if a < 0 :
            print("|  f(x)  |                -              |")
        else : # a > 0
            print("|  f(x)  |                +              |")
        print("|========|===============================|")
    elif delta == 0 :
        print("x0 =", -b/(2*a))
        print("Le signe de la fonction est :")
        print("|========|===============================|")
        print("|   x    |  -inf         x0        +inf  |")
        print("|========|================|==============|")
        if a < 0 :
            print("|  f(x)  |        -       0        -     |")
        else : # a > 0
            print("|  f(x)  |        +       0        +     |")
        print("|========|================|==============|")
    else : # a > 0
        x1 = (-b-sqrt(delta))/(2*a)
        print("x1 =", x1)
        x2 = (-b+sqrt(delta))/(2*a)
        print("x2 =", x2)
        print("Le signe de la fonction est :")
        print("|========|==================================================|")
        if x1 < x2 :
            print("|   x    | -inf          x1               x2           +inf |")
        else : # x1 > x2
            print("|   x    | -inf          x2               x1           +inf |")
        print("|========|================|================|================|")
        if a < 0 :
            print("|  f(x)  |        -       0        +       0        -       |")
        else : # a > 0
            print("|  f(x)  |        +       0        -       0        +       |")
        print("|========|================|================|================|")
        input()
    
def variation_et_representation_graphique_du_trinome():
    alpha = -b/(2*a)
    delta = b**2-4*a*c
    beta = -delta/(4*a)
    print("Voici les variations de la fonction sur l'intervalle ]-inf ; +inf[ :")
    if a < 0 :
        print("a < 0 donc :")
        print("La fonction est croissante sur ]-inf ; alpha] et est décroissante sur [alpha ; +inf[")
    else : # a > 0
        print("a > 0 donc :")
        print("La fonction est décroissante sur ]-inf ; alpha] et est croissante sur [alpha ; +inf[")
        print("alpha a pour coordonnées (x,y) : (",alpha," ; ",beta,")")
    print("Représentation graphique :")
    print("La représentation graphique d'une fonction polynôme de degré 2 est une parabole.")
    print("L'axe de symétrie de la parabole est la droite d'équation x = alpha = ",alpha)
    print("Le sommet S de la parabole a pour coordonnées : (",alpha," ; ",beta,")")
    input()
        
def menu():
    print("\n---------- MENU PRINCIPAL ----------")
    print("Je cherche...")
    print("1 - la forme canonique du trinôme")
    print("2 - la ou les racines du trinôme")
    print("3 - à factoriser le trinôme")
    print("4 - Je cherche le signe du trinôme")
    print("5 - à connaitre la variation et la représentation graphique du trinôme")
    print("9 - à quitter le programme\n")
    choix=int(input("Veuillez selectionner votre choix: "))
    print()
    if choix == 1 :
        forme_canonique()
    elif choix == 2 :
        polynome_de_degre_deux()
    elif choix == 3 :
        factorisation()
    elif choix == 4 :
        signe_trinome()
    elif choix == 5 :
        variation_et_representation_graphique_du_trinome()
    elif choix == 9 :
        print("Au revoir !")
        exit
    else:
        print("Choix non valide\n")
        menu()

print("\n---------- VALEURS A ENTRER ----------\n")
a = float(input("Veuillez entrer la valeur de a = "))
b = float(input("Veuillez entrer la valeur de b = "))
c = float(input("Veuillez entrer la valeur de c = "))
menu()

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.