Principes de programmation
Boucles
2526 · Dekens Antoine
Manipulation des nombres
ou nombre approché
round( )
Arrondit un nombre à virgule flottante :
echo round( 1 ); // 1
echo round( 1.5 ); // 2
echo round( 1.49 ); // 1
echo round( 1.7 ); // 2
echo round( -1.2 ); // -1
echo round( -1.8 ); // -2
floor( )
Arrondit à l'entier inférieur :
echo floor( 1 ); // 1
echo floor( 1.5 ); // 1
echo floor( 1.49 ); // 1
echo floor( 1.7 ); // 1
echo floor( -1.2 ); // -2
echo floor( -1.8 ); // -2
ceil( )
Arrondit à l'entier supérieur:
echo ceil( 1 ); // 1
echo ceil( 1.5 ); // 2
echo ceil( 1.49 ); // 2
echo ceil( 1.7 ); // 2
echo ceil( -1.2 ); // -1
echo ceil( -1.8 ); // -1
Incrémentation
L'opérateur ++ permet d'incrémenter, c'est à dire d'ajouter 1 à une variable :
$a = 10;
// On incrémente de 1 la valeur de $a -> 11
$a = $a + 1;
// La même incrémentation mais avec l'opérateur "++"
$a++;
Décrémentation
L'opérateur -- permet de décrémenter, c'est à dire de soustraire 1 à une variable :
$a = 10;
// On incrémente de 1 la valeur de $a -> 9
$a = $a - 1;
// La même incrémentation mais avec l'opérateur "--"
$a--;
Les boucles simples
Les boucles permettent d'éxécuter de manière répétée un bout de code simplement et rapidement. Cela peut être vu comme une manière automatisée de copié-collé une ligne de code.
Nous allons voir deux façons de les écrire :
- while
- for
while
La boucle while permet de créer une boucle qui s'exécute tant qu'une condition de test est vérifiée. La condition est évaluée avant d'exécuter le code contenue dans la boucle. On y retrouvre :
- une initialisation d'un compteur
- une condition (ou test de séjour)
- un bout de code à éxécuter
- une modification du compteur
Syntaxe
// initialisation du compteur
$i = 0;
// notre condition "tant que $i est strictement plus petit que 10"
white( $i < 10 ) {
// Notre code entre accolades
// on affiche la valeur de $i
echo $i;
// Il faut incrémenter $i pour avancer dans notre boucle
$i++;
}
for
La boucle for crée une boucle composée de trois expressions séparées par des points-virgules :
- initialisation d'un compteur
- une condition (ou test de séjour)
- une modification du compteur
Syntaxe
// Les 3 expressions entre parenthèses
for( $i = 0; $i < 10; $i++ ) {
// Notre code entre accolades
// on affiche la valeur de $i;
echo $i;
}
Exercice
- Afficher avec echo les chiffres à partir de 0 jusqu'à 9 avec la boucle while.
- Afficher avec echo les chiffres depuis de 9 jusqu'à 0 avec la boucle for.
Traverser un tableau
La dernière fois on a vu comment créer un tableau, manipuler ses données, et afficher un élément en particulier :
// Un nouveau tableau avec 3 éléments de type 'string'
$pokedex = [ 'pikachu', 'onix', 'carapuce' ];
// On ajoute un élément de type 'string'
$pokedex[] = "Stari";
// On affiche le deuxième élément
echo $pokedex[ 1 ];
Mais comment afficher chaque entrée de notre tableau ? Avec l'aide d'une boucle, voici les étapes :
- Récupérer la longueur de notre tableau
- Prévoir une boucle avec une condition avec notre longueur
- Utiliser le compteur comme indice pour afficher les éléments de notre tableau
Récupérer la longueur de notre tableau
// Notre tableau
$pokedex = [ 'pikachu', 'onix', 'carapuce' ];
// Récupérer la longueur avec 'count'
$length = count( $pokedex );
Afficher chaque élément
$pokedex = [ 'pikachu', 'onix', 'carapuce' ];
$length = count( $pokedex );
// $i avec une valeur de départ 0
// tant que $i est strictement plus petit que la longueur de notre tableau
// on continue d'augmenter la valeur de $i
for( $i = 0; $i < $length; $i++ ){
// $i va s'incrémenter de 1 et permettre
// d'afficher chaque entrée de notre tableau
echo $pokedex[ $i ];
}
Avec la boucle while
$pokedex = [ 'pikachu', 'onix', 'carapuce' ];
$length = count( $pokedex );
// $i avec une valeur de départ 0
$i = 0;
// tant que $i est strictement plus petit que la longueur de notre tableau
while( $i < $length ) {
// Affiche chaque entrée de notre tableau
echo $pokedex[ $i ];
// on continue d'augment er la valeur de $i
$i++;
}
Exercices
Moyenne
Vous possédez 6 pokemons, qui ont chacun un niveau différent (10, 5, 30, 13, 21, 16). En utilisant une boucle while, nous voulons afficher le niveau moyen de votre équipe avec un echo;
Nombre pair
Avec ce même tableau de données, mais en utilisant une boucle for, on veut afficher, pour chaque Pokémon, si son niveau est pair ou impair ou non.
Indice : condition avec l'opérateur de reste %Moyenne++
Toujours avec ces données, on veut calculer la moyenne des niveaux pairs.