[PHP5] Classe Poly2
Posté : 12 oct. 2005, 22:53
Bonsoir,
Etant donné qu'il y avait rien de mieux que le foot à la télé ce soir, op j'ai fait une p'tite classe PHP5 permettant de calculer un polynôme du second degrè. On sait jamais ça peut tjs être utile

@+
Etant donné qu'il y avait rien de mieux que le foot à la télé ce soir, op j'ai fait une p'tite classe PHP5 permettant de calculer un polynôme du second degrè. On sait jamais ça peut tjs être utile
<?php
/**
* Classe Poly2
* @author Laurent.P (Ouaibou)
* @version 1.0 - 13/10/2005
*/
class Poly2
{
/**
* Coefficients du polynome du second degre
*
* @var int
* @var int
* @var int
*/
public $a = null;
public $b = null;
public $c = null;
/**
* Discriminant du polynome du second degre
*
* @var int or double
*/
public $delta = null;
/**
* Constructeur de la classe Poly2
*
* @param coeficient de x²
* @param coeficient de x
* @param constante
*/
function __construct($a, $b, $c)
{
$this->a = $a;
$this->b = $b;
$this->c = $c;
$this->delta = pow($this->b, 2) - (4 * $this->a * $this->c);
}
/**
* Solution du polynome du second degre
* Si le discriminant vaut 0
* -b/2a
*
* @return int or double
*/
private function racineX0()
{
return (-$this->b) / (2 * $this->a);
}
/**
* Premiere solution du polynome du second degre
* Si le discriminant est strictement positif
* -b+racine(delta)/2a
*
* @return int or double
*/
private function racineX1()
{
return (-($this->b)+sqrt($this->delta)) / (2 * $this->a);
}
/**
* Deuxieme solution du polynome du second degre
* Si le discriminant est strictement positif
* -b-racine(delta)/2a
*
* @return int or double
*/
private function racineX2()
{
return (-$this->b-sqrt($this->delta)) / (2 * $this->a);
}
/**
* Renvoie les solutions du polynome selon la valeur
* du discriminant
*
* @return String
*/
public function racine()
{
if($this->delta < 0)
{
return "Aucune solution Réelle !";
}
elseif($this->delta == 0)
{
$equation = "Equation: ".$this->a."x²+".$this->b."x+".$this->c."<br />\n";
$equation .= "--------------------------<br />\n";
$equation .= "Delta=".$this->delta."<br />\n";
$equation .= "X0 = ".$this->racineX0();
return $equation;
}
else
{
$equation = "Equation: ".$this->a."x²+".$this->b."x+".$this->c."<br />\n";
$equation .= "--------------------------<br />\n";
$equation .= "Delta = ". $this->delta."<br />";
$equation .= "X1 = ". $this->racineX1()."<br />\n";
$equation .= "X2 = ". $this->racineX2();
return $equation;
}
}
}
?>
<?php
/**
* On instancifie la classe avec les paramètres par défauts
* On envoie le résultat
*/
$poly2 = new Poly2("-4", "1", "1");
echo $poly2->racine();
?>
Maj : P'tite mise à jour le 13/10/2005, merci à cyrano @+