Processing math: 100%

Outils d'utilisateurs

Outils du Site


boole_et_morgan

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

boole_et_morgan [2015/07/20 22:42]
77.148.2.219 [Idempotence]
boole_et_morgan [2016/07/05 18:53] (Version actuelle)
gbdivers
Ligne 1: Ligne 1:
  
-^ [[nombres_reels|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[virgule_fixe|Chapitre suivant]] ^+^ [[string|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[complex|Chapitre suivant]] ^
  
-====== L'algèbre de Boole ======+====== [Aller plus loin] L'algèbre de Boole ======
  
 Vous avez vu dans les chapitres précédents comment utiliser les booléens et les opérations de base : ET, OU, NON et OU-EXCLUSIF. En fait, l'utilisation des booléens est plus riche et complexe que cela. Ils sont à la base d'une branche des mathématiques, appelée [[https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)|Algèbre de Boole]], en l'honneur de son créateur, le mathématicien George Boole.  Vous avez vu dans les chapitres précédents comment utiliser les booléens et les opérations de base : ET, OU, NON et OU-EXCLUSIF. En fait, l'utilisation des booléens est plus riche et complexe que cela. Ils sont à la base d'une branche des mathématiques, appelée [[https://fr.wikipedia.org/wiki/Alg%C3%A8bre_de_Boole_(logique)|Algèbre de Boole]], en l'honneur de son créateur, le mathématicien George Boole. 
Ligne 146: Ligne 146:
 ^  1      ^  1      ^  1            ^ ^  1      ^  1      ^  1            ^
  
-Pour l'opérateur OU, ça sera la valeur ''false'' qui est l'élément neutre :+Pour l'opérateur OU, ça sera faux qui est l'élément neutre :
  
 |  ''a''  |  ''b''  |  ''a || b''  | |  ''a''  |  ''b''  |  ''a || b''  |
Ligne 184: Ligne 184:
 A OU Vrai = Vrai A OU Vrai = Vrai
  
-Cette propriété est particulièrement intéressante en C++, puisque cela permet de ne pas évaluer une expression, si possible. Comme expliqué dans le chapitre [[logique_et_calcul_booleen]], le C++ utilise la //lazy evaluation// lorsque c'est possible. Pour évaluer les expressions suivantes :+Cette propriété est particulièrement intéressante en C++, puisque cela permet de ne pas évaluer une expression, si possible. Comme expliqué dans le chapitre [[logique_et_calcul_booleen]], le C++ utilise la //lazy evaluation// (évaluation paresseuse) lorsque c'est possible. Pour évaluer les expressions suivantes :
  
 A ET Expression complexe A ET Expression complexe
Ligne 241: Ligne 241:
 ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a && b''  ^  ''(a && b) && c''  ^  ''b && c''  ^  ''a && (b && c)''  ^ ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a && b''  ^  ''(a && b) && c''  ^  ''b && c''  ^  ''a && (b && c)''  ^
 |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...                | |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...                |
 +|  ...    |  ...    |  ...    |  ...         |  ...                |  ...         |  ...                |
  
 ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a || b''  ^  ''(a || b) || c''  ^  ''b || c''  ^  ''a || (b || c)''  ^ ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a || b''  ^  ''(a || b) || c''  ^  ''b || c''  ^  ''a || (b || c)''  ^
 |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...                | |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...                |
 +|  ...    |  ...    |  ...    |  ...         |  ...                |  ...         |  ...                |
  
 ==== Distributivité ==== ==== Distributivité ====
Ligne 275: Ligne 277:
 ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a && b''  ^  ''(a && b) || c''  ^  ''a || c''  ^  ''b || c''  ^ ''(a || c) && (b || c)''  ^ ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a && b''  ^  ''(a && b) || c''  ^  ''a || c''  ^  ''b || c''  ^ ''(a || c) && (b || c)''  ^
 |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...         |  ...       | |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...         |  ...       |
 +|  ...    |  ...    |  ...    |  ...         |  ...                |  ...         |  ...                |
  
 ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a || b''  ^  ''(a || b) && c''  ^  ''a && c''  ^  ''b && c''  ^  ''(a && c) || (b && c)''  ^ ^  ''a''  ^  ''b''  ^  ''c''  ^  ''a || b''  ^  ''(a || b) && c''  ^  ''a && c''  ^  ''b && c''  ^  ''(a && c) || (b && c)''  ^
 |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...         |  ...       | |  0      |  0      |  0      |  ...         |  ...                |  ...         |  ...         |  ...       |
 +|  ...    |  ...    |  ...    |  ...         |  ...                |  ...         |  ...                |
  
 ===== Lois de De Morgan ===== ===== Lois de De Morgan =====
Ligne 310: Ligne 314:
   * Écrire un multiplexeur.   * Écrire un multiplexeur.
  
-^ [[nombres_reels|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[virgule_fixe|Chapitre suivant]] ^+^ [[string|Chapitre précédent]] ^ [[programmez_avec_le_langage_c|Sommaire principal]] ^ [[complex|Chapitre suivant]] ^
  
-{{tag> Cours C++}} 
boole_et_morgan.1437424937.txt.gz · Dernière modification: 2015/07/20 22:42 par 77.148.2.219