Algorithmes conditionnels - Licence 1 MASS - … · Vriablesa et a ectations Logique booléenne...

Preview:

Citation preview

Algorithmes conditionnelsLicence 1 MASS - Introduction à Java et à l'algorithmique

Olivier Dalledalle@unice.fr

<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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Recommended