This commit is contained in:
parent
ce388b1126
commit
7ea0ad923c
1 changed files with 70 additions and 0 deletions
70
cours/SIN/05-logique.md
Normal file
70
cours/SIN/05-logique.md
Normal file
|
@ -0,0 +1,70 @@
|
|||
---
|
||||
title: Logique combinatoire
|
||||
subject: Cours
|
||||
export:
|
||||
- format: pdf
|
||||
template: courstex
|
||||
kernelspec:
|
||||
name: python3
|
||||
display_name: Python 3
|
||||
---
|
||||
|
||||
# Vocabulaire
|
||||
:::{prf:definition} Variable logique
|
||||
:nonumber: true
|
||||
Une **variable logique** est une variable qui ne peut prendre que deux valeurs, dites **états logiques** : 0 et 1.
|
||||
:::
|
||||
|
||||
:::{prf:definition} Table de vérité
|
||||
:nonumber: true
|
||||
Une **table de vérité** permet de renseigner les états logiques des sorties du système en fonction de ses entrées (exemple : @tab:verite).
|
||||
:::
|
||||
|
||||
:::{csv-table} Table de vérité
|
||||
:label: tab:verite
|
||||
:header-rows: 1
|
||||
a,b,S
|
||||
0,0,1
|
||||
0,1,0
|
||||
1,0,0
|
||||
1,1,1
|
||||
:::
|
||||
|
||||
:::{prf:definition} Chronogramme
|
||||
:nonumber: true
|
||||
Un **chronogramme** permet de représenter l'évolution des états logiques d'un système en fonction du temps (exemple : @fig:chronogramme).
|
||||
:::
|
||||
|
||||
::::{figure}
|
||||
:label: fig:chronogramme
|
||||
:::{code-cell} python
|
||||
:tag: [remove-input]
|
||||
import matplotlib.pyplot as plt
|
||||
import numpy as np
|
||||
|
||||
rng = np.random.default_rng(25)
|
||||
|
||||
fig, [ax_a, ax_b, ax] = plt.subplots(3, figsize=(10, 4), sharex=True, sharey=True)
|
||||
ax.set(xlim=(0, 16), xticks=np.arange(0, 16), ylim=(-0.5, 1.5), yticks=(0, 1))
|
||||
ax.set(xlabel="Temps (s)", ylabel="Signal logique")
|
||||
|
||||
a = rng.integers(2, size=16)
|
||||
b = rng.integers(2, size=16)
|
||||
S = np.equal(a, b)
|
||||
|
||||
ax_a.stairs(a, lw=3, baseline=None)
|
||||
ax_a.set_ylabel("a")
|
||||
|
||||
ax_b.stairs(b, lw=3, baseline=None)
|
||||
ax_b.set_ylabel("b")
|
||||
|
||||
ax.stairs(S, lw=3, baseline=None)
|
||||
ax.set_ylabel("S");
|
||||
:::
|
||||
|
||||
Chronogramme
|
||||
::::
|
||||
|
||||
# Fonctions logiques
|
||||
Une fonction logique donne un résultat en fonction des valeurs d'entrée.
|
||||
Les fonctions logiques usuelles sont ET ($a\cdot{}b$), OU ($a+b$), NON ($\bar a$) et OU exclusif (XOR, $a\oplus{}b$). Les symboles et tables de vérité sont donnés sur la [page Wikipédia des fonctions logiques](https://fr.wikipedia.org/wiki/Fonction_logique#Repr%C3%A9sentation_graphique).
|
Loading…
Add table
Reference in a new issue