13/03/2013
1
Structures conditionnelles
{//instructions…}
1
Qu’est ce qu’une condition ?
Exemples:
Pas de condition: “Vous êtes une personne”.
Condition simple: “Si vous avez plus de 18 ans, vous êtes majeur”.
Alternative: “Si vous avez plus de 18 ans, vous êtes majeur sinon vous êtes mineur”.
Conditions imbriquées: “Si vous êtes mineur, vous ne pouvez pas rentrer sinon si vous êtes une fille, vous rentrez gratuitement”
Multi-conditions: “Si vous êtes majeur ET si vous avez la nationalité française, vous pouvez voter”
Multi cas:
cas 1: vous êtes en SHS, alors vous allez à Bois de l’étang cas 2: vous êtes en MATH, alors vous allez à Copernic cas 3: vous êtes en MITIC, alors vous allez à Val d’Europe Sinon: vous n’entrez pas.
Structures conditionnelles
Syntaxe 1: if (condition) {//instructions…}
Syntaxe 1: if (condition) {//instructions…}
Syntaxe 2: if (condition) {//instructions…}
else
{//instructions…}
Syntaxe 2: if (condition) {//instructions…}
else
{//instructions…}
2 if ($a > $b)
{echo "$a est le plus grand";}
if ($a > $b)
{echo "$a est le plus grand" ;}
else
{echo "$b est le plus grand" ;}
Structures conditionnelles
Exemple: Ecrire un programme qui affiche un message « Mineur » si vous avez moins de 18 ans et « Majeur » dans le cas contraire:
Exemple: Ecrire un algorithme qui affiche un message
« Mineur » si vous avez moins de 18 ans et « Majeur » dans le cas contraire:
3 if ($age < 18)
{echo "Mineur !";}
else
{echo "Majeur !";}
Structures conditionnelles
Syntaxe 3: if (condition) {//instructions…}
elseif (condition) {//instructions…}
else {//instructions…}
4 if ($a > $b)
{echo "$a est plus grand que $b" ;}
elseif ($b > $c)
{echo "$b est le plus grand" ;}
else
{echo "Qui est le plus grand ?" ;}
Structures conditionnelles
Exercice:
Voici le programme PHP qui affiche si la lettre saisie par l'utilisateur est une voyelle ou une consonne…
5 if ($lettre=='A' || $lettre=='E' || $lettre=='I' ||
$lettre=='O' || $lettre=='U' || $lettre=='Y') {echo "C'est une voyelle !";}
else { echo "C'est une consonne !";}
Structures conditionnelles
Il existe 3 opérateurs logiques pour relier les conditions:
1. AND (ou &&) : Vérifie que les conditions sont toutes vraies.
2. OR (ou ||) : Vérifie qu'une des conditions au moins est vraie.
3. XOR : Vérifie qu'une seule des conditions est vraie mais pas toutes.
4. NOT se représente par un point d’exclamation « ! »
Exemple
6 if (($mois == 12 && $jour == 25)
|| ($mois == 1 && $jour == 1)) { echo 'Jour de fête !'; }
if ($mois != 12 || $jour != 25){
echo "Pas de cadeau aujourd’hui !";
}
if (!($mois == 12 && $jour == 25)){
echo "Pas de cadeau aujourd’hui !";
}
13/03/2013
2
Structures conditionnelles
Exercices:
Voici le programme PHP qui calcule puis affiche la différence entre deux nombres entiers saisis au clavier. Le résultat doit être toujours positif.
7 if ($nombre1 > $nombre2)
{echo ($nombre1-$nombre2);}
else {echo ($nombre2-$nombre1);}
Structures conditionnelles
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer
8
Poids Code tarif Tarif net
< ou égal à 20g A 0,50 euro
> 20g B 1,00 euro
Structures conditionnelles
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer
9 if ($codeTarif == 'A')
{echo "0.50 euro";}
else if ($codeTarif == 'B') {echo "1.00 euro";}
Structures conditionnelles
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer et afficher un message d’erreur si la lettre pèse plus de 500 grammes
10
Poids jusqu’à… Code tarif Tarif net
20 g A 0,50 euro
50 g B 0,75 euro
100 g C 1,11 euro
250 g D 1,90 euro
500 g E 2,65 euros
Structures conditionnelles Exercices: Tarifs postaux (EN JAVA)
11 if ($codeTarif == 'A')
{echo 0.50;}
else if ($codeTarif == 'B') {echo 0.75;}
else if ($codeTarif == 'C') {echo 1.11;}
else if ($codeTarif == 'D') {echo 1.90;}
else if ($codeTarif == 'E') {echo 2.65;}
else
{echo "Adressez vous au guichet");}
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer et afficher un message d’erreur si la lettre pèse plus de 500 grammes
Structures conditionnelles Exercices: Tarifs postaux (EN JAVA)
12 switch ($codeTarif){
case 'A': {echo 0.50;break;}
case 'B': {echo 0.75;break;}
case 'C': {echo 1.11;break;}
case 'D': {echo 1.90;break;}
case 'E': {echo 2.65;break;}
default: {echo "Adressez vous au guichet";}
}
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à
payer et afficher un message d’erreur si la lettre pèse plus de 500 grammes
13/03/2013
3
13
Les conditions
Opérateur ternaire
(condition) ? expression si vrai : expression si faux
Exemple:
Peut s’écrire...
if ($a > $b)
{echo "$a est le plus grand" ;}
else
{echo "$b est le plus grand" ;}
($a > $b)? {echo "$a est le plus grand" ;} : {echo "$b est le plus grand" ;}
-
03/02/10
Structures conditionnelles
Les instructions conditionnelles doivent avoir un espace entre le mot clé de l'instruction et la parenthèse ouvrante, afin de les distinguer des appels de fonctions.
Il est vivement recommandé de toujours utiliser des accolades, même dans les situations où elles sont techniquement optionnelles.
Leur présence augmente la lisibilitédu code et réduit le risque d'erreur logique lors de l'ajout de nouvelles lignes de code.
03/02/10
Les opérateurs de comparaison
Les opérateurs sont les suivants :
== pour dire qu'il y a égalité
!= pour dire qu'il y a différence
< pour inférieur et > pour supérieur
<= pour inférieur ou égal et >= pour supérieur ou égal
=== est également disponible en PHP. Il va vérifier que les deux valeurs sont égales et en plus qu'elles sont du même type (entier, flottant, etc...).
03/02/10
Les fonctions isset et unset
issetdétermine si une variable est affectée isset(var)
renvoie TRUE si la variable est définie, renvoie FALSE si la variable n’est pas définie.
if (isset($a))
{echo '$a est connue';} // affiche “$a est inconnue”
else {echo '$a est inconnue';}
$a = "test"; // Affectation de $a echo isset($a) // affiche 1 (correspond à TRUE) if (isset($a))
{echo '$a est connue';} // affiche “$a est connue”
else {echo '$a est inconnue';}
unset($a);
if (isset($a))
{echo '$a est connue';} // affiche “$a est inconnue”
else {echo '$a est inconnue';}