algorithmes conditionnels - licence 1 mass - … · vriablesa et a ectations logique booléenne...
TRANSCRIPT
![Page 1: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/1.jpg)
Algorithmes conditionnelsLicence 1 MASS - Introduction à Java et à l'algorithmique
Olivier [email protected]
<deptinfo.unice.fr/�dalle/>NB: Ce cours a été mis au point par mon collègue Sébastien
Vérel, actuellement en congé de recherche.
Équipe Mascotte, commune I3S - CNRS/UNS & INRIASophia Antipolis
![Page 2: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/2.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Objectifs de la séance 2
1 Ecrire un algorithme avec des a�ectations
2 Ecrire un algorithme qui échange la valeur de deux variables
3 Savoir utiliser les entrées de la souris avec Processing
4 Ecrire un algorithme avec des tests simples
5 Ecrire un algorithme avec un test multiple
6 Ecrire des programmes java avec des tests simples ou multiples
Question principale du jour :
Comment écrire des algorithmes qui prennent en compte dessituations di�érentes ?
Olivier Dalle Algorithmes conditionnels
![Page 3: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/3.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Objectifs de la séance 2
1 Ecrire un algorithme avec des a�ectations
2 Ecrire un algorithme qui échange la valeur de deux variables
3 Savoir utiliser les entrées de la souris avec Processing
4 Ecrire un algorithme avec des tests simples
5 Ecrire un algorithme avec un test multiple
6 Ecrire des programmes java avec des tests simples ou multiples
Question principale du jour :
Comment écrire des algorithmes qui prennent en compte dessituations di�érentes ?
Olivier Dalle Algorithmes conditionnels
![Page 4: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/4.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Plan
1 Variables et a�ectations
2 Logique booléenne
3 Schéma conditionneltests simplesTests multiples
Olivier Dalle Algorithmes conditionnels
![Page 5: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/5.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Utilité des variables
Lors d'un calcul, pendant le traitement de données,quasiment toujours nécessaire de stocker certaines valeursprovisoirement
Des exemples ?
Crible d'Erastothène : nombres rayés ou non
Euclide : nombres a et b du pgcd
..., etc, ...
Olivier Dalle Algorithmes conditionnels
![Page 6: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/6.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Utilité des variables
Lors d'un calcul, pendant le traitement de données,quasiment toujours nécessaire de stocker certaines valeursprovisoirement
Des exemples ?
Crible d'Erastothène : nombres rayés ou non
Euclide : nombres a et b du pgcd
..., etc, ...
Olivier Dalle Algorithmes conditionnels
![Page 7: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/7.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Utilité des variables
Pour stocker cette information, on emploie des variables
12
A
remarque : L'étiquette est traduite en machine par une adressebinaire (0010010001000101)
Olivier Dalle Algorithmes conditionnels
![Page 8: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/8.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Type des variables
Ces variables peuvent être de types di�érents :
nombre entier : int
nombre réel (approché) : �oat, double
caractères : char
chaîne de caractères : String
booléen (dont la valeur est VRAI ou FAUX) : boolean
...
Type : considéré comme un ensemble regroupant des valeurs auquels'applique certaines méthodes spéci�ques.
Olivier Dalle Algorithmes conditionnels
![Page 9: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/9.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Type des variables
Ces variables peuvent être de types di�érents :
nombre entier : int
nombre réel (approché) : �oat, double
caractères : char
chaîne de caractères : String
booléen (dont la valeur est VRAI ou FAUX) : boolean
...
Type : considéré comme un ensemble regroupant des valeurs auquels'applique certaines méthodes spéci�ques.
Olivier Dalle Algorithmes conditionnels
![Page 10: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/10.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Expression
Expression
Ensemble de valeurs, reliées par des opérateurs binaires, équivalentà une seule valeur.
Toute expression a un type.
Olivier Dalle Algorithmes conditionnels
![Page 11: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/11.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5
int
16.3
�oat
16.0
�oat
-3
int
Olivier Dalle Algorithmes conditionnels
![Page 12: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/12.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5
int
16.3
�oat
16.0
�oat
-3
int
Olivier Dalle Algorithmes conditionnels
![Page 13: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/13.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5
int
16.3
�oat
16.0
�oat
-3
int
Olivier Dalle Algorithmes conditionnels
![Page 14: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/14.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5
int
16.3
�oat
16.0
�oat
-3
int
Olivier Dalle Algorithmes conditionnels
![Page 15: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/15.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5
int
16.3
�oat
16.0
�oat
-3
int
Olivier Dalle Algorithmes conditionnels
![Page 16: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/16.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5 + 12
int
16 / 3
int
15 − 5.3
�oat
5.4 % 2
�oat
Olivier Dalle Algorithmes conditionnels
![Page 17: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/17.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5 + 12
int
16 / 3
int
15 − 5.3
�oat
5.4 % 2
�oat
Olivier Dalle Algorithmes conditionnels
![Page 18: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/18.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5 + 12
int
16 / 3
int
15 − 5.3
�oat
5.4 % 2
�oat
Olivier Dalle Algorithmes conditionnels
![Page 19: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/19.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5 + 12
int
16 / 3
int
15 − 5.3
�oat
5.4 % 2
�oat
Olivier Dalle Algorithmes conditionnels
![Page 20: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/20.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Calcul de types
De quel type sont les expressions suivantes ?
5 + 12
int
16 / 3
int
15 − 5.3
�oat
5.4 % 2
�oat
Olivier Dalle Algorithmes conditionnels
![Page 21: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/21.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Déclaration de variable en java
type nomDeLaVariable ;
Exemples :
int x ;
float a, b;
char premierLettre ;
int sumTotal ;
Toute variable utilisée doit être déclarée
Convention d'écriture en java :première lettre d'une variable est en minuscule et les "mots"suivants commencent par une majuscule.
Olivier Dalle Algorithmes conditionnels
![Page 22: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/22.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Arithmétique des nombres �ottants
Combien d'entiers peut-on coder sur 4 octets ?
232 positifs ou 231 signés
Dans un ordinateur, tout est de taille �nie etles �ottants sont codés sur 4 octects.
Quelle est en la conséquence ?
Précision des �ottants
Olivier Dalle Algorithmes conditionnels
![Page 23: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/23.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Arithmétique des nombres �ottants
Combien d'entiers peut-on coder sur 4 octets ?
232 positifs ou 231 signés
Dans un ordinateur, tout est de taille �nie etles �ottants sont codés sur 4 octects.
Quelle est en la conséquence ?
Précision des �ottants
Olivier Dalle Algorithmes conditionnels
![Page 24: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/24.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Arithmétique des nombres �ottants
Combien d'entiers peut-on coder sur 4 octets ?
232 positifs ou 231 signés
Dans un ordinateur, tout est de taille �nie etles �ottants sont codés sur 4 octects.
Quelle est en la conséquence ?
Précision des �ottants
Olivier Dalle Algorithmes conditionnels
![Page 25: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/25.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Arithmétique des nombres �ottants
Combien d'entiers peut-on coder sur 4 octets ?
232 positifs ou 231 signés
Dans un ordinateur, tout est de taille �nie etles �ottants sont codés sur 4 octects.
Quelle est en la conséquence ?
Précision des �ottants
Olivier Dalle Algorithmes conditionnels
![Page 26: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/26.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
A�ectation
Attribuer à une variable une valeur.
notation en pseudo-code :
var ← expr
A
12 12
A
en java :
var = expr
Olivier Dalle Algorithmes conditionnels
![Page 27: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/27.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
A�ectation
Attribuer à une variable une valeur.
notation en pseudo-code :
var ← expr
A
12 12
A
en java :
var = expr
Olivier Dalle Algorithmes conditionnels
![Page 28: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/28.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
A�ectation
Attribuer à une variable une valeur.
notation en pseudo-code :
var ← expr
A
12 12
A
en java :
var = expr
Olivier Dalle Algorithmes conditionnels
![Page 29: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/29.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en pseudo-code
1. A← 3
1. A← 32. B ← A
1. A← 32. B ← 53. A← B
4. B ← A
1. A← 32. B ← 53. C ← A
3. A← B
4. B ← C
(ce dernier est à connaitre !)
Olivier Dalle Algorithmes conditionnels
![Page 30: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/30.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en pseudo-code
1. A← 3
1. A← 32. B ← A
1. A← 32. B ← 53. A← B
4. B ← A
1. A← 32. B ← 53. C ← A
3. A← B
4. B ← C
(ce dernier est à connaitre !)
Olivier Dalle Algorithmes conditionnels
![Page 31: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/31.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en pseudo-code
1. A← 3
1. A← 32. B ← A
1. A← 32. B ← 53. A← B
4. B ← A
1. A← 32. B ← 53. C ← A
3. A← B
4. B ← C
(ce dernier est à connaitre !)
Olivier Dalle Algorithmes conditionnels
![Page 32: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/32.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en pseudo-code
1. A← 3
1. A← 32. B ← A
1. A← 32. B ← 53. A← B
4. B ← A
1. A← 32. B ← 53. C ← A
3. A← B
4. B ← C
(ce dernier est à connaitre !)
Olivier Dalle Algorithmes conditionnels
![Page 33: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/33.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en pseudo-code
1. A← 3
1. A← 32. B ← A
1. A← 32. B ← 53. A← B
4. B ← A
1. A← 32. B ← 53. C ← A
3. A← B
4. B ← C
(ce dernier est à connaitre !)
Olivier Dalle Algorithmes conditionnels
![Page 34: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/34.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en java
int a = 5 ;
int b = a + 3;
int a = 5 ;
int b = a + 3;
a = a + 1;
Olivier Dalle Algorithmes conditionnels
![Page 35: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/35.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples en java
int a = 5 ;
int b = a + 3;
int a = 5 ;
int b = a + 3;
a = a + 1;
Olivier Dalle Algorithmes conditionnels
![Page 36: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/36.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Dessin en Processing
Il existe 2 méthodes (fonctions) par défaut en Processing :
setup : exécutée une seule fois
draw : exécutée tous les rafaichissements d'écran (1/50s)dé�ne par la méthode frameRate
Exemples : Toujours et Point
Olivier Dalle Algorithmes conditionnels
![Page 37: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/37.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Souris en Processing
Il est facile de connaitre la position du pointeur de la souris avecProcessing
2 variables de type int contiennent la position relativement auxdimensions de l'écran :
mouseX : abscisse
mouseY : ordonnée
Exemple : Mouse
Olivier Dalle Algorithmes conditionnels
![Page 38: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/38.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
George Boole
Mathématicien et logicien anglais (1815 - 1864)
but
Traduire des idées et des concepts en équations,leur appliquer des lois (des transformations) ettraduire inversement l'équation en termes de concepts et d'idées.
Il crée une algèbre binaire :
qui n'accepte que deux valeurs numériques 0 et 1 (faux, vrai),
dé�nie dans un ensemble E muni de deux lois de compositionsinterne (et ,ou)
satisfaisant un certain nombre de propriétés (associativité,distributivité).
−→ algèbre de Boole
Olivier Dalle Algorithmes conditionnels
![Page 39: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/39.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Notations
Il existe plusieurs types de notations :
Vrai ←→ V ←→ 1
Faux ←→ F ←→ 0
NON ←→ eET ←→ ∧OU ←→ ∨ (attention inclusif !)
IMPLICATION ←→ ⇒EQUIVALENT ←→ ⇔
XOR ←→ ⊕ (ou exclusif : fromage ou dessert)
Olivier Dalle Algorithmes conditionnels
![Page 40: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/40.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Notations
Il existe plusieurs types de notations :
Vrai ←→ V ←→ 1
Faux ←→ F ←→ 0
NON ←→ eET ←→ ∧OU ←→ ∨ (attention inclusif !)
IMPLICATION ←→ ⇒EQUIVALENT ←→ ⇔
XOR ←→ ⊕ (ou exclusif : fromage ou dessert)
Olivier Dalle Algorithmes conditionnels
![Page 41: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/41.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Dé�nitions
Littéral
variable dont la valeur de vérité est soit VRAI soit FAUX.
Proposition
Enoncé auquel on associe une valeur de vérité (VRAI ou FAUX)
Tautologie
est une formule qui est toujours VRAI quelque soit les valeurs devérité des littéraux
Olivier Dalle Algorithmes conditionnels
![Page 42: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/42.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Dé�nitions
Littéral
variable dont la valeur de vérité est soit VRAI soit FAUX.
Proposition
Enoncé auquel on associe une valeur de vérité (VRAI ou FAUX)
Tautologie
est une formule qui est toujours VRAI quelque soit les valeurs devérité des littéraux
Olivier Dalle Algorithmes conditionnels
![Page 43: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/43.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Dé�nitions
Littéral
variable dont la valeur de vérité est soit VRAI soit FAUX.
Proposition
Enoncé auquel on associe une valeur de vérité (VRAI ou FAUX)
Tautologie
est une formule qui est toujours VRAI quelque soit les valeurs devérité des littéraux
Olivier Dalle Algorithmes conditionnels
![Page 44: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/44.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemples
a OU b
(a OU b) XOR c
a ET a
a OU VRAI
b OU (NON b)
NON( b OU a )
(a ET NON b) OU (b ET NON a)
Olivier Dalle Algorithmes conditionnels
![Page 45: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/45.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
ET Vrai Faux
Vrai
Faux
OU Vrai Faux
Vrai
Faux
XOR Vrai Faux
Vrai
Faux
⇒ Vrai Faux
Vrai
Faux
Olivier Dalle Algorithmes conditionnels
![Page 46: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/46.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
ET Vrai Faux
Vrai Vrai Faux
Faux Faux Faux
OU Vrai Faux
Vrai Vrai Vrai
Faux Vrai Faux
XOR Vrai Faux
Vrai Faux Vrai
Faux Vrai Faux
⇒ Vrai Faux
Vrai Vrai Faux
Faux Vrai Vrai
Olivier Dalle Algorithmes conditionnels
![Page 47: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/47.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
ET Vrai Faux
Vrai Vrai Faux
Faux Faux Faux
OU Vrai Faux
Vrai Vrai Vrai
Faux Vrai Faux
XOR Vrai Faux
Vrai Faux Vrai
Faux Vrai Faux
⇒ Vrai Faux
Vrai Vrai Faux
Faux Vrai Vrai
Olivier Dalle Algorithmes conditionnels
![Page 48: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/48.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
ET Vrai Faux
Vrai Vrai Faux
Faux Faux Faux
OU Vrai Faux
Vrai Vrai Vrai
Faux Vrai Faux
XOR Vrai Faux
Vrai Faux Vrai
Faux Vrai Faux
⇒ Vrai Faux
Vrai Vrai Faux
Faux Vrai Vrai
Olivier Dalle Algorithmes conditionnels
![Page 49: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/49.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
ET Vrai Faux
Vrai Vrai Faux
Faux Faux Faux
OU Vrai Faux
Vrai Vrai Vrai
Faux Vrai Faux
XOR Vrai Faux
Vrai Faux Vrai
Faux Vrai Faux
⇒ Vrai Faux
Vrai Vrai Faux
Faux Vrai Vrai
Olivier Dalle Algorithmes conditionnels
![Page 50: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/50.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
A = "je plonge dans la piscine"B = "je suis mouillé"
"SI je plonge dans la piscineALORS je suis mouillé"est un théorème VRAI.
A⇒ B
Lorsque A est VRAI, la conditionest réalisée, donc B est VRAI.
A peut aussi être FAUX et Brestant VRAI.
Peut-on en déduire que lethéorème devient FAUX dans cecas ?
Olivier Dalle Algorithmes conditionnels
![Page 51: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/51.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
A = "je plonge dans la piscine"B = "je suis mouillé"
"SI je plonge dans la piscineALORS je suis mouillé"est un théorème VRAI.
A⇒ B
Lorsque A est VRAI, la conditionest réalisée, donc B est VRAI.
A peut aussi être FAUX et Brestant VRAI.
Peut-on en déduire que lethéorème devient FAUX dans cecas ?
Olivier Dalle Algorithmes conditionnels
![Page 52: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/52.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
A = "je plonge dans la piscine"B = "je suis mouillé"
"SI je plonge dans la piscineALORS je suis mouillé"est un théorème VRAI.
A⇒ B
Lorsque A est VRAI, la conditionest réalisée, donc B est VRAI.
A peut aussi être FAUX et Brestant VRAI.
Peut-on en déduire que lethéorème devient FAUX dans cecas ?
Olivier Dalle Algorithmes conditionnels
![Page 53: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/53.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
A = "je plonge dans la piscine"B = "je suis mouillé"
"SI je plonge dans la piscineALORS je suis mouillé"est un théorème VRAI.
A⇒ B
Lorsque A est VRAI, la conditionest réalisée, donc B est VRAI.
A peut aussi être FAUX et Brestant VRAI.
Peut-on en déduire que lethéorème devient FAUX dans cecas ?
Olivier Dalle Algorithmes conditionnels
![Page 54: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/54.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
L'implication est vraie sil'hypothèse est fausse.
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
Lorqu'un théorème p ⇒ q estvrai,mais que l'on a pas l'hypothèse,alors on ne peut rien en déduiresur q.
Pierre Weis et Xavier Leroy
�on ne peut rien déduire d'unthéorème dont l'hypothèse n'estpas véri�ée��un théorème reste vrai mêmequand il ne s'applique pas�
Olivier Dalle Algorithmes conditionnels
![Page 55: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/55.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Zoom sur l'implication
L'implication est vraie sil'hypothèse est fausse.
p q ⇒Vrai Vrai Vrai
Vrai Faux Faux
Faux Vrai Vrai
Faux Faux Vrai
Lorqu'un théorème p ⇒ q estvrai,mais que l'on a pas l'hypothèse,alors on ne peut rien en déduiresur q.
Pierre Weis et Xavier Leroy
�on ne peut rien déduire d'unthéorème dont l'hypothèse n'estpas véri�ée��un théorème reste vrai mêmequand il ne s'applique pas�
Olivier Dalle Algorithmes conditionnels
![Page 56: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/56.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
Un connecteur logique booléen est dé�ni par une table de vérité etréciproquement.
Il existe 16 connecteurs logiques binaires (pourquoi ?).
Vrai Faux
Vrai ? ?
Faux ? ?
D'où 2× 2× 2× 2 = 16 connecteurs logiques binaires.
Olivier Dalle Algorithmes conditionnels
![Page 57: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/57.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
Un connecteur logique booléen est dé�ni par une table de vérité etréciproquement.
Il existe 16 connecteurs logiques binaires (pourquoi ?).
Vrai Faux
Vrai ? ?
Faux ? ?
D'où 2× 2× 2× 2 = 16 connecteurs logiques binaires.
Olivier Dalle Algorithmes conditionnels
![Page 58: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/58.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Tables de vérité
Un connecteur logique booléen est dé�ni par une table de vérité etréciproquement.
Il existe 16 connecteurs logiques binaires (pourquoi ?).
Vrai Faux
Vrai ? ?
Faux ? ?
D'où 2× 2× 2× 2 = 16 connecteurs logiques binaires.
Olivier Dalle Algorithmes conditionnels
![Page 59: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/59.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Logiquement équivalent
Logiquement équivalent
F est logiquement équivalent à G si et seulement si F ⇔ G est unetautologie.
Logiquement équivalent
F est logiquement équivalent à G si et seulement si F et G ont lamême table de vérité.
Olivier Dalle Algorithmes conditionnels
![Page 60: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/60.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemple
a b a ET NON b b ET NON a (a∧eb) ∨ (b∧ea)Vrai Vrai
Faux Vrai
Vrai Faux
Faux Faux
Olivier Dalle Algorithmes conditionnels
![Page 61: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/61.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemple
a b a ET NON b b ET NON (a∧eb) ∨ (b∧ea)Vrai Vrai Faux Faux Faux
Faux Vrai Faux Vrai Vrai
Vrai Faux Vrai Faux Vrai
Faux Faux Faux Faux Faux
( (a ET NON b) OU (b ET NON a) )logiquement équivalent à(a XOR b)
Olivier Dalle Algorithmes conditionnels
![Page 62: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/62.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemple
a b a ET NON b b ET NON (a∧eb) ∨ (b∧ea)Vrai Vrai Faux Faux Faux
Faux Vrai Faux Vrai Vrai
Vrai Faux Vrai Faux Vrai
Faux Faux Faux Faux Faux
( (a ET NON b) OU (b ET NON a) )logiquement équivalent à
(a XOR b)
Olivier Dalle Algorithmes conditionnels
![Page 63: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/63.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Exemple
a b a ET NON b b ET NON (a∧eb) ∨ (b∧ea)Vrai Vrai Faux Faux Faux
Faux Vrai Faux Vrai Vrai
Vrai Faux Vrai Faux Vrai
Faux Faux Faux Faux Faux
( (a ET NON b) OU (b ET NON a) )logiquement équivalent à(a XOR b)
Olivier Dalle Algorithmes conditionnels
![Page 64: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/64.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨epContraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 65: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/65.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨epContraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 66: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/66.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)
Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨epContraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 67: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/67.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨ep
Contraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 68: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/68.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨epContraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)
Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 69: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/69.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Propriétés algébriques
Associativité :p ∨ (q ∨ r)⇔ (p ∨ q) ∨ r
p ∧ (q ∧ r)⇔ (p ∧ q) ∧ r
Commmutativité :p ∨ q ⇔ q ∨ p
p ∧ q ⇔ q ∧ p
Distributivité :p ∨ (q ∧ r)⇔ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r)⇔ (p ∧ q) ∨ (p ∧ r)Loi de De Morgan :e(p ∨ q)⇔eq∧epe(p ∧ q)⇔eq∨epContraposée : (p ⇒ q)⇔ (eq ⇒ep)(p ⇒ q)⇔ (ep ∨ q)Preuve par l'absurde : eep ⇒ p
Olivier Dalle Algorithmes conditionnels
![Page 70: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/70.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 71: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/71.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 72: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/72.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 73: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/73.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 74: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/74.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 75: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/75.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
Une application en biologie
C (x) est VRAIE lorsque x est une celluleV (x) est VRAIE lorsque x est un virus
I (x , y) est VRAIE lorsque x est infecté par y .R(x , y) est VRAIE lorsque x a reconnu y
Toutes les cellules infectées par un virus ne le reconnaissent pas
∀x∃y , (C (x) ∧ V (y) ∧ I (x , y))⇒eR(x , y)
Il n'existe pas de virus qui peuvent infecter toutes les cellules
6 ∃y , V (y)⇒ (∀x C (x) ∧ I (x , y))
−→ technique de �model checking� : véri�cation de la formulelogique par parcours astucieux des états possibles
Olivier Dalle Algorithmes conditionnels
![Page 76: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/76.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Quand utiliser un test ?
"SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
"SI la voie rapide est bouchée ALORS je prends la prom."
"SI il y a de la neige ALORS je ne viens pas SINON je passe teprendre."
"SI b 6= 0 ALORS calculer a
bSINON la division est impossible."
test
Exécution d'un morceaux d'algorithme selon la situation
Olivier Dalle Algorithmes conditionnels
![Page 77: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/77.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Quand utiliser un test ?
"SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
"SI la voie rapide est bouchée ALORS je prends la prom."
"SI il y a de la neige ALORS je ne viens pas SINON je passe teprendre."
"SI b 6= 0 ALORS calculer a
bSINON la division est impossible."
test
Exécution d'un morceaux d'algorithme selon la situation
Olivier Dalle Algorithmes conditionnels
![Page 78: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/78.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Quand utiliser un test ?
"SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
"SI la voie rapide est bouchée ALORS je prends la prom."
"SI il y a de la neige ALORS je ne viens pas SINON je passe teprendre."
"SI b 6= 0 ALORS calculer a
bSINON la division est impossible."
test
Exécution d'un morceaux d'algorithme selon la situation
Olivier Dalle Algorithmes conditionnels
![Page 79: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/79.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Quand utiliser un test ?
"SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
"SI la voie rapide est bouchée ALORS je prends la prom."
"SI il y a de la neige ALORS je ne viens pas SINON je passe teprendre."
"SI b 6= 0 ALORS calculer a
bSINON la division est impossible."
test
Exécution d'un morceaux d'algorithme selon la situation
Olivier Dalle Algorithmes conditionnels
![Page 80: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/80.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Quand utiliser un test ?
"SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
"SI la voie rapide est bouchée ALORS je prends la prom."
"SI il y a de la neige ALORS je ne viens pas SINON je passe teprendre."
"SI b 6= 0 ALORS calculer a
bSINON la division est impossible."
test
Exécution d'un morceaux d'algorithme selon la situation
Olivier Dalle Algorithmes conditionnels
![Page 81: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/81.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests simples
si booléen alors
morceaux d'algo 1
�n si
si booléen alors
morceaux d'algo 1
sinon
morceaux d'algo 2
�n si
booléen est une expression dont la valeur est soit Vrai soit Faux
Cette expression peut être :
une variable booléenne
une condition
une suite �nie de booléens relier par des connecteurs logiquesbinaires
Olivier Dalle Algorithmes conditionnels
![Page 82: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/82.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests simplesen Java
if (boolean) {
morceaux de prog 1
}
if (boolean) {
morceaux de prog 1
} else {
morceaux de prog 2
}
'Boolean' est une expression qui peut être :
true : dans ce cas le morceau de programme 1 s'exécute
false : dans ce cas le morceau de programme 2 s'exécute
Olivier Dalle Algorithmes conditionnels
![Page 83: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/83.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Bloc en java
if (a < 0) {
println("un");
println("nombre");
println("négatif");
}
if (a < 0)
println("negatif");
else
println("positif");
Les accolades servent à créerun bloc d'instructions (=suite d'instructions)
Lorsqu'il y a une seuleinstruction, on peut omettreles accolades.
Remarque : décalage et alignement des instructions d'un mêmebloc (indentation) pour éviter les erreurs classiques d'accolades
Olivier Dalle Algorithmes conditionnels
![Page 84: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/84.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Conditions
t < 100
Une condition est composée de trois éléments :
une expression ayant une valeur dans un ensemble ordonné
un opérateur de comparaison sur cet ensemble
une expression ayant une valeur dans le même ensemble
Les opérateurs de comparaison sont : =, 6=, <, >, ≤, ≥, etc.
Les ensembles ordonnées peuvent être par exemple les nombresentiers, les nombres réels, les mots,...
Attention ! 60 < t < 100 n'est pas une condition.
Olivier Dalle Algorithmes conditionnels
![Page 85: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/85.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Conditions
t < 100
Une condition est composée de trois éléments :
une expression ayant une valeur dans un ensemble ordonné
un opérateur de comparaison sur cet ensemble
une expression ayant une valeur dans le même ensemble
Les opérateurs de comparaison sont : =, 6=, <, >, ≤, ≥, etc.
Les ensembles ordonnées peuvent être par exemple les nombresentiers, les nombres réels, les mots,...
Attention ! 60 < t < 100 n'est pas une condition.
Olivier Dalle Algorithmes conditionnels
![Page 86: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/86.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Conditions
t < 100
Une condition est composée de trois éléments :
une expression ayant une valeur dans un ensemble ordonné
un opérateur de comparaison sur cet ensemble
une expression ayant une valeur dans le même ensemble
Les opérateurs de comparaison sont : =, 6=, <, >, ≤, ≥, etc.
Les ensembles ordonnées peuvent être par exemple les nombresentiers, les nombres réels, les mots,...
Attention ! 60 < t < 100 n'est pas une condition.
Olivier Dalle Algorithmes conditionnels
![Page 87: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/87.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Conditions
t < 100
Une condition est composée de trois éléments :
une expression ayant une valeur dans un ensemble ordonné
un opérateur de comparaison sur cet ensemble
une expression ayant une valeur dans le même ensemble
Les opérateurs de comparaison sont : =, 6=, <, >, ≤, ≥, etc.
Les ensembles ordonnées peuvent être par exemple les nombresentiers, les nombres réels, les mots,...
Attention ! 60 < t < 100 n'est pas une condition.
Olivier Dalle Algorithmes conditionnels
![Page 88: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/88.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Opérateur binaire logique en java
Les opérateurs de comparaison :
pseudo-code java
= ==6= ! =< <> >≤ <=≥ >=
Les connecteurs logiques :
pseudo-code java
AND &&OR ||NOT !
Olivier Dalle Algorithmes conditionnels
![Page 89: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/89.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests simplesExemple
Algorithme valeurAbsolue(x : réel) : réeldébut
si x < 0 alors
écrire(−x)sinon
écrire(x)�n si
�n
Olivier Dalle Algorithmes conditionnels
![Page 90: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/90.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests simplesExemple
Algorithme comparaison(a, b : entier) : riendébut
si a < b alors
écrire(�a est strictement plus petit que b�)sinon
écrire(�b est plus petit que a�)�n si
�n
Olivier Dalle Algorithmes conditionnels
![Page 91: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/91.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests simplesExemple java
int a = 5;
int b = 12;
if (a < b) {
print("a est strictement plus petit que b") ;
} else {
print("b est plus petit que a") ;
}
a est strictement plus petit que b
Olivier Dalle Algorithmes conditionnels
![Page 92: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/92.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Une équivalence
Algorithme test1(x : réel) :booléen
début
si x ≥ 10 alors
écrire(Vrai)sinon
écrire(Faux)�n si
�n
Algorithme test2(x : réel) :booléen
début
écrire(x ≥ 10)�n
Les deux algorithmes test1 et test2 sont strictement équivalents.Puisqu'ils produisent les mêmes résultats pour les mêmes données,pourtant l'un est plus court à écrire que l'autre.
Olivier Dalle Algorithmes conditionnels
![Page 93: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/93.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiples
Test multiples imbriqués
si booléen1 alors
partie a
sinon
si booléen2 alors
partie b
sinon
partie c
�n si
�n si
lorsque booléen1 est vrai, lapartie a s'exécute (quelquesoit la valeur de booléen2)
lorsque booléen1 est faux etque booléen2 est vrai, lapartie b s'exécute
lorsque booléen1 est faux etque booléen2 est faux, lapartie c s'exécute
Olivier Dalle Algorithmes conditionnels
![Page 94: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/94.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiples
Attention : ce n'est pas équivalent à la succession de 2 tests simples
si booléen1 alors
partie a
�n si
si booléen2 alors
partie b
sinon
partie c
�n si
lorsque booléen1 est vrai, lapartie a s'exécute
Par contre la partie b
s'exécute seulement lorsquebooléen2 est vrai (quelquesoit la valeur de booléen1)
Olivier Dalle Algorithmes conditionnels
![Page 95: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/95.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiples
Attention : ce n'est pas équivalent à la succession de 2 tests simples
si booléen1 alors
partie a
�n si
si booléen2 alors
partie b
sinon
partie c
�n si
lorsque booléen1 est vrai, lapartie a s'exécute
Par contre la partie b
s'exécute seulement lorsquebooléen2 est vrai (quelquesoit la valeur de booléen1)
Olivier Dalle Algorithmes conditionnels
![Page 96: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/96.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiples / imbriquésExemple
Algorithme degreDeCorpulence(T : réel, m : réel) :début
i ← m/T2
si i < 20 alorsécrire( "poids inférieur à la normale")
sinonsi i < 25 alors
écrire( "poids normal")sinon
si i < 30 alorsécrire( "surcharge pondérale")
sinonsi i < 40 alors
écrire( "adiposité")sinon
écrire( "obésité"")�n si
�n si�n si
�n si�n
Olivier Dalle Algorithmes conditionnels
![Page 97: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/97.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiplesExemple
Algorithme test(x : réel) :début
si 0 ≤ x alorsécrire( "le nombre est positif")si i ≤ 10 alors
écrire( "le nombre est compris entre 0 et 10.")sinon
si i ≤ 15 alorsécrire( "le nombre est compris entre 10 et 15.")
sinonsi i ≤ 20 alors
écrire( "le nombre est compris entre 15 et 20.")sinon
écrire( "le nombre est strictement supérieur à 20.")�n si
�n si�n si
sinonécrire( "le nombre est strictement négatif")
�n si�n
Olivier Dalle Algorithmes conditionnels
![Page 98: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/98.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Connecteurs logiquesExemple
Algorithme ordonner ?(a,b,c : réel) : booléendébut
si a ≤ b ET b ≤ c alors
écrire(Vrai)sinon
écrire(Faux)�n si
�n
Olivier Dalle Algorithmes conditionnels
![Page 99: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/99.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Connecteurs logiquesExemple en java
int a, b, c;
a = 10;
b = 3;
c = 5;
if ((a <= b) && (b <= c)) then
println(true);
else
println(false);
Olivier Dalle Algorithmes conditionnels
![Page 100: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/100.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
EquivalenceExemple en java
int a, b, c;
a = 10;
b = 3;
c = 5;
println((a <= b) && (b <= c));
Olivier Dalle Algorithmes conditionnels
![Page 101: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/101.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Tests multiplesExercice
Ecrire en java le programme suivant :début
rep : entierrep ← 2si rep = 1 alors
écrire("Vous avez sélectionné le premier choix")si rep = 2 alors
écrire("Vous avez sélectionné le deuxième choix")sinon
si rep = 3 alorsécrire("Vous avez sélectionné le troisième choix")
sinonécrire("Votre choix est inconnu")
�n si�n si
�n si�n
Olivier Dalle Algorithmes conditionnels
![Page 102: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/102.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Traduction en java
int x = 2 ;
if (x == 1) {
println("Vous avez sélectionné le premier choix");
else
if (x == 2)
println("Vous avez sélectionné le deuxième choix");
else
if (x == 3)
println("Vous avez sélectionné le troisième choix");
else
println("Votre choix est inconnu.");
Olivier Dalle Algorithmes conditionnels
![Page 103: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/103.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Equivalence avec switch
int x = 2 ;
switch (x) {
case 1 : println("Vous avez sélectionné le premier choix");
break;
case 2 : println("Vous avez sélectionné le deuxième choix");
break;
case 3 : println("Vous avez sélectionné le troisième choix");
break;
default :
println("Votre choix est inconnu.");
}
Olivier Dalle Algorithmes conditionnels
![Page 104: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/104.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Equivalence avec switch
instruction porte sur une variable de type byte, short, char ouint.
Lorsque la variable a la valeur indiquée après case :
exécution à partir des " :"
jusqu'à l'instruction "break" qui permet la reprise d'exécution
après le bloc
voir aussi : http://java.sun.com/docs/books/tutorial/java/nutsandbolts/switch.html
Olivier Dalle Algorithmes conditionnels
![Page 105: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/105.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Arbres de décision
Schema qui représente un algorithme avec des tests imbriqués
Base des systèmes experts : applications médicales, conseils,�ltrage, ...
Ces arbres s'établissent à l'aide d'algorithmes d'apprentissage
Olivier Dalle Algorithmes conditionnels
![Page 106: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/106.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Exercice
a - Rappeler les deux lois De Morgan.
b - Démontrer que ces deux lois sont logiquement équivalentes àl'aide de tables de vérités.
Olivier Dalle Algorithmes conditionnels
![Page 107: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/107.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Exercice
Dans un pays lointain, deux tribus existent. La tribu des purs quidisent toujours la vérité et la tribu des pires qui mentent toujours.Un jour en voyageant dans ce pays un peu étrange, j'ai rencontréAlain et Bob. Alain m'a déclaré 2 choses :
"l'un de nous deux est au moins un pire"
"l'un de nous deux au plus est un pire"
Je les ai salué en partant et je me demande toujours de quelle tribupouvait bien appartenir Alain et Bob ?Questions :
a - Répondre à la question en résonnant de manière informelle.
b - Con�rmer votre résultat à l'aide d'une table de vérité.
Olivier Dalle Algorithmes conditionnels
![Page 108: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/108.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Objectifs de la séance 2
1 Ecrire un algorithme avec des a�ectations
2 Ecrire un algorithme qui échange la valeur de deux variables
3 Savoir utilisés les entrées de la souris avec Processing
4 Ecrire un algorithme avec des tests simples
5 Ecrire un algorithme avec un test multiple
6 Ecrire des programmes java avec des tests simples ou multiples
Question principale du jour :
Comment écrire des algorithmes selon des situations di�érentes ?
Olivier Dalle Algorithmes conditionnels
![Page 109: Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne Schéma conditionnel Objectifs de la séance 2 1 Ecrire un algorithme avec des a ectations](https://reader031.vdocuments.pub/reader031/viewer/2022031020/5b9d1a4309d3f29a298bd06b/html5/thumbnails/109.jpg)
Variables et a�ectationsLogique booléenne
Schéma conditionnel
tests simplesTests multiples
Travail pour la semaine prochaine
Fabriquer ces petits programmes d'exemple
Explorer les exemples de Processing
Préparer le TP02 !
Olivier Dalle Algorithmes conditionnels