Introduction à Php - Cours E.Thirion
Transcription
Introduction à Php - Cours E.Thirion
Introduction à Php - Fonctions - Exercices - Page 1 Introduction à Php Exercices sur les Fonctions Auteur: E. Thirion - Dernière mise à jour 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. Exercice1 - Affichage d'un texte encadré En vous inspirant de la fonction TexteEncadre du cours, écrivez une version plus souple de cette fonction nommée TexteEncadre2 permettant de modifier la police, la taille des caractères, la couleur du cadre, du fond et du texte. Vous aurez pour cela à complèter deux fichiers php (schéma): • Etudiant/TexteEncadre2.php : dans ce fichier figurera uniquement des appels à la fonction TexteEncadre2. • Etudiant/Fonction-TexteEncadre2.php : ce fichier ne contiendra que la définition de la fonction TexteEncadre2. L'interprétation de la page TexteEncadre2.php doit provoquer l'affichage suivant : Introduction à Php - Fonctions - Exercices - Page 2 • Premier affichage : police Verdana, taille 4, couleur du texte: white, couleur du fond: black, couleur du cadre: red. • Deuxième affichage : police Elephant, taille 5, couleur du texte: orange, couleur du fond: blue, couleur du cadre: black. • Troisième affichage : police Times, taille 7, couleur du texte: black, couleur du fond: white, couleur du cadre: yellow. • Quatrième affichage : police Arial, taille 6, couleur du texte: red, couleur du fond: green, couleur du cadre: red. Notez que la couleur du cadre est celle du tableau (attribut bgcolor de la balise table). Exercice2 - Jeu d'échec Objectif Il s'agit de générer le tableau HTML suivant, en partant de fichiers contenant les images de pièces d'échecs: Numérotation des lignes et des colonnes Pour tout l'exercice on supposera que: • les lignes sont numérotées de 1 à 8 de haut en bas. Introduction à Php - Fonctions - Exercices - Page 3 • les colonnes sont numérotées de 1 à 8 de la gauche vers la droite. Organisation du code en trois fichiers Le code de cet exercice sera toujours contenu dans trois fichiers (cf schéma ci-dessous) dont le nom variera selon la question posée. Par contre, le nom des fonctions restera le même d'une question à l'autre. Organisation du code en trois fichiers Le fichier 1 contient un appel de la fonction GenererEchiquier. Vous n'aurez jamais à modifier ce fichier. C'est ce fichier php qui sera interprèté en premier lorsque vous cliquerez sur le lien Test. Le fichier 2 contient la fonction GenererEchiquier ainsi que deux autres fonctions GenererLigne et GenererCellule utilisée par la première pour générer respectivement le code HTML d'une ligne et d'une cellule de l'échiquier. Le fichier 3 contient trois fonctions utilisées par la fonction GenererCellule: CouleurCase, CouleurPiece et Piece qui déterminent couleur d'une case de ainsi que la couleur et le nom de la pièce d'une case particulière de l'échiquier. Première partie: fonctions de base La première partie de l'exercice consistera à écrire les trois fonctions de base: CouleurCase, CouleurPiece et Piece qui déterminent respectivement la couleur d'une case de l'échiquier, la couleur d'une pièce de l'échiquier et le nom d'une pièce de l'échiquier sur la position initiale du jeu d'échec, en fonction des indices de ligne et de lcolonne de la case. Exemple: la case se trouvant à la ligne 1, colonne 3 est noire et contient un fou blanc. • CouleurCase retournera la valeur "black". • CouleurPiece retournera la valeur "blanc". • Piece retournera la valeur "Fou". Introduction à Php - Fonctions - Exercices - Page 4 I-1: Couleur des cases Schéma d'inclusion des fichiers Pour répondre à cette question, il vous suffira de complèter la fonction CouleurCase du fichier CouleurCase.php. Les fonctions Piece et CouleurPiece sont déjà écrite. Ne les modifiez pas. Indication: ● la couleur d'une case est déterminé par la parité de i + j (i : indice de ligne, j : indice de colonne). ● en Php, la condition n est pair s'écrit $n % 2 == 0. Si votre fonction CouleurCase est bien écrite, un clic sur le lien Votre Solution (qui charge la page EchiquierVide.php) devra faire apparaitre la page suivante dans le cadre de droite: I-2 Couleur des pièces La couleur des pièces disposées sur l'échiquier dépend uniquement de la ligne sur laquelle elles sont posées. Introduction à Php - Fonctions - Exercices - Page 5 Schéma d'inclusion des fichiers Pour répondre à cette question, il vous suffira de complèter la fonction CouleurPiece du fichier CouleurPiece.php. Cette fonction est définie comme suit: CouleurPiece ( i ): retourne le nom en francais de la couleur de la pièce contenue dans une case de la ligne i. Plus précisément, on retournera la chaine "Blanc", si la ligne i ne contient que des pièces blanches et la chaine "Noir", si elle ne contient que des pièces noires. Si la ligne ne contient aucune de pièce, elle retourne la chaine vide. La fonction Piece est déjà écrite. Ne la modifiez pas. Quand à la fonction CouleurCase, vous pouvez récupérer le code de la question précédente. Si votre fonction CouleurPiece fonctionne correctement vous devriez obtenir l'affichage suivant: Introduction à Php - Fonctions - Exercices - Page 6 I-3 Nom des pièces Schéma d'inclusion des fichiers Complètez la fonction Piece du fichier Etudiant/Piece.php. Pour les deux autres fonctions, vous pouvez récupérer les codes des deux questions précédentes. La fonction Piece est définie comme suit: Piece ( i , j ): retourne le nom de la pièce contenue dans la case ligne i, colonne j. Si la case ne contient pas de pièce, elle retourne la chaine vide. Les noms des pièces sont les chaines de caractères "Pion", "Roi", "Dame", "Cavalier", "Fou", "Tour". Deuxième partie: altération de l'échiquier Dans cette deuxième partie de l'exercice on essaiera de modifier l'affichage de l'échiquier de différentes manière en modifiant le code des fonctions GenererCellule, GenererLigne et GenererEchiquier. Il ne faudra pas nécessairement modifier toutes ces fonctions. A vous de voir quelle partie du code il faudra modifier. Altération 1 Schéma d'inclusion des fichiers Introduction à Php - Fonctions - Exercices - Page 7 Votre travail: modifier la page GenererEchiquier2.php afin d'obtenir l'affichage suivant: A vous de trouver quelle partie du code il faudra modifier. Attention: vous ne devez rien changer au code de la page Piece.php ! Altération 2 Même principe, sauf que le fichier à modifier est GenererEchiquier3.php et que vous devez obtenir ceci: Introduction à Php - Fonctions - Exercices - Page 8 Altération 3 Même principe, sauf que le fichier à modifier est GenererEchiquier4.php et que vous devez obtenir ceci: Altération 4 Même principe, sauf que le fichier à modifier est GenererEchiquier5.php et que vous devez obtenir ceci: