diff --git a/slides/boucles_conditions.md b/slides/boucles_conditions.md
index ed5c54803f2d10efb3e5bfd8f7315a60e402acb0..8b7eaa11b94bd758214729135c55999d5b2cad8c 100644
--- a/slides/boucles_conditions.md
+++ b/slides/boucles_conditions.md
@@ -74,6 +74,68 @@ if (x) { // si x s'évalue à `vrai`
 }
 ```
 
+
+# Structures de contrôle: `continue`{.C}, `break`{.C}
+
+- `continue`{.C} saute à la prochaine itération d'une boucle.
+
+    ```C
+    int i = 0;
+    while (i < 10) {
+        if (i == 3) {
+            continue;
+        }
+        printf("%d\n", i);
+        i += 1;
+    }
+    ```
+
+- `break`{.C} quitte le bloc itératif courant d'une boucle.
+
+    ```C
+    for (int i = 0; i < 10; i++) {
+        if (i == 3) {
+            break;
+        }
+        printf("%d\n", i);
+    }
+    ```
+
+# La fonction `main()` (1/2)
+
+## Généralités
+
+- Point d'entrée du programme.
+- Retourne le code d'erreur du programme:
+    - 0: tout s'est bien passé.
+    - Pas zéro: problème.
+- La valeur de retour peut être lue par le shell qui a exécuté le programme.
+- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. 
+
+# La fonction `main()` (2/2)
+
+## Exemple
+
+```C
+int main() {
+    // ...
+    if (error)
+	    return EXIT_FAILURE;
+    else
+	    return EXIT_SUCCESS;
+}
+```
+
+- Le code d'erreur est lu dans le shell avec `$?`{.bash}
+
+```bash
+$ ./prog
+$ echo $?
+0 # tout s'est bien passé par exemple
+$ if [ $? -eq 0 ]; then echo "OK" ; else echo "ERROR"; fi
+ERROR # si tout s'est mal passé
+```
+
 # Entrées/sorties: `printf()`{.C} (1/2)
 
 ## Généralités
@@ -135,65 +197,29 @@ int main() {
 }
 ```
 
-# Structures de contrôle: `continue`{.C}, `break`{.C}
-
-- `continue`{.C} saute à la prochaine itération d'une boucle.
-
-    ```C
-    int i = 0;
-    while (i < 10) {
-        if (i == 3) {
-            continue;
-        }
-        printf("%d\n", i);
-        i += 1;
-    }
-    ```
-
-- `break`{.C} quitte le bloc itératif courant d'une boucle.
-
-    ```C
-    for (int i = 0; i < 10; i++) {
-        if (i == 3) {
-            break;
-        }
-        printf("%d\n", i);
-    }
-    ```
-
-# La fonction `main()` (1/2)
-
-## Généralités
-
-- Point d'entrée du programme.
-- Retourne le code d'erreur du programme:
-    - 0: tout s'est bien passé.
-    - Pas zéro: problème.
-- La valeur de retour peut être lue par le shell qui a exécuté le programme.
-- `EXIT_SUCCESS`{.C} et `EXIT_FAILURE`{.C} (de `stdlib.h`) sont des valeurs de retour **portables** de programmes C. 
+# Nombres aléatoires: `rand()`, `srand()`{.C} (2/2)
 
-# La fonction `main()` (2/2)
+```
+$ man 3 rand
+The  rand()  function  returns  a  pseudo-random  integer  
+in  the  range  0  to RAND_MAX inclusive (i.e., the 
+mathematical range [0, RAND_MAX]).
+```
 
 ## Exemple
 
 ```C
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
 int main() {
-    // ...
-    if (error)
-	    return EXIT_FAILURE;
-    else
-	    return EXIT_SUCCESS;
+    srand(0);          // every run will be identical
+    srand(time(NULL)); // every run will be be different
+    for (int i = 0; i < 50; ++i) {
+        printf("%d\n", rand() % 50);
+    }
+    return EXIT_SUCCESS;
 }
 ```
 
-- Le code d'erreur est lu dans le shell avec `$?`{.bash}
-
-```bash
-$ ./prog
-$ echo $?
-0 # tout s'est bien passé par exemple
-$ if [ $? -eq 0 ]; then echo "OK" ; else echo "ERROR"; fi
-ERROR # si tout s'est mal passé
-```
-