Opérations mathématiques en PHP

Opérations mathématiques en PHP.

 

Effectuer une addition

5 + 2 =
<?PHP
print(5+2);
?>

5 + 2 = 7

 

Vérifier une égalité

<?
$a=2;
$b=2;
if ($a==$b)
echo "L'égalité est vérifiée.";
?>

L'égalité est vérifiée.

 

Afficher une valeur aléatoire

<?php
echo rand()."<br/>";     
echo rand();    
rand(5, 15);
?>

1699497207
818710906

 

Afficher la plus grande valeur aléatoire de mt_rand()

De nombreux générateurs de nombres aléatoires provenant de vieilles bibliothèques libcs ont des comportements douteux et sont très lents. Par défaut, PHP utilise le générateur de nombres aléatoires de libc avec la fonction rand().

La fonction mt_rand() est plus performante que la fonction rand(). Elle utilise un générateur de nombres aléatoires de caractéristique connue, le Mersenne Twister qui est quatre fois plus rapide que la fonction standard libc rand().

Appelée sans les arguments optionnels min et max, la fonction mt_rand() retourne un nombre aléatoire entre 0 et rand_max.

<?php
echo mt_getrandmax();   
?>

2147483647

 

Initialiser une meilleure valeur aléatoire avec seed

<?php
// Initialisation avec des microsecondes.
function make_seed() {
list($usec, $sec) = explode(' ', microtime());
return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed());
$randval = mt_rand();
echo ("$randval");
?>

1216591594

 

Détermine si la variable donnée est de type nombre entier

<?php
$values = array(23, "23", 23.5, "23.5", null, true, false);
foreach ($values as $value) {
    echo "is_int(";
    var_export($value);
    echo ") = ";
    var_dump(is_int($value));
    echo ("<br/>");
}
?>

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

 

Résoudre une équation du second degré

Une équation du second degré est de la forme ax²+bx+c=0
La valeur a doit être non nulle.

<?php
#Lecture des variables
$A= isset($_POST["var1"])?htmlspecialchars($_POST["var1"]):0;
$B= isset($_POST["var2"])?htmlspecialchars($_POST["var2"]):0;
$C= isset($_POST["var3"])?htmlspecialchars($_POST["var3"]):0;
?>
<p>Indiquer les valeurs a b c correspondantes au polynôme de forme ax<sup>2</sup>+bx+c</p>
<p align=center><form name="saisie" action="https://www.visionduweb.fr/blog/13-programmation/40-operations-mathematiques-en-php" method='POST'>
<table border=1><tr><td>&nbsp;a&nbsp;</td><td>
<input type="text" name="var1" value="<?PHP echo $A; ?>">
<tr><td>&nbsp;b&nbsp;</td>
<td><input type="text" name="var2" value="<?PHP echo $B; ?>">
<tr><td>&nbsp;c&nbsp;</td>
<td><input type="text" name="var3" value="<?PHP echo $C; ?>">
</table>
<input type=submit name="change_dep" value="Valider">
&nbsp;&nbsp;&nbsp;
<input type=reset value="Annuler"></form></p>
<?PHP
if ($A!=0) {
$D=$B*$B-4*$A*$C;
echo 'Le déterminant vaut '.$D.'.<br/>';

if($D<0)
{
echo 'Aucune solution !';
}
elseif($D==0)
{
echo 'Solution unique :<br/>-> X = ';
$X=-$B/(2*$A);
echo $X;
}
elseif($D>=0)
{
echo 'Solution double :<br/>';
$X1=(-$B-sqrt($D))/2*$A;
$X2=(-$B+sqrt($D))/2*$A;
echo '-> X1 = '.$X1;
echo ('<br/>');
echo '-> X2 = '.$X2;
}
}
?>

Indiquer les valeurs a b c correspondantes au polynôme de forme ax2+bx+c

 a 
 b 
 c 
   

 

Source complémentaire
Wikipédia - Discriminant : https://fr.wikipedia.org/wiki/Discriminant
Vérifier son équation du second degré : https://calculis.net/resoudre-equation-second-degre
Résoudre une équation : https://www.solumaths.com/fr/calculatrice-en-ligne/calculer/resoudre
Résolution algébrique : https://www.capte-les-maths.com/equations/equation-second-degre-resolution-algebrique.php

Comment l'indomptable recherche scientifique va-t-elle rester au service du mieux-être physique et mental de tous ? Deux maîtres mots : éducation et éthique, qu'il faut traduire en pratique.
[Etienne-Emile Baulieu]

Version Beta Stable 4.0 du projet Vision du web 2002 - 2019

Condition d'utilisation du site Vision du web

Vous êtes soumis au règlement suivant et à ce titre ni l'administrateur ni l'hébergeur ne pourraient ni ne seraient tenu pour responsable de vos actes.
Vous ne devez en aucun cas utiliser les informations présentes sur Visionduweb pour nuire à autrui ou à un système informatique.

La licence CC BY-NC-ND 4.0 est attribuée au contenu rédigé par Visionduweb sur les domaines suivants :
www.visionduweb.com - www.visionduweb.eu - www.visionduweb.fr - www.visionduweb.info
Les profils utilisés par Visionduweb : Anonymous, Visionduweb, Zer00CooL

Soutenir le travail de recherche de Visionduweb.
Visionduweb utilise la crypto-monnaie.
Faire un don.
 

Chercher dans le contenu

Menu de connexion