Algèbre de Boole et les Boucles

Slides:



Advertisements
Présentations similaires
Premier programme en C :
Advertisements

Initiation à la programmation et algorithmique cours 2
« 1.5. Les fonctions logiques »
Algorithmes et structures de données avancées Partie Conception de Sites Web dynamiques Cours 9 Patrick Reuter.
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
Visual Basic for Applications
Cours n°2M2. IST-IE (S. Sidhom) UE 303 Promo. M2 IST-IE 2005/06 Conception dun système d'information multimédia Architecture trois-tiers : PHP/MySQL &
Architecture des Ordinateurs
Algèbre de Boole.
La Logique Issus de l'algèbre de Bool (mathématicien Anglais ), seuls deux états sont utilisés : Etat « 0 » = abscence, faux Etat « 1 » =
Introduction à la logique
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Tests et itérations Programmes séquentiels ne résolvent pas tous les problèmes exemple simple : calcul des racines d'un polynôme de d° 2 dans R Algorithme.
Introduction : Compilation et Traduction
Fonctions Booléennes primaires
5. Les structures répétitives
Architecture de machines Eléments de logique
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
ALGEBRE DE BOOLE Mohamed Yassine Haouam
1)Boucle for 2)Boucle while
Qu’est-ce qu’un ordinateur ?
Les bases de l’Algorithmique
Points importants de la semaine Les commentaires. Les variables. Les instructions conditionnelles. Les instructions itératives (les boucles).
Langage C Révision.
Récursivité.
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Logique Combinatoire Fonction OUI Fonction NON Fonction ET Fonction OU
Algorithmique et structure de données
Les éléments de base de l’algorithmique
Structures de contrôle de l’exécution
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Les structure d’un programme :
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
CSI3525: Concepts des Languages de Programmation
Chapitre 9 Les sous-programmes.
Chapitre 8 Structure de contrôle.
Partie II Sémantique.
Fonction logique OUI a S 1 a S 1 a S S = a La sortie est toujours
Plan troisième cours Instruction sélective Instruction répétitive
Répéter dans un programme avec une Instruction itérative
Les Opérateurs Ils régissent toutes les opérations ou transformations sur les valeurs des variables. Opérateur d'affectation Opérateurs arithmétiques Opérateurs.
Équations Logiques État Physique État Électrique État Logique L
Paradigmes des Langages de Programmation
Algorithmique Les structures Rappel L'enchaînement séquentiel
Chapitre 3 :Algèbre de Boole
Logique combinatoire M. Delebecque. Logique combinatoire M. Delebecque.
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Algorithmique et programmation en
Un survol du language C.
Les tests.
Rappel - analyse et synthèse de fonctions combinatoires
 Syntaxe du langage PHP
Tutorat en bio-informatique
Structures de contrôle
Le langage Racket (Lisp)
Cours n° 3 Traitements en Java
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Module algorithmique et programmation
Scripts et fonctions Instructions de contrôle
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Algorithmique Algorithmique  Pascal
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
PhP 2. Tableaux et structures de contrôle. Les tableaux Définition –Rassemblement d’un ensemble de valeurs portant le même nom de variable –Types de tableaux.
O UTILS DE P ROGRAMMATION P OUR LES M ATHÉMATIQUES Mr. BENDIB. I MAA, LAMIS Laboratory, Université Larbi Tébessi - Tébessa.
Transcription de la présentation:

Algèbre de Boole et les Boucles Sommaire Opérateurs logiques: p3 Fonction « ET » (AND) Fonction « OU » (OR) Fonction « NON » (NOT) Fonction « NON – ET » (NAND) Fonction « NON – OU » (NOR) Fonction « OU exclusif » (XOR) Fonction « NON – OU exclusif » (XNOR) Propriétés : p8 Associativité Commutativité Distributivité Idempotence Eléments neutres Absorption Simplification Redondance Complémentarité Schémas logiques Les boucles: p13 De Boole aux Boucles Si Alors Sinon Tant que Pour Exemples en Php Exemples en Basic

Introduction L'algèbre de Boole, ou calcul booléen, est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques. Plus spécifiquement, l'algèbre booléenne permet d'utiliser des techniques algébriques pour traiter les expressions à deux valeurs du calcul des propositions. Dans l’algèbre de Boole, chaque variable ne peut avoir que deux valeurs: 0 si elle est fausse, et 1 si elle est vrai. Ce qui peut se traduire dans le domaine électronique par 0 = absence de courant, 1 = présence de courant. C’est le code binaire ( base 2 ). On appelle fonction logique une entité acceptant plusieurs valeurs logiques en entrée et dont la sortie (il peut y en avoir plusieurs) peut avoir deux états possibles : 0 ou 1. Une boucle est une fonction logique qui répète une ou plusieurs instructions, sous certaines conditions. Grâce aux propriétés de l’Algèbre de Boole, la simplification ( et donc l’allègement) des fonctions logiques devient possible. Elle fut initiée en 1854 par le mathématicien britannique George Boole.

Opérateur logique « ET » (AND) B A.B Il est défini de la manière suivante : A ET B est VRAI si et seulement si A est VRAI et B est VRAI. Il est représenté par le symbole « . ». Table de vérité « ET » (AND) B\A 1

Opérateur logique « OU » (OR) B A+B Il est défini de la manière suivante : A OU B est VRAI si et seulement si A est VRAI ou B est VRAI. (En particulier, si A est vrai et que B est vrai aussi, alors A OU B est vrai.) Il est représenté par le symbole « + ». Table de vérité « OU » (OR) B\A 1

Opérateur logique « NON » (NOT) Le contraire de A est VRAI si et seulement si A est FAUX. Il est représenté par une barre au dessus de la ou des variables concernées. Si A = 0, alors NON A = 1 Si A = 1, alors NON A = 0

Fonctions logiques composées « NON-ET » (NAND) « NON-OU » (NOR) La fonction NOR est l'enchainement de la fonction OU et de la fonction NON. La fonction NAND est l’enchainement de la fonction ET et de la fonction NON. A B A B A.B A+B Table de vérité « NON-ET » (NAND) B\A 1 Table de vérité « NON-OU » (NOR) B\A 1

Fonctions logiques composées « OU exclusif » (XOR) Il correspond à l'intersection de deux conditions, privée de la réunion de ces deux conditions. Il est représenté par le symbole « ⊕ ». « NON-OU » exclusif (XNOR)  La sortie est VRAI si et seulement si les deux entrées sont identiques. On peut donc noter qu'il s'agit de la négation du OU exclusif souvent noté XNOR. On le nomme parfois (bien qu'abusivement) identité. A B A B A⊕B A⊕B Table de vérité « OU » exclusif (XOR) B\A 1 Table de vérité « NON-OU » exclusif (XNOR) B\A 1

Propriétés des opérateurs Associativité : Comme avec les opérations habituelles, certaines parenthèses sont inutiles: ( A + B ) + C = A + ( B + C ) = A + B + C ( A . B ) . C = A . ( B . C ) = A . B . C Commutativité : L'ordre est sans importance: A + B = B + A A . B = B . A Distributivité : Comme avec les opérations habituelles, il est possible de distribuer : A . ( B + C ) = A . B + A . C Attention : comportement différent par rapport aux opérateurs + et . habituels : A + ( B . C ) = ( A + B) . ( A + C )

A . A . A . A . […]. A = A A . 1 = A 1 + A = 1 A +Ā . B = A + B Idempotence A + A + A + A +[…]+ A = A A . A . A . A . […]. A = A Éléments neutres A + 0 = A A . 1 = A Absorption O . A = 0 1 + A = 1 Simplification A +Ā . B = A + B A . (Ā + B ) = A . B Redondance A . B + Ā . C = A . B + Ā . C + B . C Complémentarité A = Ā A + Ā = 1 A . Ā = 0

Exemple de schémas logiques : Représentation (Symboles américains) de : ( A + B ) . ( A + C ) = S Exemples de Symboles américains :

Représentation (Symboles européens) de S3 = S1 . S2 = A + B . C Représentation ( Symboles européens) de : S = A . B + C = A . B . C Représentation (Symboles européens) de : F = A . ( B + C ) + ( B . D )

Représentation (Symboles européens) de : A . (B + C) + (A . B) + (B . C) = S Exemple de Simplification : (je note /A pour A Barre) S = A . /B + A . C + /A . B + B . C S = ( A . /B + /A . B ) + ( A . C + B . C ) car : [A./B+/A.B=A⊕B] S = A ⊕ B + ( A + B ) . C [A.C+B.C=(A+B).C] S = A ⊕ B + A . B . C

Boucle Tant-Que (While) Boucle Si-Alors-Sinon (If-Then-Else) Du Booléen aux boucles. Boucle Tant-Que (While) Boucle Si-Alors-Sinon (If-Then-Else) La condition est évaluée. Si la condition est vraie, on exécute Action_Alors. Si la condition est fausse, on exécute Action_Sinon. Ce n’est pas véritablement une boucle, mais cette commande leur sert de base, & peut être utiliser pour créer une boucle. Tant que la condition est vraie, on exécute « actions ». Quand la condition est fausse, fin du « tant que ». Une boucle est une structure de contrôle destinée à exécuter une portion de code plusieurs fois de suite, la structure de contrôle branchant le pointeur ordinal au début du code tant qu'une condition de continuation est remplie ou, selon les boucles, qu'une condition de sortie n'est pas remplie. Normalement, une boucle s'exécute selon le cas, soit un nombre de fois connu à l'avance, soit jusqu'à ce qu'une condition permette de sortir de la boucle. Il arrive toutefois qu'une erreur de programmation fasse qu'un programme s'exécute indéfiniment à l'intérieur d'une boucle. On dit que le programme est en train de boucler. Fortran II a introduit les boucles en 1958.

Boucle Pour (For) Pour une variable (« id_variable ») allant de valeur inférieure (« val_inférieure »), à valeur supérieure (« val_supérieure »), on exécute actions jusqu’à ce que la variable soit supérieure à la valeur supérieure. « Val_pas » correspond à la valeur d’incrémentation, et vaut 1 par défaut, que l’on peut modifier.

Exemples de Boucles en PHP Une boucle est une structure qui permet de répéter les mêmes instructions plusieurs fois. Une boucle seule se répète à l’infini tant que la condition n’est pas vraie. <?php While($variable == true){ Instruction à exécuter dans la boucle } ?> L’attribut « $ » permet de déclarer une variable. La condition « While » permet de déclarer une boucle qui exécutera les instructions jusqu’à ce que les conditions soient remplies. int majeur = 1; if (majeur) {     printf("Tu es majeur !"); } else     printf("Tu es mineur"); Comme majeur vaut 1, la condition est vraie, donc on affiche « tu es majeur !». Ici, If(majeur) peut se traduire par « Si tu es majeur ». Si la condition n’était pas remplie, les instructions de la condition else seront exécutées. if (majeur && garcon) Ici, les conditions Majeur & Garcon doivent être remplies.

<?php $nombre_de_lignes = 1; while ($nombre_de_lignes <= 100) { echo 'Je ne dois pas regarder les mouches voler quand j\'apprends le PHP.<br />'; $nombre_de_lignes++; // $nombre_de_lignes = $nombre_de_lignes + 1 } ?> Ici la boucle se répète tant que la variable $ nombre de lignes est inférieure ou égale à 100. La phrase se répètera donc 100 fois. <?php for ($nombre_de_lignes = 1; $nombre_de_lignes <= 100; $nombre_de_lignes++) {     echo 'Ceci est la ligne n°' . $nombre_de_lignes . '<br />'; } ?> La boucle for fait la même chose que la boucle while, mais rassemble sur une seule ligne tout ce qu’il faut savoir sur le fonctionnement de la boucle.

Exemples de Boucles en langage BASIC Ce programme nous demande un nombre (ligne 10), puis, selon sa valeur, affiche une des 2 lignes de texte (ligne 30 ou 40) après avoir comparé la valeur du nombre à 10 (ligne 20). Boucle « IF » : 10 INPUT  « Entrez un nombre : »;A 20 IF A>10 THEN GOTO 40 30 PRINT « Le nombre est inférieur ou égal à 10. »;END 40 PRINT « Le nombre est supérieur à 10. » Boucle « WHILE » : DO INPUT "Combien d'étoiles voulez-vous"; NumStars Stars$ = "" Stars$ = REPEAT$("*", NumStars) PRINT Stars$ INPUT "Voulez-vous plus d'étoiles"; Answer$ LOOP UNTIL Answer$ <> "" LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "O" Boucle « FOR » : 10 INPUT « Donnez un nombre : »;N 20 FOR I = 1 TO N 30 Print « Je compte »;I; ». » 40 NEXT I Ce programme nous demande un nombre d’étoiles à afficher, puis nous demande si on souhaite plus d’étoiles, & attend en boucle jusqu’à ce qu’on appuie sur une touche. Si la touche O est appuyée il recommencera au début, sinon il s’arrêtera. Ce programme nous demande un nombre, puis affichera la phrase « Je compte »  suivie de nombres allant de 1 jusqu’au nombre indiqué. La commande NEXT sert à incrémenter le nombre I jusqu’à ce que I=N.