Algorithme de résolution d'une équation du second degré

Question

Écrire un algorithme permettant la résolution d'une équation du second degré

Indice

Attention à bien vérifier que le polynôme fourni est du second degré !

Indice

Penser à séparer les cas en fonction du signe du discriminant !

Question

Écrire un programme en Python (v 2.7) implémentant cet algorithme.

Indice

On pourra commencer son programme par les lignes d'entêtes suivantes :

1
# -*- coding: latin1 -*-
2
from __future__ import division
3
from math import sqrt

La première permet la gestion correcte de l'affichage des accents.

La seconde permet un comportement "normal" de la division.

La troisième permet d'utiliser la fonction sqrt : racine carrée.

Ces trois lignes peuvent être systématiquement ajoutées dans tout programme python que nous ferons cette année.

Indice

La saisie des données dans une variable peut se faire au moyen de l'instruction

a=input("Saisir la valeur de a : ")

L'affichage d'un message se fait au moyen de l'instruction print "La valeur de a est : ", a

Indice

L'enchaînement des tests peut être effectué au moyen de l'instruction elif condition: équivalente à else if condition :

Solution

Syntaxecode en python 2.7 :
1
# -*- coding: latin1 -*-
2
from __future__ import division
3
from math import sqrt
4
a=input("entrer a")
5
b=input("entrer b")
6
c=input("entrer c")
7
if a<>0:
8
   Delta=b*b-4*a*c
9
  if Delta < 0:
10
    print "Il n'y a pas de solution."
11
  elif Delta==0:
12
    x0=-b/(2*a)
13
    print "L'unique solution est : ",x0
14
  else:
15
    x1=(-b-sqrt(Delta))/(2*a)
16
    x2=(-b+sqrt(Delta))/(2*a)
17
    print "Il y a deux solutions qui valent environ ",x1, " et ", x2, "."
18
else:
19
  print "Ce n'est pas un trinôme du second degré"