16 Jan2016
Manipuler les structures de base - Les boucles
Objectif:
Utiliser les boucles (while do...while et for ).
Énoncé :
- Déclarer un nombre $initial avec une valeur supérieure à 100 et inférieure à 1000 en utilisant la boucle " while" effectuer des tirages aléatoires des nombres jusqu'à obtenir la même valeur du $initial et afficher le nombre d'itérations réalisées.Donnez une variante avec la boucle do ....while
- Ecrivez un script qui affiche les multiples du nombre 3 inférieurs à un nombre donné.
- Utiliser la boucle for pour tester si un nombre donné est premier.
Note
Un nombre premier est un entier naturel qui admet exactement deux diviseurs distincts entiers et positifs (qui sont alors 1 et lui-même).
- script Q1 en utilisant while :
<?php //nombre initial à trouvé $initial =495; //compteur $i=1; //premier tirage la fonction mt_rand(min,max) permet de générer un nombre entre min et max //vous pouvez utiliser rand() aussi mais la fonction mt_rand() est plus rapide . $r=mt_rand(100,1000); //boucle de tirage while ($r!=$initial) { $r=mt_rand(100,1000); $i++; } echo "$initial trouvé après $i itérations";
Deuxième variante avec do...while
$initial =495; //compteur $i=0; do{ $r=mt_rand(100,1000); $i++; }while($r!=$initial); echo "$initial trouvé après $i itérations";
- script Q2
$nb=30; echo "les multiples du nombre 3 infèrieur à $nb :"; for($i=3;$i<=$nb;$i++){ if($i%3==0) echo "$i<br>"; }
- script Q3
Note
- il suffit de tester tous les nombres de 2 à seulement, puisque si alors soit soit ,
$n=23; $count=1; //la fonction sqrt($n) renvoie la racine du nombre $n $racine=sqrt($n); for($i=2; $i<=$racine;$i++) { if($n % $i == 0) $count++; } if($count==1) echo"$n est un nombre premier"; else echo"$n n'est pas un nombre premier";