Exercice PHP corrigé les fonctions

Exercice 1

// initialisation
$ch =”bonjour LES aMis”;
// 1er caractere en majuscule
$res = strtoupper(substr($ch,0,1));
// les n-1 caracteres restant en minuscule
$res .= strtolower(substr($ch,1,strlen($ch)-1));
print(”resultat ; $res”);
?>

Exercice 2

Avec une boucle connue à l’avance cela donne :

$limite = 1000;
for ( $i=1; $i < $limite ; $i++) {
$pi_sur_4 += -(pow(-1,$i)) * 1/(2*$i-1);
// on affiche toutes les valeurs intermédiaires…
print (”$i : “. 4*$pi_sur_4.”<br>”);
}
?>

Avec une boucle WHILE :

$i=0;
do {
$precedent = $pi;
$i++;
$pi_sur_4 += -(pow(-1,$i)) * 1/(2*$i-1);
$pi = 4*$pi_sur_4;
print (”$i : “. $pi.”<br>”);
$differentiel = floor($pi*1000) - floor($precedent*1000);
} while ($differentiel != 0)
?>

Exercice 3

  function Carre($nb)
  {
  return $nb. ’<sup>2 sup> =’. $nb * $nb ;
  }

  for ($i= 1; $i < 31 ; $i++)
  echo ’<li>’. Carre($i) . "\n";
?>

Exercice 4

$n=10;
 for($ligne=1;$ligne<$n;$ligne++)
 {
 if($ligne%2)
 $class=’impair’;
 else
 $class=’pair’;
 echo’<tr class="’. $class. ’">’;
 for($col=1;$col<$n;$col++)
 {
 if($ligne==1 || $col==1)
 $cellule=’th’;
 else
 $cellule=’td’;
 echo"";
 if(($ligne!=1) and ($ligne==$col))
 echo’<strong>’;
 if($ligne!=1 || $col!=1)
 echo $ligne*$col;
 if(($ligne!=1) and ($ligne==$col))
 echo’</strong>’;
 echo"</$cellule>";
 }
 echo"</tr>\n";
 }
?>

Exercice 5

 function Tab_Supp($array, $offset, $length = 1)
     {
	return array_merge(
	array_slice($array, 0, $offset),
	array_slice($array, $offset + $length)
	);

     }
	 $a = array(0, 1, 2, 3, 4); 
	 $b = Tab_Supp($a, 1, 2); // b contiendra (0, 3, 4) 
?>

Exercice 6

function Premier($Num)
   {
       if($Num < 10 && strlen($Num) < 2)
          $Num = '0'.$Num;
		return $Num;
    }
function Verrification_Date($Date)
   {
	$Pos_1 = substr($Date, 2, 1);
	$Pos_2 = substr($Date, 1, 1);
		if (!(is_numeric($Pos_1)))
		    $Separateur  = $Pos_1;
		elseif (!(is_numeric($Pos_2)))
		    $Separateur  = $Pos_2;
		else
		    return false;
	$Tableau = explode($Separateur, $Date);
	$Jour = Premier($Tableau[0]);
	$Mois = Premier($Tableau[1]);		
		if (strlen($Tableau[2]) == 2)
	$Annee = '20'.$Tableau[2];
		elseif (strlen($Tableau[2]) == 4)
	$Annee = $Tableau[2];
	$Date_SQL = $Annee.'-'.$Mois.'-'.$Jour;
		if (checkdate($Mois, $Jour, $Annee))
			return $Date_SQL;
		else
			return false;
		}
function Verrification_Heure($Heure)
	{
		$Pos_1 = substr($Heure, 1, 1);
		$Pos_2 = substr($Heure, 2, 1);
		if (!(is_numeric($Pos_1)))
			$Separateur  = $Pos_1;
		elseif (!(is_numeric($Pos_2)))
			$Separateur  = $Pos_2;
		else
			return false;
		$Tableau = explode($Separateur, $Heure);
		$Heures = Premier($Tableau[0]);
		$Minutes = Premier($Tableau[1]);
		if (is_numeric($Heures) && is_numeric($Minutes))
	{
		if ($Heures < 24 && $Minutes < 60)
			return $Heures.':'.$Minutes;
		else
			return false;
	}
		else
			return false;		
	}

Exercice 7

function Nb_Premier($nb){
    $b = 1;

    if($nb == 1){echo "$nb n'est pas un nombre premier.
";return false;}
    if($nb == 2){echo "$nb est un nombre premier.";return false;}

    do{
        $b++;
	$c = $nb%$b;
	$d = $nb/$b;
	$e = floor($d);
	if($c == 0){echo "$nb n'est pas un nombre premier. Une décomposition $e * $b + $c

";return false;}
    }
    while($b<Sqrt($nb));
    echo "$nb est un nombre premier.";
}

function Carré($nb){
    $result = $nb*$nb;
    echo "Le carré de $nb est : $result";
}

function LogarithmeN($nb){
    $result = Log($nb);
    echo "Le logarithme népérien de $nb est : $result";
}

function Racine($nb,$base){
    $base2 = 1/$base;
    $result = pow($nb,$base2);
    echo "La racine de base $base de $nb est : $result";
}

function Div($A,$B){
    $result = floor($A/$B);
    $reste = $A % $B;
    echo "La division Eucidienne de $A par $B est : $result * $B + $reste ";
}

function cube($nb){
    $result = $nb*$nb*$nb;
    echo "Le cube de $nb est : $result";
}

function deg_rad($nb,$Conv){
    if($Conv == "D"){
        $rad = ($nb*pi())/180;
        echo "$nb degrés = $rad radians";
    }
    else{
        $deg = ($nb*180)/pi();
        echo "$nb radians = $deg degrés";
    }
}

function grade_deg($nb,$Conv){
    if($Conv == "G"){
        $deg = $nb*0.9;
        echo "$nb grades = $deg degrés";
    }
    else{
        $gra = $nb/0.9;
        echo "$nb degrés = $deg grades";
    }
}

function Trin($a,$b,$c){
    $delta = ($b*$b)-4*$a*$c;
    $e = Sqrt($delta);
    $f = -$b/(2*$a);

    $x1 = (-$b-$e)/(2*$a);
    $x2 = (-$b+$e)/(2*$a);

    if($delta == 0){
        echo "D = B²-4AC = $delta
";
	echo "X0 = -B/2A = $f
";
	echo "SOMMET X0 = -B/2A = $f

";
    }

    if($delta > 0){
	echo "D = B²-4AC = $delta
";
	echo "X1 = (-B-rac(D))/2A = $x1
";
	echo "X2 = (-B+rac(D))/2A = $x2
";
	echo "SOMMET X0 = -B/2A = $f

";
    }

    if($delta < 0){
	echo "D = B²-4AC = $delta
";
	echo "X1 = (-B-i*rac(D))/2A = $x1
";
	echo "X2 = (-B+i*rac(D))/2A = $x2
";
	echo "SOMMET X0 = -B/2A = $f

";
    }
}

function pgcd($nb,$nb2){

    $n=$nb;
    $n2=$nb2;

    while($nb>1){
        $reste = $nb%$nb2;

        if($reste == 0){
	    echo "Le PGCD de $n et $n2 est : $nb2";
	    break;
        }

        $nb=$nb2;
        $nb2=$reste;
    }
}

function PPCM($nb,$nb2){
    $n=$nb;
    $n2=$nb2;
    $mul=$nb*$nb2;

    while($nb>1){
        $reste=$nb%$nb2;

	if($reste==0){
	    $result = $mul/$nb2;
	    echo "Le PPCM de $n et $n2 est : $result";
	    break;
	}

        $nb=$nb2;
        $nb2=$reste;
    }
}

function signe($x){

    if (Abs($x) == $x){
        return 1;
    }
    else{
        return -1;
    }
}

function Equa_3($a,$b,$c,$d)
{

    $p = ($c/$a)-(pow($b,2))/(3*pow($a,2));
    $q = (2*pow($b,3))/(27*pow($a,3))-($b*$c)/(3*pow($a,2))+$d/$a;

    if ($p == 0){

        if (signe($q) == 1){
	    $X1 = -$b/(3*$a)-pow($q,(1/3));
	}
        else{
	    $X1 = -$b/(3*$a)+pow(-$q,(1/3));
        }
    echo "Une racine trouvée : X1 = $X1";
    }

    else{
        $det = pow($q,2)/4+pow($p,3)/27;

	if ($det > 0){

	    if (signe(-$q*0.5+pow($det,(1/2))) ==  1){
		$u = pow((-$q*0.5+pow($det,(1/2))),(1/3));
	    }
	    else{
		$u = -pow(-(-$q*0.5+pow($det,(1/2))),(1/3));
	    }

	    $X1 = -$b/(3*$a)+$u-($p/(3*$u)) ;

	    echo "Une racine trouvée : X1 = $X1";
        }

        if ($det==0){
	    $X1 = -$b/(3*$a)+signe($q)*pow((-$p/3),(1/2));
	    $X2 = -$b/(3*$a)-2*signe($q)*pow((-$p/3),(1/2));

	    echo "Deux racines trouvées : X1 = $X1 et X2 = $X2";
        }

        if ($det < 0){
	    $alf = 1/3*Acos(-$q/2*pow(27/(pow(-$p,3)),(1/2)));

	    $X1 = -($b)/(3*$a)+2*Sqrt(-$p/3)*Cos($alf);
	    $X2 = -($b)/(3*$a)+2*Sqrt(-$p/3)*Cos($alf+(2*pi())/3);
	    $X3 = -($b)/(3*$a)+2*Sqrt(-$p/3)*Cos($alf+(4*pi())/3);

	    echo "Trois racines trouvées : X1 = $X1, X2 = $X2 et X3 = $X3";
        }
    }
}

function negatif($nb){
    $nb = $nb*(-1);
    echo "$nb";
}

function Arg($reel, $imag){

    $r = pow(($reel*$reel+$imag*$imag),1/2);
    $tet = Asin($imag/$r);

    if($reel<0 && $imag<0){
	$tet2 = Acos($reel/$r);
	$result = (-1)*$tet2;
	echo "Arg($reel + i * $imag) =  $result";
	return false;
    }

    else if($reel<0 && $imag>0){
	$tet2 = Acos($reel/$r);
	echo "Arg($reel + i * $imag) =  $tet2";
	return false;
    }

    else{
	echo "Arg($reel + i * $imag) =  $tet";
    }
}

echo "Différentes fonctions mathématiques";
echo "Fonction sur le Signe
 Positif : 5 - Négatif : ";
negatif(5);

echo "Fonctions sur les Nombres
";

carré(5);
LogarithmeN(2);
Racine(27,3);
cube(4);
NB_Premier(169);
pgcd(68,24);
ppcm(68,24);
Equa_3(2,-5,-3,9);

?>

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Comments (1)