Licence 1 MASS - Introduction à Java et à l'algorithmique dalle@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 & INRIA Sophia Antipolis
Objectifs de la séance 2 1 Ecrire un algorithme avec des aectations 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
Objectifs de la séance 2 1 Ecrire un algorithme avec des aectations 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 des situations diérentes?
Plan 1 Variables et aectations 2 3 tests simples Tests multiples
Utilité des variables Lors d'un calcul, pendant le traitement de données, quasiment toujours nécessaire de stocker certaines valeurs provisoirement Des exemples?
Utilité des variables Lors d'un calcul, pendant le traitement de données, quasiment toujours nécessaire de stocker certaines valeurs provisoirement Des exemples? Crible d'erastothène : nombres rayés ou non Euclide : nombres a et b du pgcd..., etc,...
Utilité des variables Pour stocker cette information, on emploie des variables A 12 remarque : L'étiquette est traduite en machine par une adresse binaire (0010010001000101)
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 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 auquel s'applique certaines méthodes spéciques.
Expression Expression Ensemble de valeurs, reliées par des opérateurs binaires, équivalent à une seule valeur. Toute expression a un type.
Calcul de types De quel type sont les expressions suivantes? 5
Calcul de types De quel type sont les expressions suivantes? 5 int 16.3
Calcul de types De quel type sont les expressions suivantes? 5 int 16.3 oat 16.0
Calcul de types De quel type sont les expressions suivantes? 5 int 16.3 oat 16.0 oat -3
Calcul de types De quel type sont les expressions suivantes? 5 int 16.3 oat 16.0 oat -3 int
Calcul de types De quel type sont les expressions suivantes? 5 + 12
Calcul de types De quel type sont les expressions suivantes? 5 + 12 int 16 / 3
Calcul de types De quel type sont les expressions suivantes? 5 + 12 int 16 / 3 int 15 5.3
Calcul de types De quel type sont les expressions suivantes? 5 + 12 int 16 / 3 int 15 5.3 oat 5.4 % 2
Calcul de types De quel type sont les expressions suivantes? 5 + 12 int 16 / 3 int 15 5.3 oat 5.4 % 2 oat
Déclaration de variable en java Exemples : int x ; float a, b; char premierlettre ; int sumtotal ; type nomdelavariable ; 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.
Arithmétique des nombres ottants Combien d'entiers peut-on coder sur 4 octets?
Arithmétique des nombres ottants Combien d'entiers peut-on coder sur 4 octets? 2 32 positifs ou 2 31 signés
Arithmétique des nombres ottants Combien d'entiers peut-on coder sur 4 octets? 2 32 positifs ou 2 31 signés Dans un ordinateur, tout est de taille nie et les ottants sont codés sur 4 octects. Quelle est en la conséquence?
Arithmétique des nombres ottants Combien d'entiers peut-on coder sur 4 octets? 2 32 positifs ou 2 31 signés Dans un ordinateur, tout est de taille nie et les ottants sont codés sur 4 octects. Quelle est en la conséquence? Précision des ottants
Aectation Attribuer à une variable une valeur.
Aectation Attribuer à une variable une valeur. notation en pseudo-code : var expr A A 12 12
Aectation Attribuer à une variable une valeur. notation en pseudo-code : var expr A A 12 12 en java : var = expr
Exemples en pseudo-code 1. A 3
Exemples en pseudo-code 1. A 3 1. A 3 2. B A
Exemples en pseudo-code 1. A 3 1. A 3 2. B 5 3. A B 4. B A 1. A 3 2. B A
Exemples en pseudo-code 1. A 3 1. A 3 2. B A 1. A 3 2. B 5 3. A B 4. B A 1. A 3 2. B 5 3. C A 3. A B 4. B C
Exemples en pseudo-code 1. A 3 1. A 3 2. B A 1. A 3 2. B 5 3. A B 4. B A 1. A 3 2. B 5 3. C A 3. A B 4. B C (ce dernier est à connaitre!)
Exemples en java int a = 5 ; int b = a + 3;
Exemples en java int a = 5 ; int b = a + 3; int a = 5 ; int b = a + 3; a = a + 1;
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
Souris en Processing Il est facile de connaitre la position du pointeur de la souris avec Processing 2 variables de type int contiennent la position relativement aux dimensions de l'écran : mousex : abscisse mousey : ordonnée Exemple : Mouse
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) et traduire 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 compositions interne (et,ou) satisfaisant un certain nombre de propriétés (associativité, distributivité). algèbre de Boole
Notations Il existe plusieurs types de notations : Vrai V 1 Faux F 0 NON ET OU (attention inclusif!) IMPLICATION EQUIVALENT
Notations Il existe plusieurs types de notations : Vrai V 1 Faux F 0 NON ET OU (attention inclusif!) IMPLICATION EQUIVALENT XOR (ou exclusif : fromage ou dessert)
Dénitions Littéral variable dont la valeur de vérité est soit VRAI soit FAUX.
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)
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 de vérité des littéraux
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)
Tables de vérité ET Vrai Faux Vrai Faux OU Vrai Faux Vrai Faux XOR Vrai Faux Vrai Faux Vrai Faux Vrai Faux
Tables de vérité ET Vrai Faux Vrai Vrai Faux Faux Faux Faux
Tables de vérité ET Vrai Faux Vrai Vrai Faux Faux Faux Faux OU Vrai Faux Vrai Vrai Vrai Faux Vrai Faux
Tables de vérité ET Vrai Faux Vrai Vrai Faux Faux Faux Faux XOR Vrai Faux Vrai Faux Vrai Faux Vrai Faux OU Vrai Faux Vrai Vrai Vrai Faux Vrai Faux
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
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é"
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 piscine ALORS je suis mouillé" est un théorème VRAI.
Zoom sur l'implication p q Vrai Vrai Vrai Vrai Faux Faux Faux Vrai Vrai Faux Faux Vrai A B Lorsque A est VRAI, la condition est réalisée, donc B est VRAI. A = "je plonge dans la piscine" B = "je suis mouillé" "SI je plonge dans la piscine ALORS je suis mouillé" est un théorème VRAI.
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 piscine ALORS je suis mouillé" est un théorème VRAI. A B Lorsque A est VRAI, la condition est réalisée, donc B est VRAI. A peut aussi être FAUX et B restant VRAI. Peut-on en déduire que le théorème devient FAUX dans ce cas?
Zoom sur l'implication L'implication est vraie si l'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 est vrai, mais que l'on a pas l'hypothèse, alors on ne peut rien en déduire sur q.
Zoom sur l'implication L'implication est vraie si l'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 est vrai, mais que l'on a pas l'hypothèse, alors on ne peut rien en déduire sur q. Pierre Weis et Xavier Leroy on ne peut rien déduire d'un théorème dont l'hypothèse n'est pas vériée un théorème reste vrai même quand il ne s'applique pas
Tables de vérité Un connecteur logique booléen est déni par une table de vérité et réciproquement. Il existe 16 connecteurs logiques binaires (pourquoi?).
Tables de vérité Un connecteur logique booléen est déni par une table de vérité et réciproquement. Il existe 16 connecteurs logiques binaires (pourquoi?). Vrai Faux Vrai?? Faux??
Tables de vérité Un connecteur logique booléen est déni par une table de vérité et réciproquement. Il existe 16 connecteurs logiques binaires (pourquoi?). Vrai Faux Vrai?? Faux?? D'où 2 2 2 2 = 16 connecteurs logiques binaires.
Logiquement équivalent Logiquement équivalent F est logiquement équivalent à G si et seulement si F G est une tautologie. Logiquement équivalent F est logiquement équivalent à G si et seulement si F et G ont la même table de vérité.
Exemple a b a ET NON b b ET NON a (a b) (b a) Vrai Vrai Faux Vrai Vrai Faux Faux Faux
Exemple a b a ET NON b b ET NON (a b) (b a) Vrai Vrai Faux Faux Faux Faux Vrai Faux Vrai Vrai Vrai Faux Vrai Faux Vrai Faux Faux Faux Faux Faux
Exemple a b a ET NON b b ET NON (a b) (b a) 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 à
Exemple a b a ET NON b b ET NON (a b) (b a) 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)
Propriétés algébriques Associativité : p (q r) (p q) r p (q r) (p q) r
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
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)
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 : (p q) q p (p q) q p
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 : (p q) q p (p q) q p Contraposée : (p q) ( q p) (p q) ( p q)
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 : (p q) q p (p q) q p Contraposée : (p q) ( q p) (p q) ( p q) Preuve par l'absurde : p p
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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)) R(x, y)
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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)) R(x, y) Il n'existe pas de virus qui peuvent infecter toutes les cellules
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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)) R(x, y) Il n'existe pas de virus qui peuvent infecter toutes les cellules y, V (y) ( x C(x) I (x, y))
Une application en biologie C(x) est VRAIE lorsque x est une cellule V (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)) R(x, y) Il n'existe pas de virus qui peuvent infecter toutes les cellules y, V (y) ( x C(x) I (x, y)) technique de model checking : vérication de la formule logique par parcours astucieux des états possibles
Quand utiliser un test? tests simples Tests multiples "SI j'ai tes clés ALORS je vais pouvoir rentrer tout seul chez toi."
Quand utiliser un test? tests simples Tests multiples "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."
Quand utiliser un test? tests simples Tests multiples "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 te prendre."
Quand utiliser un test? tests simples Tests multiples "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 te prendre." "SI b 0 ALORS calculer a b SINON la division est impossible."
tests simples Tests 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 te prendre." "SI b 0 ALORS calculer a b SINON la division est impossible." test Exécution d'un morceaux d'algorithme selon la situation
tests simples Tests 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 logiques binaires
tests simples Tests multiples Tests simples en 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
Bloc en java Variables et aectations tests simples Tests multiples if (a < 0) { println("un"); println("nombre"); println("négatif"); } if (a < 0) println("negatif"); else println("positif"); Les accolades servent à créer un bloc d'instructions (= suite d'instructions) Lorsqu'il y a une seule instruction, on peut omettre les accolades. Remarque : décalage et alignement des instructions d'un même bloc (indentation) pour éviter les erreurs classiques d'accolades
tests simples Tests 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
tests simples Tests 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 : =,, <, >,,, etc.
tests simples Tests 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 : =,, <, >,,, etc. Les ensembles ordonnées peuvent être par exemple les nombres entiers, les nombres réels, les mots,...
tests simples Tests 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 : =,, <, >,,, etc. Les ensembles ordonnées peuvent être par exemple les nombres entiers, les nombres réels, les mots,... Attention! 60 < t < 100 n'est pas une condition.
Opérateur binaire logique en java Les opérateurs de comparaison : Les connecteurs logiques : tests simples Tests multiples pseudo-code java = ==! = < < > > <= >= pseudo-code java AND && OR NOT!
Tests simples Exemple Variables et aectations tests simples Tests multiples Algorithme valeurabsolue(x : réel) : réel début si x < 0 alors écrire( x) sinon écrire(x) n si n
Tests simples Exemple Variables et aectations tests simples Tests multiples Algorithme comparaison(a, b : entier) : rien début si a < b alors écrire(a est strictement plus petit que b) sinon écrire(b est plus petit que a) n si n
Tests simples Exemple java Variables et aectations tests simples Tests multiples 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
Une équivalence Variables et aectations tests simples Tests multiples 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.
tests simples Tests 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, la partie a s'exécute (quelque soit la valeur de booléen2) lorsque booléen1 est faux et que booléen2 est vrai, la partie b s'exécute lorsque booléen1 est faux et que booléen2 est faux, la partie c s'exécute
Tests multiples Variables et aectations tests simples 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
tests simples Tests 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, la partie a s'exécute Par contre la partie b s'exécute seulement lorsque booléen2 est vrai (quelque soit la valeur de booléen1)
Tests multiples / imbriqués Exemple tests simples Tests multiples Algorithme degredecorpulence(t : réel, m : réel) : début i m/t 2 si i < 20 alors écrire( "poids inférieur à la normale") sinon si i < 25 alors écrire( "poids normal") sinon si i < 30 alors écrire( "surcharge pondérale") sinon si i < 40 alors écrire( "adiposité") sinon écrire( "obésité"") n si n si n si n si n
Tests multiples Exemple Variables et aectations tests simples Tests multiples 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.") sinon si 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
Connecteurs logiques Exemple Variables et aectations tests simples Tests multiples Algorithme ordonner?(a,b,c : réel) : booléen début si a b ET b c alors écrire(vrai) sinon écrire(faux) n si n
Connecteurs logiques Exemple en java Variables et aectations tests simples Tests multiples int a, b, c; a = 10; b = 3; c = 5; if ((a <= b) && (b <= c)) then println(true); else println(false);
tests simples Tests multiples Equivalence Exemple en java int a, b, c; a = 10; b = 3; c = 5; println((a <= b) && (b <= c));
Tests multiples Exercice Variables et aectations tests simples Tests multiples Ecrire en java le programme suivant : début rep : entier rep 2 si 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
Traduction en java Variables et aectations tests simples Tests multiples 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.");
Equivalence avec switch tests simples Tests multiples int x = 2 ; switch (x) { case 1 : println("vous avez sélectionné le premier choi break; case 2 : println("vous avez sélectionné le deuxième cho break; case 3 : println("vous avez sélectionné le troisième ch break; default : println("votre choix est inconnu."); }
tests simples Tests multiples Equivalence avec switch instruction porte sur une variable de type byte, short, char ou int. 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
tests simples Tests 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
tests simples Tests multiples Exercice a - b - Rappeler les deux lois De Morgan. Démontrer que ces deux lois sont logiquement équivalentes à l'aide de tables de vérités.
tests simples Tests multiples Exercice Dans un pays lointain, deux tribus existent. La tribu des purs qui disent 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 tribu pouvait bien appartenir Alain et Bob? Questions : a - b - Répondre à la question en résonnant de manière informelle. Conrmer votre résultat à l'aide d'une table de vérité.
tests simples Tests multiples Objectifs de la séance 2 1 Ecrire un algorithme avec des aectations 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?
tests simples Tests multiples Travail pour la semaine prochaine Fabriquer ces petits programmes d'exemple Explorer les exemples de Processing Préparer le TP02!