Ci-dessous, le source du fichier php (pour toutes les questions). Pour la dernière question, il y a un second fichier à créer (voir plus bas). Si vous voulez tester le programme, cliquez ici (sauf si j'ai désactivé le PHP sur le serveur).
<?php
$duree=4*3600;
$alea=mt_rand(1,100);
setcookie('reponse',$alea,time()+$duree);
?>
<HTML>
<HEAD>
<TITLE>proposition correction TP2 </TITLE>
<META NAME="generator" content="Kwrite">
<META NAME="author" content="P. TRAU">
<META NAME="Description" content="correction TP2 LPA3 : programmation PHP">
<META NAME="Keywords" content="php, html, variables, boucle, test">
</HEAD>
<BODY BGCOLOR="#ffffbc">
<img src="http://pat.trau.fr/yahoo24.jpg" align="right">
<H1 Align="center">BIENVENUE</H1>
<P>Ceci est une proposition de correction du TP2.</P>
<P>Bon, je ne vais pas me présenter, vous me connaissez tous.
Je mets quand même une petite photo sur le côté et
<A HREF="http://pat.trau.fr/">un lien vers mon site</A>.</P>
<!-- pour la question 1 il fallait refermer body et html
</body>
</HTML>
-->
<H2>Question 2</H2>
<?php
$a=$_GET["a"];
$b=$_GET["b"];
$c=$_GET["c"];
$x=$_GET["x"];
$d=$_GET["d"];
$Z=$a*$x*$x+$b*$x+$c;
echo "<P>ax<sup>2</sup>+bx+c = $Z</P>" ;
?>
<H2>Question 3</H2>
<?php
if($a==0)
{
if($b!=0)
{
$x=-$c/$b;
echo "<P>une racine : $x</P>";
}
else echo "<P>pas de solution</P>";
}
else
{
$delta=$b*$b-4*$a*$c;
if($delta>0)
{
$v=sqrt($delta);
$X1=(-$b-$v)/(2*$a);
$X2=(-$b+$v)/(2*$a);
echo "<P>Deux solutions : $X1 et $X2</P>";
}
elseif($v==0)
{
$X=(-$b)/(2*$a);
echo "<P>L'unique solution est $X</P>";
}
else
{
echo "<P>Pas de solution réelle</P>";
}
}
?>
<H2>Question 4</H2>
<?php
$x=0;
do {
$x++;
$sol=$a*$x*$x*$x+$b*$x*$x+$c*$x+$d;
} while($sol*$d>0 && $x<=10000);
if($t>=10000)
{
echo"<P>introuvable dans [0,10000[ </P>";
}
else
{
$xmin=$x-1;
$xmax=$x;
echo"<P>La 1ère racine positive de ax^3+bx^2+cx+d=0 est entre $xmin et $xmax</P>";
//c'est parti pour la dichotomie
do {
$x=($xmin+$xmax)/2.0; //milieu
$sol=$a*$x*$x*$x+$b*$x*$x+$c*$x+$d;
if($sol*$d>0) $xmin=$x; else $xmax=$x;
} while($xmax-$xmin >1E-4);
echo "<P>La premiere racine positive est proche de $x</P>";
}
?>
<H2>Question 5</H2>
<P>entrez un nombre entre 1 et 100 : </P>
<FORM ACTION="jeu.php" METHOD="GET">
<INPUT NAME="prop" TYPE="text" SIZE="3">
<INPUT TYPE="submit" VALUE="Jouer">
</FORM>
</BODY>
</HTML>
ci-dessous le fichier jeu.php
<?php
$sol=$_COOKIE['reponse'];
// le cookie doit avoir ete cree par la premiere page
?>
<HTML>
<HEAD>
<TITLE>Travail informatique TP2 : petit jeu</TITLE>
</HEAD>
<BODY BGCOLOR="#ffffba">
<FORM METHOD="GET" ACTION="jeu.php">
<INPUT NAME="prop" TYPE="text" SIZE="3" MAXLENGTH="3"><br>
<?php
$prop=$_GET["prop"];
if($prop==$sol)
{
echo "<FONT COLOR=#ff0000 SIZE=+4>GAGNE<br></FONT>";
}
elseif($prop<$sol)
{
echo "trop petit<br>";
}
else
{
echo "trop grand<br>";
}
?>
<INPUT TYPE="submit" VALUE="nouvel essai">
</FORM>
</BODY>
</HTML>