Archive

Archives pour la catégorie ‘Maths appliquées’

Le NON OU (NOR)

  1. Representation littérale
  2. Schema à contact
  3. Chronogramme
  4. Table de verité
  5. Equation logique
  6. Logigramme

Cette fonction est similaire à la fonction NAND sur le fait que elle aussi se contente d’inverser
les états de sortie, mais dans ce cas, d’une fonction OU.

Representation littérale

Lorsqu’il n’y a pas l’entrée a = 1 OU l’entrée b = 1
=> la sortie S est active

Schema à contact

Fonction NOR

Chronogramme

Fonction NOR

Table de verité

Fonction NOR
a b S
0 0 1
0 1 0
1 0 0
1 1 0

Equation logique

De même que pour la fonction NAND, la fonction NOR est aussi un NON
par dessus un OU.
On obtient donc :

    _____
S = a + b

Logigramme

Fonction NOR
Categories: Maths appliquées Tags:

Algebre de Boole

  1. Vocabulaire
  2. Commutativité
  3. Associativité
  4. Distributivité
  5. Théorème de De Morgan

Le mathématicien britannique Georges Boole (Lincoln 1815 – Ballintemple, près de Cork, 1864) est considéré comme
le créateur de la logique mathématique moderne. L’heritage qu’il a laissé n’est pas des moindres : dans tous les
langages informatiques, les types de données ayant pour but de stocker des valeurs logiques sont appellés boolean.
L’algebre de Boole vise a étudier les relations logiques entre plusieurs variables.

Vocabulaire

Les fonctions logiques élementaires étudiées antérieurement, à savoir les fonctions OUI,
NON, ET et OU, sont des relations mathematiques,
comme le montre le tableau suivant :

Fonction Relation Symbole Priorité
OUI Egalité = 4
NON Négation (ou complement) - 1
ET Produit 2
OU Somme + 3

Les relations mathematiques classiques s’appliquent donc également aux relations logiques.
Les degrès de priorité sont numérotés du plus prioritaire au moins prioritaire.

Commutativité

Les sommes et les produits sont commutatifs.
Ainsi :

a • b = b • a
a + b = b + a

Associativité

Les sommes et les produits sont distributifs :

a • (b • c) = (a • b) • c
a + (b + c) = (a + b) + c

Distributivité

Les sommes et les produits sont distributifs :

a • b + a • c = a • (b + c)
(a + b) • (c + d) = a • c + a • d + b • c + b • d

Théorème de De Morgan

  • Le complement d’une somme est égale au produit de chaque terme complementé.
  • Le complement d’un produit est égale à la somme de chaque terme complementé.
  • Donc :

    _____   _   _
    a • b = a + b
    _____   _   _
    a + b = a • b
    

    Le théorème de De Morgan s’applique tout particuliérement aux fonctions NAND et NOR, et
    il se verfie :

    • La fonction NAND :

      On voit bien que les contacts en parallèles a et b correspondent à l’equation.

    • De même pour la fonction NOR :

      Pareil ici pour les contacts en série a et b
    Categories: Maths appliquées Tags:

    Le binaire

    On a souvent tendance à l’oublier, mais au départ, un ordinateur n’est rien autre qu’un système electrique.
    Pour schematiser, il est composé d’innombrables petit interrupteurs tout simples.
    Or, un interrupteur ne connait que deux états :

    Dans ce cas là, la lampe S est éteinte. Si maintenant, le contact a se ferme, la lampe S
    va s’allumer.
    Par convention, on note 0 lorsque la lampe est éteinte, et 1 lorsque elle est allumée. Il y a donc
    2 états, d’où le mot : binaire.

    Tout de suite, le problème apparait : « Mais comment puis-je faire, moi, l’humain qui compte jusqu’à 10, pour
    pouvoir compter avec mon ami ordinateur ? »
    C’est très simple. Analysons d’abord comment l’humain fait pour compter en base 10. Prenons par exemple le
    nombre 421. Il peut être decomposé ainsi :

    421 = 4 x 102 + 2 x 101 + 1 x 100
    

    Rappelons qu’un nombre élevé à la puissance 0 est toujours égal à 1.
    Un nombre binaire peut être lu de la même façon, à la différence qu’au lieu d’utiliser des puissances de 10,
    on utilise des puissances de 2, vu que l’on est en base 2. Observons le nombre 110100101. On le décompose
    ainsi :

    110100101 = 1 x 28 + 1 x 27 + 0 x 26 + 1 x 25 + 0 x 24 + 0 x 23 + 1 x 22 + 0 x 21 + 1 x 20
              =     256 +     128 +      0 +      32 +       0 +      0 +       4 +       0 +      1
              = 421
    

    En base binaire, on appel un BIT chaque chiffre composant un nombre. Les bits situés à la gauche d’un
    nombre sont appelés les bits de poids fort, car ils sont très influents sur la valeur du nombre si ils
    changent. Et à l’inverse, les bits situés à la droite sont appelés les bits de poids faible car peu influants.
    On utilise rarement un bit tout seul. C’est pourquoi on les associe en goupe de 8, 16 et 32 :

    Nom Nombre de bits Valeur maximum
    Bit 1 20 – 1 = 1
    Octet (ou Byte en anglais) 8 28 – 1 = 255
    Mot (ou Word en anglais) 16 216 – 1 = 65535
    Double mot (ou Double Word en anglais) 32 232 – 1 = 4294967295

    2ème question : « J’arrive maintenant à lire les nombres que me donne mon ami l’ordinateur, mais
    comment puis-je faire pour qu’il puisse lire les miens ? ».
    Il suffit de convertir ce nombre en base 10, en base binaire. La régle de conversion est simple : il suffit
    de s’y prendre à l’envers.
    Note : par convention, on note en indice à la droite du nombre la base dans laquelle est exprimée le chiffre
    (ex : 42110 pour 421 en base 10, ou 1101001012 pour ce même nombre, mais en base 2).

    666 / 29 = 1                --> reste 154
    154 / 28 = 0                --> reste 154
    154 / 27 = 1                --> reste  26
     26 / 26 = 0                --> reste  26
     26 / 25 = 0                --> reste  26
     26 / 24 = 1                --> reste  10
     10 / 23 = 1                --> reste   2
      2 / 22 = 0                --> reste   2
      2 / 21 = 1                --> reste   0
      0 / 20 = 0                --> reste   0
    
    666 --> 1010011010 (lecture de haut en bas)
    

    L’unité légale, c’est à dire reconue par le système international d’unités (SI), pour mesurer les distances
    est le mètre (noté m). Mais cela n’empèche pas que pour des raisons partiques, nous utilisons par exemple des kilomètres (1 km = 1000 m).
    En binaire, il n’y a pas d’unitès SI, mais on utilise l’octet comme référence (noté o). Il existe donc des kilo-octets
    (noté ko), des méga-octets (noté mo) et même des giga-octets (noté go).
    Attention ! On pourai croire que 1 ko = 1000 o, que 1 mo = 1000 ko, etc…
    Et bien non : 1ko correspond à 210 octets, c’est à dire à 100000000002 octets, donc à
    1024 octets et non à 1000. Nous pouvons donc établir le tableau suivant :

    Nom Symbole Equivalence en octets
    octet o 20 = 1 !
    kilo-octet ko 210 = 1 024
    méga-octet mo 220 = 1 048 576
    giga-octet go 230 = 1 073 741 824
    tetra-octet to 240 = 1 099 511 627 776

    On s’aperçoit que 1 go = 1 mo x 210 et que 1 mo = 1 ko x 210.
    Mon disque dur de 20 go peut donc contenir 20 x 230 = 21 474 836 480 octets, autement dit 21 474 836 480
    caractères (on verra par la suite qu’un caractère equivaut à un octet), ce qui équivaut à approximativement
    4170 Bibles, ancien et nouveau testaments réunis (la Bible n’étant pas non plus une unité SI :-) !
    Ça rend humble de savoir ça…

    Categories: Maths appliquées Tags:

    L’hexadecimal

    La notation hexadecimal est également un système de numération très utilisé en informatique, notament avec les
    langages de programmation de bas niveau tel que l’assembleur.

    Le fonctionnement de l’hexadecimal est identique à celui du decimal ou du binaire, sauf que dans ce cas, au
    lieu de compter jusqu’à 9 ou 1, on va jusqu’à 15.
    Mais là, problème : comment faire pour representer les chiffres au delà de 9 ? On utilise tout simplement les
    lettres A, B, C, D, E et F.
    Voici un tableau d’equivalence decimal <-> hexadecimal :


    Decimal Hexadecimal
    0 0
    1 1
    2 2
    3 3
    4 4
    5 5
    6 6
    7 7
    8 8
    9 9
    10 A
    11 B
    12 C
    13 D
    14 E
    15 F

    Les rêgles de conversion restent les mêmes, donc pour convertir le nombre 7D2 en notation decimal, on
    effectuera les calculs suivants :

    7D2 = 7 x 162 + D x 161 + 2 x 160
        = 7 x 256 + 13 x 16 +   2 x 1
        =    1792 +     208 +       2
        = 2002
    

    Evidemment, la conversion decimal <-> hexadecimal suit aussi les mêmes régles. Prenons pour exemple le
    nombre 11259375 :

    11259375 / 165 = 10 = A               --> reste 773615
      773615 / 164 = 11 = B               --> reste  52719
       52719 / 163 = 12 = C               --> reste   3567
        3567 / 162 = 13 = D               --> reste    239
          39 / 161 = 14 = E               --> reste     15
          15 / 160 = 15 = F               --> reste      0
    
    11259375 --> ABCDEF (lecture de haut en bas)
    

    Mais pourquoi utiliser la notation hexadecimal? Pour plusieurs raisons :

    • Tout d’abord, la notation hexadecimal permet de representer facilement un octet (28) en
      seulement 2 caractères (162).
      Par exemple, 111111112 = FF16. Le nombre de caractères à utiliser est divisé
      par 2, ce qui d’une part va plus vite à écrie, et d’autre part permet de réduire le risque d’erreur.

    • 16 = 24. La conversion binaire <-> hexadecimal devient beaucoup plus facile à
      réaliser, et vice-versa, car une lettre hexadecimal equivaut à 4 bits (exposant 4).
      Par exemple, prenons 303916 :

      3-> 0011
      0-> 0000
      3-> 0011
      9-> 1001
      
      303916 = 00110000001110012
      

      Et comme éconcé plus haut, la réciproque est aussi vrai. Prenons 1111111011011100 :

      1111-> F
      1110-> E
      1101-> D
      1100-> C
      
      11111110110111002 = FEDC16
      
    Categories: Maths appliquées Tags:

    L’octal

    Le système octal est très peu utilisé, mais il faut parfois s’en servir dans certaines opérations informatiques.
    Les régles de conversions sont identiques à celles énoncées précedement.
    Conversion de 9810 en octal :


    98 / 82 = 1 –> reste 34
    34 / 81 = 4 –> reste 2
    2 / 80 = 2 –> reste 0

    98 –> 142 (de haut en bas)


    Et maintenant, le 76510 en décimal :

    765 = 7 x 82 + 6 x 81 + 5 x 80
    = 7 x 64 + 6 x 8 + 5 x 8
    = 448 + 48 + 40
    = 536

    Categories: Maths appliquées Tags:

    Logique combinatoire

    1. Introduction
    2. Representation littérale
    3. Representation graphique (schema à contact)
    4. Representation temporelle (chronogramme)
    5. Représentation arithmétique (table de verité)
    6. Représentation algébrique (equation logique)
    7. Representation fonctionnelle (logigramme)

    Introduction

    Toute unité de traitement, automate ou programme est généralement destiné à traiter les informations qu’elle
    reçoit afin de les re-transmettre à un utilisateur ou à un système.
    Cette exploitation de l’information fait appel à la logique combinatoire et parfois à la logique
    séquentielle
    (que nous étudierons par la suite).
    Les rêgles élementaires de la logique combinatoire sont les suivantes :

    • L’information ne peut prendre que deux états : 0 pour l’état inactif ou 1 pour l’état
      actif.
    • Il y a toujours 2n combinaisons entre les variables, où n represente
      le nombre de variables.
    • La même cause produit toujours le même effet. Per exemple, si j’appuis sur a, S sera toujours
      actif. Si je relache a, S sera toujours inactif.
    • L’effet disparait dès que la cause disparait. Lorsque je relache a, S devient inactif
      instantanement.

    Representation littérale

    Cette representation de l’information logique est rarement utilisée, ou bien parfois dans des cahiers des charges.
    Il s’agit tout simplement de d’écrire l’état du système lorsque sa sortie est active.
    Par exemple :

    Lorsque l’entrée a = 1
    => la sortie S est active

    Representation graphique (schema à contact)

    Tout comme un bit, un interrupteur electrique ne peut prendre que deux états :

    • Ouvert : dans ce cas là, le courant ne passe pas, et la variable associée à ce contact est
      considérée comme inactive (0)
    • Fermé : le courant passe. La variable associée est considérée comme active, donc à 1

    L’exemple ci-dessus peut donc être modélisé comme suit :


    contact

    Representation temporelle (chronogramme)

    Le chronogramme vise à representer durant une durée donnée l’état de chaques variables et chaques sorties
    d’une fonction logique.
    Dans notre exemple, on obtient (avec Excel :-) :


    Chronogramme

    On voit bien sur ce chronogramme que la lampe S (en bleu) réagit en fonction
    de l’interrupteur A (en vert).

    Représentation arithmétique (table de verité)

    On indique tout simplement dans un tableau l’état de la sortie pour chaque combinaison des entrées. Comme
    énoncé plus haut, on a toujours 2n lignes.
    Dans notre cas, c’est très simple, il y a 21 = 2 lignes :

    Table de verité
    a S
    0 0
    1 1

    Représentation algébrique (equation logique)

    Lors d’une étude sur papier, c’est certainement la représentation la plus utilisé. C’est très simple : on
    écrit simplement la sortie en fonction des variables.
    Dans notre cas, c’est très simple :

    S = a

    Si a = 0, S = 0. Si a = 1, S = 1.

    Representation fonctionnelle (logigramme)

    Chaque opérateur logique est representé par un symbole. Il existe deux normes : la française et l’americaine.
    La fonction logique que nous étudions depuis le début de cette page est la fonction OUI ou IDENTITE.
    Les symboles sont les suivants :


    Categories: Maths appliquées Tags:

    Le NON

    1. Representation littérale
    2. Schema à contact
    3. Chronogramme
    4. Table de verité
    5. Equation logique
    6. Logigramme

    Representation littérale

    Lorsque l’entrée a = 0
    => la sortie S est active

    Schema à contact

    Fonction NON

    Chronogramme

    Fonction NON

    Table de verité

    Fonction NON
    a S
    0 1
    1 0

    Equation logique

        _
    S = a
    

    Logigramme

    Fonction NON
    Categories: Maths appliquées Tags:

    Le ET (AND)

    1. Representation littérale
    2. Schema à contact
    3. Chronogramme
    4. Table de verité
    5. Equation logique
    6. Logigramme

    Representation littérale

    Lorsque l’entrée a = 1 ET l’entrée b = 1
    => la sortie S est active

    Schema à contact

    Fonction ET

    Chronogramme

    Fonction ET

    Table de verité

    Fonction ET
    a b S
    0 0 0
    0 1 0
    1 0 0
    1 1 1

    Equation logique

    On symbolise la fonction ET par un point (•).

    S = a • b
    

    Logigramme

    Fonction ET
    Categories: Maths appliquées Tags:

    Le OU (OR)

    1. Representation littérale
    2. Schema à contact
    3. Chronogramme
    4. Table de verité
    5. Equation logique
    6. Logigramme

    Representation littérale

    Lorsque l’entrée a = 1 OU l’entrée b = 1
    => la sortie S est active

    Schema à contact

    Fonction OU

    Chronogramme

    Fonction OU

    Table de verité

    Fonction OU
    a b S
    0 0 0
    0 1 1
    1 0 1
    1 1 1

    Equation logique

    On symbolise la fonction OU par le plus (+).

    S = a + b
    

    Logigramme

    Fonction OU
    Categories: Maths appliquées Tags:

    Le OU exclusif (XOR)

    1. Representation littérale
    2. Schema à contact
    3. Chronogramme
    4. Table de verité
    5. Equation logique
    6. Logigramme

    Representation littérale

    Lorsque l’entrée a = 1 ET l’entrée b = 0 OU lorque l’entrée a = 0 ET l’entrée b = 1
    => la sortie S est active

    Schema à contact

    Fonction OU exclusif

    Note : Les electriciens auront reconu le va-et-vient.

    Chronogramme

    Fonction OU exclusif

    Table de verité

    Fonction OU exclusif
    a b S
    0 0 0
    0 1 1
    1 0 1
    1 1 0

    Equation logique

    Dans un premier temps, la fonction XOR peut s’écrire :

            _   _
    S = a • b + a • b
    

    Cette écriture étant peu maniable, on preferera utiliser un signe plus entouré d’un cercle (XOR) :

    S = a XOR b
    

    Logigramme

    Fonction OU exclusif
    Categories: Maths appliquées Tags: