Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 1 Introduction à Php Instruction Echo et Structures de contrôle Auteur: E. Thirion - 22/12/2015 Ce document est extrait du site http://cours.thirion.free.fr/cours/introphp Cliquez ici pour y accéder directement. Les exercices présentés ici sont des fichiers à complèter. Pour faire ces exercices, il vous faudra obligatoirement télécharger un certain nombre de dossiers et installer WAMP (Windows Apache Mysql Php) sur votre PC. L'installation de WAMP, les dossiers à télécharger et la manière de les installer sur votre ordinateur sont décrits dans le document suivant. Le téléchargement n'est possible que via un login et un mot de passe, que vous pouvez obtenir en m'envoyant un mail à l'adresse suivante: en précisant un peu qui vous êtes et les raisons pour lesquels ce cours vous intéresse. Lorsque vous aurez votre login et mot de passe, cliquez sur le lien suivant pour télécharger. Lorsque vous aurez tout installé sur votre machine, vous pourrez tester vos exercices en cliquant sur l'entrée adéquate dans la partie Test des script du menu de gauche de votre copie du site installée sur votre machine. Le lien test de la colonne Votre Solution vous permettra d'exécuter votre solution à un exercice donné, alors que le lien test de la colonne Corrigé vous permettra d'exécuter le corrigé de l'exercice. Exercices sur l'instruction Echo Exercice1 - Date aléatoire On souhaite écrire un programme Php affichant une date aléatoire en utilisant la fonction rand (l'appel de fonction rand(n,m) retourne un entier entre n (inclu) et m (inclu) ). Question A: Version avec guillemets et variables Completer le fichier : Etudiant/Date-Aleatoire1a.php On générera aléatoirement un jour ($j), un mois ($m), une année ($a) valant 2009 ou 2010, une heure ($h) et des minutes ($mn). Pour simplifier, on supposera que tous les mois ont 31 jours. Par exemple si $j=3, $m=5,$a=2010,$h=21,$mn=32, la page affichée devra être : Nous sommes le 3/5/2010 Il est 21 heures et 32 minutes Question B: Version sans variable avec des quotes Completer le fichier : Etudiant/Date-Aleatoire1b.php
Exercice2 : Opérations arithmétiques Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 2 Il s'agit d'écrire un script PHP affichant la somme, la différence, le produit et la division de deux nombres entiers aléatoires $x (compris entre 0 et 9) et $y (compris entre 1 et 9). Par exemple si $x=4 et $y=5, la page affichée devra être : La somme de 4 et 5 vaut 9 La différence de 4 et 5 vaut -1 Le produit de 4 et 5 vaut 20 La division de 4 par 5 vaut 0.8 Vous réalisez deux versions de ce script: Version1: avec guillemets et variables. Pour cela complètez le fichier Etudiant/Operateur-Arith1.php Version2: avec quotes et uniquement les deux variables $x et $y. Pour cela complètez le fichier Etudiant/Operateur-Arith2.php Exercice3: Carte aléatoire Il s'agit d'écrire un script Php affichant une carte au hasard dans un jeu de 32 cartes. Pour cela, il vous suffira de complètez la page Etudiant/RandomCard.php, en affectant à la variable $FichierImage le nom d'une image au hasard parmis les 32 présentes dans le répertoire Images/CartesCode. Attention: Ne modifiez pas l'instruction echo! Conventions pour nommer les images de cartes Tous les exercices de ce cours sur les cartes utilisent des fichier images se trouvant dans Images/CartesCode. Ces fichiers image ont un nom de la forme XY.gif où : X est un chiffre entre 1 et 8 représentant la valeur de la carte (Sept=1, Huit=2, Neuf=3, Dix=4, Valet=5, Dame=6, Roi=7, As=8) Y est un chiffre entre 0 et 3 représentant la famille de la carte (0 = Carreau, 1=Coeur, 2=Pique, 3=Trefle) Par exemple, le fichier Images/CartesCode/72.gif, contient l'image du roi de pique.
Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 3 Exercices sur la conditionnelle Exercice4: Date aléatoire (version2) Page à complèter : Date-Aleatoire2.php Information utile pour cet exercice : Nombre de jours des mois de l'année: 28 jours : février des années non bissextiles. 29 jours : février des années bissextiles (multiples de 4). 30 jours : avril, juin, septembre, novembre. 31 jours : pour les autres mois. Pour savoir si un nombre entier $n est un multiple d'un autre nombre entier $k, utilisez l'opérateur %. Par exemple, on aura $n % 7 == 0 si et seulement si $n est un multiple de 7. Objectif Il s'agit d'afficher des dates aléatoires de la manière suivante: afficher le nom de mois (au lieu de son numéro comme dans la version 1). le numéro du jour est celui du dernier jour du mois en tenant compte des différences entre les mois et des années bissextiles. Le numéro du jour n'est donc plus aléatoire. l'année est un nombre aléatoire entre 1800 et 2030. Par exemple si $m=5,$a=2009,$h=21,$mn=32, la page affichée devra être : Nous sommes le 31 Mai 2009 Il est 21 heures et 32 minutes Structure de la page Date-Aleatoire2.php La page est composée de deux parties: 1. Un script qui servira à générer aléatoirement la date. Votre travail consistera à complèter ce script. 2. Un tableau HTML à une cellule contenant un script à ne pas modifier. Ce script affiche correctement la date à condition que: $j contient le numéro du jour. $nom contient le nom du mois. $a contient l'année. $h contient l'heure. $mn contient les minutes. La page fonctionnera donc correctement lorsque les variables $j, $nom, $a, $h et $mn contiendront les bonnes valeurs. Pour cela il vous faudra donc donner des valeurs à ces variables dans le premier script.
Exercice5: Carte aléatoire (version2) Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 4 Objectif: générer aléatoirement une image de carte ainsi que son nom. Par exemple, si la carte est une dame de trèfle, on devra obtenir ceci: Il s'agit d'un tableau HTML de deux cellules. Structure de la page RandomCard2.php Pour faire cet exercice, il vous faudra complèter la page Etudiant/RandomCard2.php, qui est organisée de la manière suivante: En début de page, se trouve un script Php que vous devrez complèter. Le role de ce script est de tirer une carte au hasard et de lui associer son nom. Le tableau HTML permettant d'afficher l'image de la carte et son nom. Les deux cellules de ce tableau contiennent des scripts PHP à ne pas modifier: Le script de la cellule du haut affiche l'image de la carte, en supposant que le nom du fichier image se trouve dans $FichierImage. Le script de la cellule du bas affiche le nom de la carte, en supposant que $NomValeur contient le nom de la valeur de la carte et $NomFamille contient le nom de la famille de la carte. La page devra donc fonctionner correctement à partir du moment où les valeurs des variables $FichierImage, $NomValeur et $NomFamille sont cohérentes. Pour cela, il vous faudra complèter le premier script dans l'ordre suivant: 1. Affecter un nombre au hasard entre 1 et 8 à $CodeValeur. 2. Affecter un nombre au hasard entre 0 et 3 à $CodeFamille. 3. En déduire le nom du fichier image et affecter celui-ci à $FichierImage. 4. Ecrire les instructions Php permettant de retrouver le nom de la valeur de la carte (à mémoriser dans $NomValeur) ainsi que le nom de la famille de la carte (à mémoriser dans $NomFamille).
Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 5 Exercice6: Jeu de bataille Le script à écrire ici doit simuler un jeu de bataille entre deux joueurs. Représentation HTML du Jeu Le jeu est représenté par un tableau HTML à trois lignes et deux colonnes comme suit: La colonne de gauche correspond au joueur 1 et la colonne de droite au joueur 2. La première ligne contient les images tirés par chacun des joeurs. La deuxième ligne donne les noms des deux joueurs (dans notre exemple, "Les riches" et "Les Pauvres"). La troisième ligne contient des animations gif qui indiquent qui a gagné et qui a perdu. Les animations gif sont issuent du répertoire Images/Smileys. Dans notre exemple, nous avons choisi celui-ci pour représenter le gagnant et celui-là pour représenter le perdant.
Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 6 Voici un autre exemple, où les pauvres gagnent: Scripts à écrire La page PHP à complèter est Etudiant/Bataille.php Votre travail consistera à complèter le script se trouvant au début du fichier (juste, après le commentaire "Tirage aléatoire et initialisation" ) ainsi que les deux scripts affichant les animations gif dans la troisième ligne du tableau HTML.
Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 7 Exercices sur les boucles Exercice7: Le roi en dernier Objectif: générer aléatoirement une suite de carte de pique se terminant par le roi de pique. Par exemple: Il s'agit d'un tableau HTML de deux lignes. La première contient les images des cartes et la seconde un numéro de colonne. Structure de la page LeRoiEnDernier.php Pour faire cet exercice, il vous faudra complèter la page Etudiant/LeRoiEnDernier.php. Vous y trouverez un tableau HTML à deux lignes contenant chacune un script incomplet Script 1: il sert à générer des cellules contenant des images aléatoires de cartes de piques jusqu'à obtenir un roi de pique. Script 2:il sert à numéroter les colonnes de 1 à N (où N est le nombre de cellules de la première ligne). Chacun de ces scripts contient une instruction echo que vous ne devez pas modifier. Script1: construction de la suite des images Le script 1 contient une instruction echo que vous devez répéter avec un boucle de manière à générer toutes les cellules de la première ligne. Cette instruction génére une cellule de tableau contenant une image du dossier Cartes. Elle fonctionnera correctement si la variable $FichierImage contient bien le nom d'un fichier image de ce dossier. Script2: numérotation des colonnes Le script 2 contient une instruction echo que vous devez répéter avec une boucle de manière à générer toutes les cellules de la deuxième ligne. Cette instruction génére une cellule contenant le numéro $i.
Introduction à Php - Echo et Structures de Contrôle - Exercices - Page 8 Exercice8: Les douze figures Objectif: générer un tableau de quatres lignes et trois colonnes contenant les figures de carreau dans la première ligne, celles de coeur dans la deuxième, celles de pique dans la troisième et celles de trèfle dans la quatrième.on obtiendra ainsi l'affichage suivant: Question A: une boucle par ligne Pour faire cette question, il vous faudra complèter la page Etudiant/LesDouzeFiguresA.php. Cette page contient un tableau HTML de quatres lignes. Dans chaque ligne figure un script incomplet dont le but est de générer les cellule de la ligne. Chaque script contient pour l'instant une instruction echo, qui génère une cellule contenant une image à condition que la variable $FichierImage contiennent le bon nom de fichier. Votre travail consistera à répéter cette instruction en boucle de manière à ce que chaque ligne contiennent les trois figures de chaque famille. Question B: une seule boucle pour tous le tableau Il s'agit de refaire la même chose en une seule boucle. La page php à complèter est Etudiant/LesDouzeFiguresB.php.