Fonctions logiques et algèbre booléenne

Slides:



Advertisements
Présentations similaires
Introduction à la notion de fonction 1. Organisation et gestion de données, fonctions 1.1. Notion de fonction ● Déterminer l'image d'un nombre par une.
Advertisements

Cours COMPOSANTES DES VECTEURS Dimitri Zuchowski et Marc-Élie Lapointe.
Département Informatique Représentation de l’information Laurent JEANPIERRE D’après le cours de Pascal FOUGERAY IUT de CAEN – Campus 3.
1er partie : Les lois du courant continu
annuités, mensualités remboursements constants VPM pendant une période ininterrompue
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Les évolutions essentielles du nouveau R.H.S.
Quel est le calcul prioritaire ? Y-a-t-il des parenthèses ?
Algorithme et programmation
Algèbre relationnelle
Opérateurs Toute donnée informatique est stockée en mémoire sous la forme d'une combinaison de bits (mot machine). Les opérateurs bits permettent de modifier.
Métrologie Document de reference : “Incertitude en Science de la Nature” Cours : 360-ESZ-03 “Logiciels appliqués en sciences” La métrologie est la « science.
Lois fondamentales de l'algèbre de Boole
Algorithmique demander jeu du pendu.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Représentation de l'information en binaire:
Les opérations sur les nombres
I Définition chapitre 1 Les Matrices.
Plan du cours Introduction : création de circuits
Fonction logique Il existe deux grands types de fonctions logiques :
Fonctions.
Bases de programmation en Python
Principes de programmation (suite)
Le Courant Électrique 8.2.
Égalité et priorité de calculs
Codification et Représentation de l’information
Nom: _________________________
Régularité et algèbre 3.1 L’élève doit pouvoir explorer des relations : a) à partir de suites non numériques à motif croissant impliquant les notions d’aire.
Représentation binaire
Eléments de la Théorie des Probabilités
Cours 3 2. Représentation et traitement des informations Le matériel
Notion De Gestion De Bases De Données
Création Et Modification De La Structure De La Base De Données
PROGRAMMATION ET ENSEIGNEMENT
Électricité.
Régularité et Algèbre 3.3.
Chapitre 3 : Caractéristiques de tendance centrale
Energie ??? Première approche d’une notion terriblement abstraite mais bigrement utile !!!! 09/11/2018 sr.
Connaître les équivalences entre fractions
L1 Technique informatique
Eléments de la Théorie des Probabilités
Révision du format des données
NUMERATION et REPRESENTATION DES NOMBRES
B.Shishedjiev - Informatique
Difficultés d’apprentissage
Semaine #2 INF130 par Frédérick Henri.
De Scratch à Python : une transition douce… COMMUNICATION
Codage de l’information
Sera vu dans le prochain cours.
Présenté par: Mr: KARKOUB Rida Mme: ERRAIH Izza
Chapitre 7 : Résolution d’équations
IFT313 Introduction aux langages formels
Outil de description d’une fonction logique:
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Les Définition Les expressions Algebriques
Présentation des nouveaux programmes de mathématiques de première des séries technologiques Jessica Parsis.
Introduction à l'Informatique
Les circuits en séries et en parallèle
Les polynômes Expression algébrique composée de termes liés par des opérations d’addition ou de soustractions. (liés par + et -)
Fonctions.
Le système d’évaluations en cours de mathématiques
Programme de physique-chimie de première STI2D (Laurence Hilaire, Jessica Parsis et Antoine Ridoin) Énergie mécanique  Nécessité d’introduire le travail.
Python Nicolas THIBAULT
Problèmes multiplicatifs
Problèmes multiplicatifs
PROJET R.A.N. LES FRACTIONS.
La loi des signes.
spécialité mathématiques Première
Représentation numérique de l’information numérique et textuelle
Notion d’intensité du courant électrique
Transcription de la présentation:

Fonctions logiques et algèbre booléenne 10/06/2018 Représentation et traitement des informations Fonctions logiques et algèbre booléenne Opérations sur les bits Le matériel Chapitre 2 CSA Synthèse du professeur sif-1053

Fonctions logiques et algèbre booléenne 10/06/2018 C’est vers le milieu du 19ième siècle que le mathématicien et logicien anglais George Boole publie son traité d’algèbre intitulé: “Investigation des lois du raisonnement sur lesquelles reposent la théorie mathématique de la logique et les probabilités”. Il faut par contre attendre près d’un siècle avant que l’on trouve des applications pratiques à cette théorie. sif-1053

10/06/2018 L’algèbre de Boole est une algèbre applicable aux raisonnements sur des propositions logiques, une proposition peut être vraie ou fausse, ce que l’on peut noter par 1 ou 0. En électronique, le courant électrique passe ou ne passe pas, ce que l’on peut noter également par 1 ou 0. En fait c’est sur ce concept fondamental, pour le moins assez simple, que sont construits tous les ordinateurs électroniques. sif-1053

Variable Booléenne 10/06/2018 Puisqu’une variable de Boole ne peut prendre que deux valeurs, 0 ou 1, nous pouvons écrire: si A différent de 0 ==> A = 1 si A différent de 1 ==> A = 0 sif-1053

10/06/2018 On associe souvent la notation de variable booléenne à un interrupteur ouvert ou fermé. Supposons que la valeur 1 soit associée à l’interrupteur fermé et 0 à l’interrupteur ouvert. En admettant la présence d’une tension au point E, nous avons une tension au point S dans la mesure où A = 1. Si A = 0 (interrupteur ouvert), il n’y a pas de tension en S. sif-1053

Complémentation d’une variable booléenne 10/06/2018 Étant donnée la dualité inhérente à toute l’algèbre de Boole, la notion de complémentation d’une variable ou d’une expression est immédiate, nous appelons complément d’une variable ou d’une expression l’opposé en algèbre de Boole de cette variable ou de cette expression. L’opération de complémentation peut donc être représentée par le tableau ci-dessous. ~A = 1 quand A=0 Variable Complément A A (ou A’) 0 1 1 0 sif-1053

10/06/2018 Nous voyons donc que si la variable A est associée à un interrupteur ouvert pour la valeur 0 et fermé pour la valeur 1, la variable A’ est associée à un interrupteur mécaniquement lié au premier, mais ouvert quand A = 1 et fermé quand A = 0 sif-1053

La somme logique 10/06/2018 La notion de somme logique (à ne pas confondre avec la somme algébrique) peut être associée à des interrupteurs en parallèle. En associant à la présence d’une tension en un point la valeur logique 1, et à son absence la valeur logique 0, nous obtenons: S=0, si A=0 et B=0 simultanément; S=1 , si A=1 ou B=1(ou les deux). sif-1053

10/06/2018 Cette opération de somme logique est indiquée par le signe +. Nous écrivons donc: S = A + B Le + logique (que nous ne devons pas confondre avec le + de l’algèbre classique) correspond assez bien à la dénomination OU: nous avons une tension en S si les interrupteurs A OU B (ou les deux) sont fermés. A | B = 1 quand A = 1 ou B = 1 sif-1053

10/06/2018 Par analogie avec la table d’addition classique, nous pouvons établir une table d’addition logique. + 0 1 0 0 1 1 1 1 sif-1053

S=1 , si A=1 et B=1simultannément. Le produit logique 10/06/2018 Nous avons vu dans le paragraphe précédent que la notion de somme logique se rapproche de celle d’interrupteurs en parallèle. De la même façon, nous associons la notion de produit logique à celle d’interrupteurs placés en série S=0, si A=0 ou B=0; S=1 , si A=1 et B=1simultannément. sif-1053

Cette opération de produit logique est notée: 10/06/2018 Cette opération de produit logique est notée: S = A x B (ou A.B ou AB) Le x logique (que nous ne devons pas confondre avec le x de l’algèbre classique) correspond assez bien à la dénomination ET: nous avons une tension en S si les interrupteurs A et B sont fermés. A & B = 1 quand A = B = 1 sif-1053

10/06/2018 Par analogie avec la table de multiplication classique, nous pouvons établir une table de multiplication logique. x 0 1 0 0 0 1 0 1 sif-1053

Le OU-EXCLUSIF (Xor) A^B = 1 quand A=1 ou B=1 mais A != B sif-1053 10/06/2018 A^B = 1 quand A=1 ou B=1 mais A != B sif-1053

Identités utiles en algèbre Booléenne 10/06/2018 sif-1053

Exemples Opérations sur plusieurs bits Opérations appliquées bit à bit 10/06/2018 Opérations sur plusieurs bits Opérations appliquées bit à bit 01101001 & 01010101 01000001 01101001 ^ 01010101 00111100 ~ 01010101 10101010 01101001 | 01010101 01111101 sif-1053

Opérations sur les bits en C 10/06/2018 Opérations &, |, ~, ^ disponibles en C Applicable à plusieurs types de données long, int, short, char Voir les opérandes comme des suites de bits Opérations bit à bit Exemples (char) ~0x41 --> 0xBE ~010000012 --> 101111102 ~0x00 --> 0xFF ~000000002 --> 111111112 0x69 & 0x55 --> 0x41 011010012 & 010101012 --> 010000012 0x69 | 0x55 --> 0x7D 011010012 | 010101012 --> 011111012 sif-1053

Opérations logiques en C VERSUS Opérations sur les bits 10/06/2018 Opérateurs Logiques && (ET logique), || (OU logique), ! (NON logique) Voir 0 comme FAUX Tout ce qui est différent de 0 est VRAI Retourne 0 ou 1 Exemples (char) !0x41 --> 0x00 (NOT VRAI = FAUX) !0x00 --> 0x01 (NOT FAUX = VRAI) !!0x41 --> 0x01 0x69 && 0x55 --> 0x01 0x69 || 0x55 --> 0x01 x = 100 y = 50 xx = 120 yy = 130 (x >= y) && (xx == yy)  0x00 sif-1053

Résumé des opérateurs en C 10/06/2018 Opérateurs Arithmétiques +, += /* addition, addition et affectation */ -, -= /* soustraction, soustraction et affectation */ *, *= /* multiplication, multiplication et affectation */ /, /= /* division, division et affectation */ %, %= /* reste de la division entière (modulo), modulo et affectation */ ++ /* incrémentation a++, ++a */ -- /* décrémentation a--, --a */ Relationnels <, <= /* plus petit, plus petit ou égal */ >, >= /* plus grand, plus grand ou égal */ ==, != /* égal ou différent */ Logiques ! /* complément (non) */ && /* et */ | | /* ou */ sif-1053

Résumé des opérateurs en C 10/06/2018 Opérateurs Logiques bitwise (sur des bits) ~ /* complément à 1 */ &, &= /* et logique, et logique et affectation */ | , |= /* ou logique, ou logique et affectation */ ^, ^= /* ou exclusif, ou exclusif et affectation */ >>, >>= /* décalage à droite, décalage à droite et affectation */ <<, <<= /* décalage à gauche, décalage à gauche et affectation */ sif-1053