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>