17
Algèbre de Boole et les Boucles 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) Sommaire Propriétés : p8 Associativit é Commutativit é Distributivi Idempotence Eléments neutres Absorption Simplificati on Redondance Complémentar ité Les boucles: p13 De Boole aux Boucles Si Alors Sinon Tant que Pour Exemples en Php Exemples en Basic

Algèbre de Boole et les Boucles

  • Upload
    hazina

  • View
    67

  • Download
    1

Embed Size (px)

DESCRIPTION

Algèbre de Boole et les Boucles. 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). Sommaire. Propriétés : p8 - PowerPoint PPT Presentation

Citation preview

Page 1: Algèbre de Boole et les Boucles

Algèbre de Boole et les Boucles

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)

Sommaire

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

Page 2: Algèbre de Boole et les Boucles

IntroductionL'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.

Page 3: Algèbre de Boole et les Boucles

Opérateur logique « ET » (AND)

Table de vérité « ET » (AND)

B\A 0 1

0 0 0

1 0 1

AB 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 « . ».

Page 4: Algèbre de Boole et les Boucles

Opérateur logique « OU » (OR)

AB 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 0 1

0 0 1

1 1 1

Page 5: Algèbre de Boole et les Boucles

Opérateur logique « NON » (NOT)

A A

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

Page 6: Algèbre de Boole et les Boucles

Fonctions logiques composées

« NON-ET » (NAND)

La fonction NAND est l’enchainement de la fonction ET et de la fonction NON.

AB A.B

Table de vérité « NON-ET » (NAND)

B\A 0 1

0 1 1

1 1 0

« NON-OU » (NOR)

La fonction NOR est l'enchainement de la fonction OU et de la fonction NON.

AB

A+B

Table de vérité « NON-OU » (NOR)

B\A 0 1

0 1 0

1 0 0

Page 7: Algèbre de Boole et les Boucles

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 « ».⊕

Table de vérité « OU » exclusif (XOR)

B\A 0 1

0 0 1

1 1 0

« 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é.

Table de vérité « NON-OU » exclusif (XNOR)

B\A 0 1

0 1 0

1 0 1

AB A B⊕ A B⊕A

B

Page 8: Algèbre de Boole et les Boucles

Propriétés des opérateursAssociativité : 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 . CAttention : comportement différent par rapport aux opérateurs + et . habituels :

A + ( B . C ) = ( A + B) . ( A + C )

Page 9: Algèbre de Boole et les Boucles

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

Page 10: Algèbre de Boole et les Boucles

Exemple de schémas logiques :

Représentation (Symboles américains) de : ( A + B ) . ( A + C ) = S

Exemples de Symboles américains :

Page 11: Algèbre de Boole et les Boucles

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 )

Page 12: Algèbre de Boole et les Boucles

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⊕

Représentation (Symboles européens) de :

A . (B + C) + (A . B) + (B . C) = S

Page 13: Algèbre de Boole et les Boucles

Du Booléen aux boucles.Boucle Si-Alors-Sinon (If-Then-Else)

Boucle Tant-Que (While)

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.

Page 14: Algèbre de Boole et les Boucles

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.

Page 15: Algèbre de Boole et les Boucles

<?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.

Exemples de Boucles en PHPUne 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.

int majeur = 1;if (majeur){ printf("Tu es majeur !");}else{ printf("Tu es mineur");}

if (majeur && garcon)

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.

Ici, les conditions Majeur & Garcon doivent être remplies.

Page 16: Algèbre de Boole et les Boucles

<?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.

<?phpfor ($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.

Page 17: Algèbre de Boole et les Boucles

Exemples de Boucles en langage BASIC Boucle « IF » :10 INPUT « Entrez un nombre : »;A20 IF A>10 THEN GOTO 4030 PRINT « Le nombre est inférieur ou égal à 10. »;END40 PRINT « Le nombre est supérieur à 10. »

Boucle « WHILE » :DO

INPUT "Combien d'étoiles voulez-vous"; NumStars Stars$ = "" Stars$ = REPEAT$("*", NumStars) PRINT Stars$ DO

INPUT "Voulez-vous plus d'étoiles"; Answer$

LOOP UNTIL Answer$ <> "" LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "O"

Boucle « FOR » :10 INPUT « Donnez un nombre : »;N20 FOR I = 1 TO N30 Print « Je compte »;I; ». »40 NEXT I

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).

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.