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: