Les structures conditionnelles (ou conditions)
Qu’est ce qu’une condition ? Exemples:
- Pas de condition (affirmation): “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.
…} 1
Structures conditionnelles
Syntaxe 1:
Syntaxe 2: if (cond
Syntaxe 2
2 Si a > b
Afficher « a est le plus grand » Afficher « b est le plus petit » finSi
Si a > b
Afficher « a est le plus grand » Afficher « b est le plus petit » sinon
Afficher « b est le plus grand » Afficher « a est le plus petit » finSi
Structures conditionnelles
Exemple: Ecrire un algorithme qui vous demande votre âge et 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 Programme MineurMajeur Variables
age : entier
Debut Afficher "Saisissez votre age :"
Saisir age si age < 18
afficher "Mineur !"
sinon
afficher "Majeur !"
finsi Fin
Structures conditionnelles en PHP
Syntaxe 1: if (condition) {//instructions…}
Syntaxe 2: if (condition) {//instructions…}
else
{//instructions…}
4 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 en PHP
Exemple: Ecrire la partie du 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:
5 if ($age < 18){
echo "Mineur !";
} else{
echo "Majeur !";
}
Structures conditionnelles
Syntaxe 3: Conditions imbriquées
6 Si a > b
Afficher « a est plus grand que b » Sinon
si b > c
Afficher « b est le plus grand »
Afficher « Entre a et c, qui est le plus petit ? » sinon
Afficher « Qui est le plus grand ? » finSi
finsi
Structures conditionnelles
Exercice:
Ecrire un algorithme qui demande de saisir une lettre et qui affiche si c’est une voyelle ou une consonne…
7
Structures conditionnelles en PHP
Syntaxe 3:
if (condition){
//instructions…
} else{
if (condition){
//instructions…
} else{
//instructions…
} }
8 if ($a > $b){
echo "$a est plus grand que $b" ; }
else{
if ($b > $c){
echo "$b est le plus grand" ; }
else{
echo "Qui est le plus grand ?" ; }
}
Structures conditionnelles
Il existe 3 opérateurs logiques pour relier les conditions:
1. ET : Vérifie que les conditions sont toutes vraies.
2. OU : Vérifie qu'une des conditions au moins est vraie.
3. NON : Vérifie qu’une condition n’est pas vérifiée.
Exemple
9 si ((mois = 12 ET jour = 25) OU (mois = 1 ET jour = 1))
Afficher « Jour de fête ! » finSi
Structures conditionnelles en PHP
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
10 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 !";
}
Structures conditionnelles
Exercice:
Ecrire un algorithme qui demande de saisir une lettre et qui affiche si c’est une voyelle ou une consonne…
11
Méthode: Utilisation des opérateurs logiques
Structures conditionnelles en PHP
Exercice:
Voici le programme PHP qui affiche si la lettre saisie par l'utilisateur est une voyelle ou une consonne…
12 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
Exercices:
Ecrire un algorithme qui calcule puis affiche la différence entre deux nombres entiers saisis au clavier. Le résultat doit être toujours positif.
13
Structures conditionnelles en PHP
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.
14 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
15
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
16 Programme TarifsPostaux1
Variables codeTarif : caractere Debut
Afficher “Saisissez codetarif :“
Saisir codeTarif si codeTarif = ‘A’
afficher « Prix à payer: 0,50 euros » sinon
si codeTarif = ‘B’
afficher « Prix à payer: 1,00 euro » finSi
finSi Fin
Structures conditionnelles en PHP
Exercices: Tarifs postaux
Saisir le code tarif correspondant au poids d’une lettre et afficher le prix à payer
17 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
18
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 en PHP Exercices: Tarifs postaux (EN JAVA)
19 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)
20 Selon codeTarif Faire
cas 'A': afficher 0.50 cas 'B': afficher 0.75 cas 'C': afficher 1.11 cas 'D': afficher 1.90 cas 'E': afficher 2.65
sinon : afficher "Adressez vous au guichet"
FinSelon
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 en PHP
21
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
22
Les conditions en PHP
Opérateurternaire
(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 estvivement 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 en PHP
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';}