Ecriture Fractionnaire et Radical (Math)
Posté : 09 sept. 2005, 20:44
Bonjour à tous !
Voilà je pense que mon petit script est fini ...
Je vous le joint dans ce message, faut bien montrer ses oeuvres lol Il a aussi un peu évolué
Est-il possible d'afficher les résultat (Minimum/Maximum, Discriminant et Racine(s)) de façons simplifiée ...
Je m'explique. Le calcul (mental) du discrimant s'effectue grâce à la formule :

La formule qui permet ensuite de calculer les racines (si le discriminant est supérieur à 0) est la suivante :

Ce qui entraine inévitablement des réponses de types : Radicals et Fractions, le tout à simplifier au maximum par la suite ...
Ma question est donc la suivante : PHP peut-il faire tout çà si on l'aide un peu
? Donc ecrire le résulat sous forme de fraction et racines carrée ...
Et pourriez-vous dans le même élan, me dire si ce script pose un problème quelconque pour la sécurité ?
Derniere question : Est-il possible de verifier si les valeurs entrées sont bien des chiffres (en incluant le signe - dans les caractères autorisés) ? J'ai essayé avec la fonction "is_numeric()" mais il empeche l'utilisation du signe - ...
Merci !
Voilà je pense que mon petit script est fini ...
Je vous le joint dans ce message, faut bien montrer ses oeuvres lol Il a aussi un peu évolué
<?php
ini_set('display_errors', false); // On empeche l'affiche des erreurs
$a = $_POST['a']; // On récupère la valeur de "a" dans le formulaire
$b = $_POST['b']; // On récupère la valeur de "b" dans le formulaire
$c = $_POST['c']; // On récupère la valeur de "c" dans le formulaire
if ($a == 0) { // Si "a" vaut 0 alors on sait que la fonction n'est pas du second degré : Fin du calcul
echo "Cette fonction n'est pas du second degré ...";
} else { // Autrement, on continue ...
$p = bcpow($b,2) - (4 * $a * $c); // Calcul de la valeur du discriminant
$ra0 = -$b / (2 * $a); // Calcul de la valeur de l'unique racine dans le cas ou le discriminant vaudrait 0
$ra1 = ( -$b + (bcsqrt((bcpow($b,2) - (4 * $a * $c))))) / (2*$a); // Calcul de la première racine dans le cas ou le discriminant est supérieur à 0
$ra2 = ( -$b - (bcsqrt((bcpow($b,2) - (4 * $a * $c))))) / (2*$a); // Calcul de la deuxième racine dans le cas ou le discriminant est supérieur à 0
$so = -$b / $a;
$pr = $c / $a;
$cord2 = -(($p) / (4 * $a));
if ($b == 0) { // Si "b" vaut 0 il est impossible de déterminer le minimum/maximum de la fonction
echo "Impossible de Déterminer le Maximum / Minimum qu'admet cette Fonction ...<br>";
} else { // Autrement, on continue ...
$minmax = -$b / (2 * $a); // Calcul de la valeur du minimum/maximum
if ($a > 0) { // Si a est supérieur à 0 : Affichage du minimum
echo "Coordonnées du Minimum = ($minmax,$cord2)<br>"; // Affichage des coordonnées des coordonnées du Minimum
} elseif ($a < 0) { // Si a est inférieur à 0 : Affichage du maximum
echo "Coordonnées du Maximum = ($minmax,$cord2)<br>"; // Affichage des coordonnées des coordonnées du Maximum
}
}
echo "Discriminant / P = $p<br>"; // Affichage de la valeur du discriminant
if ($p > 0) { // Si le discriminant est supérieur 0 on affiche les racines
echo "Somme = $so ( = $ra1 + $ra2)<br>";
echo "Produit = $pr ( = $ra1 x $ra2)<br>";
echo "Première Racine : $ra1<br>";
echo "Deuxième Racine : $ra2";
} elseif ($p < 0) { // Si le discriminant est inférieur à 0 il est impossible de calculer les racines
echo "Impossible de Déterminer les Racines de cette Fonction !";
} elseif ($p == 0) { // Si le discriminant vaut 0 on affiche l'unique racine de la fonction
echo "Somme = $so ( = $ra0 + $ra0)<br>";
echo "Produit = $pr ( = $ra0 x $ra0)<br>";
echo "Unique Racine de la Fonction : $ra0";
}
}
?>
Mais maintenant je voudrais perfectionner tout ca ....Est-il possible d'afficher les résultat (Minimum/Maximum, Discriminant et Racine(s)) de façons simplifiée ...
Je m'explique. Le calcul (mental) du discrimant s'effectue grâce à la formule :

La formule qui permet ensuite de calculer les racines (si le discriminant est supérieur à 0) est la suivante :

Ce qui entraine inévitablement des réponses de types : Radicals et Fractions, le tout à simplifier au maximum par la suite ...
Ma question est donc la suivante : PHP peut-il faire tout çà si on l'aide un peu
Et pourriez-vous dans le même élan, me dire si ce script pose un problème quelconque pour la sécurité ?
Derniere question : Est-il possible de verifier si les valeurs entrées sont bien des chiffres (en incluant le signe - dans les caractères autorisés) ? J'ai essayé avec la fonction "is_numeric()" mais il empeche l'utilisation du signe - ...
Merci !