Équations du second degré

mardi 31 août 2010
par  Alain BUSSER

L’algorithme suivant est très typique :

Entrer a, b et c;
Affecter Delta avec b*b-4*a*c;
Si Delta<0 alors
    Afficher "l'équation n'a pas de solution"
sinon
    Affecter x1 avec (-b-racine(Delta))/(2*a)
    Affecter x2 avec (-b+racine(Delta))/(2*a)
    Afficher x1 et x2
Fin Si

Il est typique en ce qu’il utilise des entrées, des sorties, des affectations de variables et un test (et même deux si on veut l’améliorer en isolant le cas où Delta=0), bref, tout le programme d’algorithmique de Lycée hormis les boucles. Et c’est typiquement un algorithme puisqu’il permet de résoudre une équation du second degré, et qu’il y a bel et bien un problème sous-jacent.

Gageons donc que ce sera le plus populaire des TP d’algorithmique en première S cette année, sous la forme d’une traduction du cours vers un (ou mieux, plusieurs) langage de programmation. Un de ces langages particulièrement intéressants est celui des calculatrices graphiques, quoique le tableur ne soit pas à négliger.

À titre de comparaison, voici la version CaRScript :

Comme avec (presque) tout programme, l’utilisateur (le prof qui veut tester le travail de l’élève) doit démarrer par la tâche fastidieuse d’entrer les données (ici, les trois coefficients du trinôme), et la géométrie dynamique permet de produire (ou de faire produire par les élèves) un fichier bien plus souple d’utilisation :

equation avec curseurs

Pour construire la figure ci-dessus, on a commencé par créer trois curseurs a, b et c (c’est là toute la différence), puis représenté la fonction $x \mapsto ax^2+bx+c$ (tant qu’on y est, on va pas se gêner !). Ensuite le reste n’est que texte et expressions :

  • d’abord, l’expression Delta égale bien sûr à b*b-4*a*c ;
  • puis l’expression x1 égale à (-b-sqrt(Delta))/(2*a),
  • et l’expression x2 égale à (-b+sqrt(Delta))/(2*a) : Miracle, si Delta est négatif, x1 et x2 s’affichent par des points d’interrogation, sans message d’erreur ; on les cache alors conditionnellement dans ce cas ;
  • Enfin, les textes, celui annonçant que l’équation n’a pas de solution, caché si Delta est positif, et celui affichant les solutions, caché lorsque Delta est négatif.

On a bien ci-dessus donné une séquence d’étapes de la construction, c’est donc bien un algorithme, mais la séquence est moins bien affichée qu’avec un langage de programmation. Et si on prend l’exemple de GeoGebra, les deux points d’intersection de la parabole avec l’axe des abscisses sont automatiquement calculés, ce qui enlève un peu de son intérêt à la manipulation...


Remarque

L’algorithmique n’est pas non plus indispensable pour résoudre des équations du second degré, l’abaque de Pouchet le permet aussi, dès la classe de Seconde. On peut aussi résoudre les équations du second degré par nomogramme...


Commentaires