Donne toutes les propriétés d’une fonction polynôme du second degré après avoir entré les valeurs de a b et c.
from math import * print("""Soit f une fonction\npd2d definie sur R par \nf(x)=ax**2+bx+c\n-----""") a=input("Donne la valeur de a: ") b=input("Donne la valeur de b: ") c=input("Donne la valeur de c: ") D=float(b)**2-4*float(a)*float(c) alpha=-float(b)/(2*float(a)) B=-(float(b)**2-4*float(a)*float(c))/(4*float(a)) print("""----- f a pour discriminant""") print("b**2-4ac=",D) print("-----") if D<0:print("""f nadmet pas de racine\n-----""") if D==0:print("f admet",alpha,"comme racine\n-----""") if D>0:x1=(-float(b)-sqrt(D))/(2*float(a));x2=(-float(b)+sqrt(D))/(2*float(a));print("f admet",x1);print("et",x2);print("""comme racines reelles\n-----""") if float(a)>0:print("f est decroissante sur:");print("]-∞;",alpha,"[");print("f est croissante sur:");print("]",alpha,";+∞[");print("""La parabole est orientee\nvers le haut""") if float(a)<0:print("f est croissante sur:");print("]-∞,",alpha,"[");print("f est decroissante sur:");print("]",alpha,";+∞[");print("""La parabole est orientee\nvers le bas""") if True:print("-----") if float(a)<0:print("f a pour maximum:",B);print("atteint en x=",alpha) if float(a)>0:print("f a pour minimum:",B);print("atteint en x=",alpha) if True:print("-----") if float(a)>0 and D>0: print("f(x)>0<=>sur l'intervalle:") if x1<x2:print("]-∞;",x1,"[u]",x2,";+∞[");print("f(x)<0<=>sur l'intervalle:");print("]",x1,";",x2,"[") if x1>x2:print("]-∞;",x2,"[u]",x1,";+∞[");print("f(x)<0<=>sur l'intervalle:");print("]",x2,";",x1,"[") if float(a)<0 and D>0: print("f(x)<0<=>x appartient a:") if x1<x2:print("]-∞,",x1,"[u]",x2,",+∞[");print("f(x)>0<=>sur l'intervalle:");print("]",x1,";",x2,"[") if x1>x2:print("]-∞,",x2,"[u]",x1,",+∞[");print("f(x)>0<=>sur l'intervalle:");print("]",x2,";",x1,"[") if float(a)>0 and D==0:print("f(x)>0<=>sur l'intervalle:");print("]-∞;",alpha,"[u]",alpha,"+∞[") if float(a)<0 and D==0:print("f(x)<0<=>sur l'intervalle:");print("]-∞;",alpha,"[u]",alpha,"+∞[") if float(a)<0 and D<0:print("f(x)<0<=>sur l'intervalle:");print("]-∞;+∞[");print("f(x)>0<=>sur l'intervalle:");print("]/[") if float(a)>0 and D<0:print("f(x)>0<=>sur l'intervalle:");print("]-∞;+∞[");print("f(x)<0<=>sur l'intervalle:");print("]/[") if True:print("-----");print("La forme canonique de f est:") if alpha>=0:print("f(x)=",float(a),"(x-",alpha,")**2+",B) if alpha<0:print("f(x)=",float(a),"(x+",-alpha,")**2+",B) if D>=0:print("-----\nLa forme factorisee de f est:") if D>0: if x1<=0 and x2<=0:print("f(x)=",float(a),"(x+",-x1,")(x+",-x2,")") if x1>=0 and x2<=0:print("f(x)=",float(a),"(x-",x1,")(x+",-x2,")") if x1<=0 and x2>=0:print("f(x)=",float(a),"(x+",-x1,")(x-",x2,")") if x1>=0 and x2>=0:print("f(x)=",float(a),"(x-",x1,")(x-",+x2,")") elif D==0: if alpha<=0:print("f(x)=",float(a),"(x+",-alpha,")(x+",-alpha,")") if alpha>0:print("f(x)=",float(a),"(x-",alpha,")(x-",alpha,")") else:print("-----\nPas de forme factorisee de f.")