Objectif du TP :
- Savoir installer l'environnement de travail
- Bases du langage >
- Déclarer des variables, et boucles et conditions
Rendu : Créer un projet sur Github nommé :
bddi1-php-tp1
Chaque étape fera l'objet d'un commit au minimum.
Installer l'environnement de travail #
- Installez PHP 8 avec
XAMPP
.
Exercice 1 - hello Yourname #
Créer un script nommé hello.php
qui affichera le message Hello World
.
Il existe 2 variables globales $argv
et $argc
.
Que contiennent ces variables ?
Le script hello.php doit prendre un paramètre de nom, et afficher "hello NOM".
Pour tester :
php ./hello.php Henri
devra afficher
hello Henri
⚠️ Si l'argument n'est pas passé, il faut que le script continue à fonctionner.
Vérifiez que l'argument est passé paramètre et si ce n'est pas le cas, retournez par défaut "hello World".
Exercice 2 - Calculatrice #
L'objectif de cette partie est de faire une calculatrice simple.
La calculatrice aura 4 opérations simples : addition / soustraction / division / multiplication.
Exemples d'usage :
php ./calculator.php add 1 4 #affichera 5
php ./calculator.php + 1 4 #affichera 5
php ./calculator.php / 1 4 #affichera 0.25
Les opérations à implémenter :
Opération | Opérateur |
---|---|
addition | + , add |
soustraction | - ,sub |
multiplication | * ,mult |
division | / ,div |
modulo | % ,mod |
À l'aide de la fonction die
, gérez le cas où l'opération ne figure pas dans la liste des opérations autorisées : affichez le message unknown operation
.
Que se passe-t-il dans le cas de cette opération :
php ./calculator.php / 5 0
Ajoutez une condition qui affichera invalid division
.
Cette calculatrice sera améliorée dans la dernière partie.
Exercice 3 - Devine Le nombre #
Le but de cet exercice est de faire un jeu ou l'ordinateur choisira un nombre, et il faudra proposer un nombre pour trouver le juste nombre.
Nous allons utiliser la fonction rand pour choisir un nombre.
La première étape sera d'apprendre à lire l'entrée standard (STDIN).
Qu'est-ce que l'entrée standard
STDIN
?
Pour cette étape on peut utiliser la fonction fscanf ou fgets
$line = trim(fgets(STDIN)); // lit une ligne depuis STDIN
fscanf(STDIN, "%d\n", $number); // lit des nombres depuis STDIN
Le jeu se déroulera dans une boucle, et l'objectif sera de compter le nombre de tentatives pour afficher ce nombre à l'utilisateur quand il aura trouvé. Et comme cela risque de se compliquer, il faudrait pouvoir indiquer à l'utilisateur si le nombre est plus haut que ce qu'il propose ou non.
Le script s'appellera guessNumber.php
.
Exercice 3 - Partie 2 - Jeu amélioré #
L'objectif de cet exercice est de fournir une version améliorée du jeu.
Nous avons décidé de rendre la partie plus difficile, il ne faut plus indiquer au joueur si la valeur est plus haute ou plus basse que celle proposée.
À la place, il faudra dire au joueur s'il se rapproche de la valeur ou s'éloigne. Utilisez la fonction abs
si besoin.
De plus, Nous souhaitons pouvoir permettre à l'utilisateur de choisir le nombre maximum pour l'interval (entre 0 et X).