Médiaforma

PHP MySQL – Exercice sur les fonctions

Print Friendly

Définissez une fonction qui calcule les racines d’une équation du second degré du type :

ax² + bx + c = 0

Les valeurs a, b et c seront passées en paramètre de la fonction.

Rappel

Pour résoudre ce problème, calculez :

delta = b*b – 4*a*c

Si delta est négatif, il n’y a pas de solution.

Si delta est nul, il y a une racine unique égale à :

 –b/2*a

Si delta est positif, il y a deux racines égales à :

(-b – racine(delta))/2*a et (-b + racine(delta))/2*a

Maintenant, c’est à vous. Faites une pause dans la vidéo et résolvez le problème. Vous pourrez poursuivre la vidéo pour voir la solution.

 

Solution

<?php

  function racines($a, $b, $c) {
    echo "Recherche des solutions de l'équation $a x² + $b x + $c<br>";
    $delta = $b*$b - (4 * $a * $c);
    if ($delta < 0)
      echo "Cette équation n'a pas de solution.";
    if ($delta == 0)
      echo "Cette équation a une racine double égale à ".-$b/(2*$a);
    if ($delta > 0){
      $racine1 = (-$b - sqrt($delta))/(2*$a);
      $racine2 = (-$b + sqrt($delta))/(2*$a);
      echo "Cette équation a deux racines : $racine1 et $racine2";
    }
  }
  racines(1, 2, 1);
?>

Ce code ne présente aucune difficulté.

On définit la fonction racines qui admet trois paramètres : les trois coefficients de l’équation du second degré.

La variable $delta calcule le discriminant de l’application.

Si $delta est négatif, la fonction affiche un message pour indiquer que l’équation n’a pas de solutions.

Si $delta est nul, la fonction affiche la solution unique.

Enfin, si $delta est positif, la fonction calcule les deux racines de l’équation puis les affiche.

La dernière instruction appelle la fonction racines en lui transmettant trois paramètres.

Exécutons le code avec WAMPServer. Dans cet exemple, l’équation a une solution double égale à -1.

 

Vous avez aimé cet article ? Partagez-le avec vos réseaux...
 
Comments

Petite erreur sans gravité
Pour le second degré on ne parle pas de déterminant mais de discriminant. Le déterminant sera utilisé pour un système d’équations linéaires.

Merci pour cette précision :)

Leave a Reply