Pour ce 2ème TD, nous allons voir les boucles, les conditions, les tableaux en faisant un petit détour par la fonction rand, tout en rendant une petite visite à nos amis de chez Naruto…

8-) Pour ceux qui n'ont pas eu trop de mal sur les exercices Javascript, vous n'aurez pas trop de mal non plus pour les exercices suivants : vous allez principalement traiter des boucles et des conditions. Si vous vous souvenez bien de for, while, foreach, if et else ça va être facile, sinon… ben accrochez vous ! :-|

Boucles

exemple de boucle for

Que fait ce script ? le meilleur moyen de savoir, c'est de tester.

<html>
<head>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8">
</head>
<body>
 
<?php
	error_reporting(E_ALL);
 
	//methode while
	$chiffre = 3;
	$i = 0;
	while ($i < $chiffre){
		echo 'je fais ma boucle '.$i.'<br />';
		$i++;
	}
	//methode for
	$chiffre = 3;
	for ($i=0; $i<$chiffre; $i++){
		echo 'je fais ma boucle '.$i.'<br />';
	}
 
 
?>
 
</body>
</html>

Si vous ne comprenez pas pourquoi, relisez l'amphi02.

Boucle for

Une suite de nombres

A l'aide d'une boucle for, compter de 0 à 11 : (n'oubliez pas les balises <br /> pour les sauts de ligne)

0
1
2
3
4
5
6
7
8
9
10
11

Les mois de l'année

A l'aide du tableau ci-dessous, vous devez afficher le mois de mars :

$annee = array('janvier', 'février', 'mars', 'avril',
 'mai', 'juin', 'juillet', 'aout', 'septembre', 'octobre', 'novembre', 'décembre');

Vous devez maintenant, avec le tableau ci-dessus et une boucle for, afficher tous les mois de l'année dans l'ordre :

janvier
février
mars
avril
mai
juin
juillet
aout
septembre
octobre
novembre
décembre

kiwi banane

Reprenons maintenant nos célébricimes kiwis et bananes:

On commence simple: affichez 30 fois kiwi et 30 fois banane

kiwi
kiwi
kiwi
... 30 fois

banane
banane
banane
... 30 fois

Maintenant, affichez 30 fois dans cet ordre :

kiwi
banane
banane

kiwi
banane
banane

kiwi
banane
banane

(30 fois donc)

Pour finir, affichez 30 fois 10 kiwis suivis de 20 bananes, c'est à dire

kiwi
kiwi
kiwi
kiwi
kiwi
kiwi
kiwi
kiwi
kiwi
kiwi
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane
banane

(30 fois de suite, donc)

Naruto

Les perso et le Ninjutsu

1/ Grâce au tableau ci-dessous et d'une boucle foreach, afficher le nom des personnages et leurs valeurs en Ninjustsu :

$perso = array('Naruto'=>'3','Sakura'=>'2','RockLee'=>'0','Kakashi'=>'5');
Nom du personnage : Naruto
Valeur en Ninjutsu : 3

Nom du personnage : Sakura
Valeur en Ninjutsu : 2

Nom du personnage : RockLee
Valeur en Ninjutsu : 0

Nom du personnage : Kakashi
Valeur en Ninjutsu : 5

2/ En créant le ou les tableau(x), affichez le nom et la valeur en Ninjutsu de chacun des personnages :

Utilisez ce lien pour vous aider : http://www.naruto-uzumaki.net/personnages-naruto.html

Les persos et toutes leurs compétences

3/ :!: Exercice optionnel :

a/ En utilisant le tableau ci-dessous, affichez le nom de chacun des 4 personnages (Naruto, RockLee, Sakura, Sasuke) avec chacune de leurs valeurs :

$perso = array(
      array('nom' => 'Naruto', 'Ninjutsu' => '3', 'Taijutsu' => '2', 'Genjutsu' => '0', 'Force' => '4', 'Vitesse' => '3', 'Endurance' => '5'),
      array('nom' => 'RockLee', 'Ninjutsu' => '0', 'Taijutsu' => '5', 'Genjutsu' => '0', 'Force' => '3', 'Vitesse' => '4', 'Endurance' => '2'),
      array('nom' => 'Sakura', 'Ninjutsu' => '2', 'Taijutsu' => '2', 'Genjutsu' => '3', 'Force' => '0', 'Vitesse' => '0', 'Endurance' => '1'),
      array('nom' => 'Sasuke', 'Ninjutsu' => '3', 'Taijutsu' => '3', 'Genjutsu' => '1', 'Force' => '3', 'Vitesse' => '3', 'Endurance' => '4')
      );
 

b/ Faites de même pour tous les personnages de la page. LOL

Conditions

les conditions servent à faire des tests et des comparaisons.

if

if, en français, veut dire “si”. La syntaxe ressemble à celle utilisée dans la langue

Si      a est plus grand que b      alors
if             ($a > $b)                {

if sert à exécuter un code sous condition(s). Les conditions peuvent-être une comparaison comme dans les exemples ci-dessous :

Ci-dessous on compare deux chiffres

$first = 10;
$second = 3;
 
if($first == $second) {
 
    echo 'la condition égale est bonne';
 
}
 
if($first != $second) {
 
    echo 'la condition différente est bonne';
 
}
 
if($first < $second) {
 
    echo 'la condition inférieure est bonne';
 
}
 
if($first > $second) {
 
    echo 'la condition supérieure est bonne';
 
}

a/ A votre avis, quelles sont les conditions qui seront vérifiées?

b/ Si $first = 15 et $second = 25, quelles seront les conditions qui seront vérifiées? Merci de le coder.

else

else, c'est sinon. Comme en français, le sinon existe que si le “si” a déjà été évoqué.

Si Naruto a plus de points que Kakashi en Ninjustsu, alors Naruto est plus fort que Kakashi, sinon c'est kakashi le plus fort !

if($a > $b) {
 
  echo 'a est le plus grand!';
 
} else {
 
  echo 'a n\'est pas le plus grand!';
 
}

Tiens, justement, et si vous me codiez la comparaison entre Naruto et kakashi citée un peu plus haut et affichée en gras? … LOL

Tirage aléatoire

a/ Nous allons simuler un site de tirage aléatoire de numéros de loto, le but est d'afficher des combinaisons de 6 chiffres entre 0 et 99 tels que :

Tirage du loto  -  16 - 20 - 66 - 3 - 7 - 89

Pour générer un nombre aléatoire entre 0 et 99, utilisez la fonction rand.

Pour répéter cette opération 6 fois, utilisez une boucle for ou while.

Il peut y avoir plusieurs fois le même chiffre qui sort, c'est un tirage aléatoire avec remise. Si vous avez envie de coder le même exercice sans remise, c'est plus compliqué mais possible.

b/ Faites de même avec une suite de 500 chiffres compris entre 0 et 99

Le Naruto moyen... (optionnel)

a/ Développer un petit script permettant d'additionner toutes les compétences de tous les personnages.

c/ Une fois que vous avez le résultat de l'addition, en tirer une note moyenne.

b/ Comparez le cumul des notes de compétence de chaque personnage par rapport à la moyenne précédemment calculée. Faite ceci comme suit en utilisant bien entendu des boucles et conditions.

d/ Si la note du personnage est au dessus de la moyenne afficher le nom et la note du personnage en vert, sinon, l'afficher en rouge.

Ready ? Fight ! finish HIM!!!!

1/ Créez un tableau regroupant tous les personnages de Naruto et leur valeur en Ninjutsu.

2/ Récupérer deux personnages de manière aléatoire.

3/ Afficher ces deux personnages et leur level de cette manière :

Naruto : 5 en Ninjutsu

VS

Kakashi : 7 en Ninjutsu

4/ Comparez les niveaux en Ninjutsu

5/ Affichez qui est le gagnant ou s'il y a match nul

Pour ceux qui s'en sentent le courage, afficher la photo des personnages (optionnel)

ressources/php/td02.txt · Last modified: 2013/06/16 22:51 (external edit)
 
 
Creative Commons License Powered by PHP Valid XHTML 1.0 April