Précédent Index Suivant
Université Lille 3-Charles de GaulleUFR de Mathématiques Sciences Économiques et Sociales
Chapitre 20 Algorithmique et PHP : introduction simplifiée
20.1 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 d'autres 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;
    }
20.2 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).
20.3 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; ».
20.4 Chaînes de caractères
Une chaîne de caractères est encadrée par des guillemets (« " ») ou des apostrophes (« ' »). Dans le premier cas le contenu est évalué, dans le deuxième cas il ne l'est pas. Ainsi :
20.5 Tableaux
20.5.1 Syntaxe
Un tableau est d'abord une variable, donc son nom commence par « $ ». La syntaxe est la même que dans la plupart des langages : « $x[$j] » désigne le je élément du tableau « $x ». Les éléments de tableau ne sont pas évalués dans les chaînes de caractères. Attention : en PHP la numérotation des éléments d'un tableau commence toujours à zéro.
20.5.2 Initialisation
Outre les façons classiques, il existe plusieurs autres manières d'initialiser un tableau.
Ainsi $t[0]="a"; $t[1]="e"; $t[2]="s";
peut s'écrire $t[]="a"; $t[]="e"; $t[]="s";
ou $t=array(0=>"a",1=>"e",2=>"s");
20.5.3 Tableaux associatifs
PHP permet de manipuler des tableaux associatifs : au lieu d'être des entiers consécutifs commençant à zéro, les indices peuvent être n'importe quoi... On peut ainsi écrire « $t["machin"]="truc"; ».
20.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/algo-01.php3
  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/algo-02.php3
  3. Écrire un programme qui calcule 30!.
    Exemple :
    http://www.grappa.univ-lille3.fr/polys/reseaux-DG/algo-03.php3
D.Gonzalez (gonzalez@univ-lille3.fr) en date du 24 janvier 2002

Précédent Index Suivant