Previous Up Next
Université Lille 3-Charles de GaulleUFR de Mathématiques Sciences Économiques et Sociales

Chapitre 13  Premiers exemples en PHP

13.1  LE premier programme

  <HTML><BODY>
  <?php
    echo "Hello world!";
  ?>
  </BODY></HTML>
Remarques sur cet excercice : 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 : Pour voir le résultat produit :
http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/phpinfo.php

13.3  Rappels (?) d'algorithmique

  1. 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.
  2. Il existe des structures qui permettent de rompre la séquence. Vous trouverez ci-dessous les principales. Il y en a d'autres...
  3. 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
    }
  4. 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
    }
  5. 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

  1. 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...
  2. L'affectation est notée « = ».
  3. Les opérateurs classiques sur les nombres sont disponibles : « + » (addition), « - » (soustraction), « * » (multiplication), « / » (division).
  4. Le seul opérateur sur les chaînes est la concaténation, symbolisée par un point (« . »).
  5. 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).
  6. 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; ».

13.6  À vous

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...).
  1. É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
  2. É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
  3. Écrire un programme qui calcule 30!.
    Exemple :
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/exemples/factorielle.php
  4. É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
  5. É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
  6. Coefficients du binôme :
    1. Écrire une fonction qui renvoie n!.
    2. Utiliser la fonction précédente pour écrire une fonction qui renvoie Cnp=n!/p!(np)!.
    3. 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
  7. La suite de Fibonnacci est définie par les relations suivantes : 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
  8. 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
  9. 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
  10. 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
D.Gonzalez (gonzalez@univ-lille3.fr) en date du th , 

Previous Up Next