diff --git a/cours/SIN/05-logique.md b/cours/SIN/05-logique.md
new file mode 100644
index 0000000..163eb65
--- /dev/null
+++ b/cours/SIN/05-logique.md
@@ -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).
\ No newline at end of file