Chapitre 13 Premiers exemples en PHP
13.1 LE premier programme
<HTML><BODY>
<?php
echo "Hello world!";
?>
</BODY></HTML>
Remarques sur cet excercice :
-
«
echo » sert à produire un affichage.
- Pour que «
echo » affiche le texte tel quel, ce texte
doit être entouré de guillemets « " ». Sinon
« echo » essaie de comprendre.
Par exemple « echo 1+2; » provoque l'affichage de
« 3 ».
Tandis que « echo "1+2"; » provoque l'affichage de
« 1+2 ».
Pour voir le résultat produit :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/helloworld.php
13.2 LE deuxième programme
<HTML><BODY>
<?php
phpinfo();
?>
</BODY></HTML>
Remarques sur cet excercice :
-
Vous obtenez tous les renseignements possibles sur la version de
PHP installée sur votre machine.
- «
phpinfo() » est une fonction : une seule
instruction qui permet à PHP d'effectuer beaucoup de choses.
Nous verrons plus tard comment écrire nos propres fonctions. On
reconnait une fonction aux parenthèses qui lui sont accolées.
Pour voir le résultat produit :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/phpinfo.php
13.3 Rappels (?) d'algorithmique
-
La structure de base d'un programme est la séquence : les
instructions sont exécutées les unes après les autres, dans l'ordre
où elles sont écrites. Les intructions sont toujours
terminées par un point-virgule (« ; »). Ce n'est
pas un séparateur d'instructions.
- Il existe des structures qui permettent de rompre la séquence.
Vous trouverez ci-dessous les principales. Il y en a d'autres...
- L'alternative : un test est exécuté ; selon que son
résultat soit OUI ou NON, une partie du programme ou une autre est
exécutée.
Sa syntaxe en PHP est :
if (test) {
instructions à exécuter quand la réponse est OUI
} else {
instructions à exécuter quand la réponse est NON
}
- L'itération (TANT QUE) : une partie du programme est
exécutée tant que le résultat d'un test est OUI (le calcul est
fait AVANT chaque entrée dans la boucle).
Sa syntaxe en PHP est :
while (test) {
instructions à exécuter tant que la réponse est OUI
}
- La boucle POUR : ce n'est qu'un cas particulier de la
boucle TANT QUE.
Sa forme générale est :
for (avant d'entrer ; test ; action de fin de boucle) {
instructions à exécuter quand la réponse au test est OUI
}
où « avant d'entrer » et « action de fin de boucle »
sont des actions quelconques. Cette forme est totalement
équivalente à celle-ci :
avant d'entrer ;
while ( test ) {
instructions à exécuter quand la réponse au test est
OUI ;
action de fin de boucle ;
}
Mais on l'utilisera le plus souvent sous cette forme :
for (initialiser compteur ; test compteur ; incrémenter compteur) {
instructions à exécuter quand la réponse au test est OUI
}
comme dans l'exemple suivant qui provoque l'affichage :
« 357911131517 » :
for ($i=3 ; $i<19 ; $i=$i+2) {
echo $i;
}
13.4 Variables et expressions
-
Les noms des variables sont préfixés par $. Il
n'est pas nécessaire de déclarer les variables avant de les
utiliser. Le contrôle des types est plutôt souple...
- L'affectation est notée « = ».
- Les opérateurs classiques sur les nombres sont disponibles :
« + » (addition), « - » (soustraction),
« * » (multiplication), « / » (division).
- Le seul opérateur sur les chaînes est la concaténation,
symbolisée par un point (« . »).
- Les opérateurs de comparaison sont eux aussi (presque tous)
classiques : « < » (inférieur), « <= » (inférieur
ou égal), « > » (supérieur), « >= » (supérieur ou
égal), « == » (égal), « != » (différent).
- Les opérateurs logiques de base sont « || » (ou) et
« && » (et).
13.5 Fonctions
Une fonction se définit par :
function nom_de_la_fonction () {
corps_de_la_fonction
}
pour une fonction sans paramètres, ou
function nom_de_la_fonction (paramètres) {
corps_de_la_fonction
}
pour une fonction avec paramètres.
Les paramètres sont toujours passés par valeur.
Le résultat de la fonction est la valeur qui se trouve derrière la
première instruction return rencontrée. Par exemple
« return 5; ».
Il n'y a pas de procédures : si vous voulez qu'une de vos fonctions se
comporte comme une procédure, il suffit de ne lui faire renvoyer
aucune valeur, par exemple avec « return; ».
Dans les exercices qui suivent vous ferez en sorte que les
résultats soient présentés proprement (je vous laisse libre choix sur
le sens exact de ce mot...).
-
Écrire un programme PHP qui affiche tous les nombres impairs
entre 0 et 15000, par ordre croissant : « 1 3 5 7 ...
14995 14997 14999 ».
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/impair.php
- Écrire un programme qui écrit 500 fois « Je dois faire des
sauvegardes régulières de mes fichiers. »
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/punition.php
- Écrire un programme qui calcule 30!.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/factorielle.php
- Écrire un programme qui affiche la table de multiplication par
13.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/multiplication.php
ou mieux : http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/multiplicationbis.php
- Écrire un programme qui affiche la table de multiplication
totale de {1,...,12} par {1,...,12}.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/multiplicationtotale.php
- Coefficients du binôme :
-
Écrire une fonction qui renvoie n!.
- Utiliser la fonction précédente pour écrire une fonction qui
renvoie Cnp=n!/p!(n−p)!.
- Utiliser les fonctions précédentes dans un programme qui
affiche les coefficients du binôme pour toutes les valeurs de n
dans {0,1,..,20} :
Cn0 Cn1 Cn2 ... Cnn−1 Cnn
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/binome.php
- La suite de Fibonnacci est définie par les relations suivantes :
-
F0=0,
- F1=1,
- Fn=Fn−1+Fn−2 pour tout n>1.
Donc F0=0, F1=1, F2=0+1=1, F3=1+1=2, F4=2+1=3,
F5=3+2=5, F6=5+3=8, F7=8+5=13, ...
Écrire un programme qui affiche les 50 premières valeurs de Fn.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/fibonnacci.php
- Fibonnacci, le retour : afficher les rapports
Fn/Fn−1, ainsi que sa différence avec le nombre
(51/2−1)/2.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/fibonnacci-retour.php
- Afficher un cadre 10x10.
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/cadre-pre.php
ou
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/cadre-table.php
- Tableau d'additions : faire réaliser par une page PHP un
tableau d'additions à compléter (pour l'entraînement d'un enfant au
calcul).
Exemple :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/tableauadditionsfixe.php
ou
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/tableauadditionsvariable.php