From d5538900300ee4ba999ec46db3e38b98af5676da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Nicolas=20M=2E=20Thi=C3=A9ry?= <nthiery@users.sf.net>
Date: Tue, 19 Sep 2023 08:42:50 +0200
Subject: [PATCH] Relectures

---
 .gradebook.db | Bin 262144 -> 270336 bytes
 cours.md      |  92 +++++++++++++++++++++-----------------------------
 index.md      |  60 +++++++++++++++++---------------
 3 files changed, 71 insertions(+), 81 deletions(-)

diff --git a/.gradebook.db b/.gradebook.db
index 39e4067a72eccc06a9aeddecf01a832f4d3bcf9d..f11c26e80b9ec060d4f948e2daad893b602006bb 100644
GIT binary patch
delta 2903
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

delta 2360
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
VjfKWs(|wY3QB-E0KSP52e*xr<%{Kr5

diff --git a/cours.md b/cours.md
index 7c0526e..5a835b3 100644
--- a/cours.md
+++ b/cours.md
@@ -63,15 +63,15 @@ semantic:
 
 :::{prf:definition} Programmes
 
-***Programme*** : suite d'instructions exécutées de manière
-séquentielle (les unes après les autres)
+***Programme*** : séquence d'instructions qui
+spécifie étape par étape les opérations à effectuer pour obtenir à
+partir des ***entrées*** un résultat (la
+***sortie***).
 
 :::
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
-<!-- TODO IMG -->
-
 ::::::{prf:example}
 :::::{grid}
 :gutter: 0
@@ -117,7 +117,7 @@ ouvre()
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
--   Découper en petits programmes : les *[fonctions](fonction_informelle)*
+-   Découper en petits programmes : les *[fonctions](fonction_informel)*
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
@@ -204,7 +204,7 @@ appelée une ***condition***.
 
 +++ {"slideshow": {"slide_type": "fragment"}}
 
-**Exemples:**
+**Exemples :**
 
 ```{code-cell}
 ---
@@ -217,12 +217,12 @@ true
 ```{code-cell}
 ---
 slideshow:
-  slide_type: fragment
+  slide_type: null
 ---
 false
 ```
 
-+++ {"slideshow": {"slide_type": "fragment"}}
++++ {"slideshow": {"slide_type": null}}
 
 - `regarde() == Vide`
 - `x > 3.14`
@@ -273,27 +273,15 @@ slideshow:
 ```
 
 ```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
 1./2 * 14.5 * 10 * 10
 ```
 
 ```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
-1./2 * 14.5 * 10 * 10
+1./2 * 14.5 * 100 * 100
 ```
 
 ```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
-1./2 * 14.5 * 100 * 100
+1./2 * 14.5 * 1000 * 1000 
 ```
 
 +++ {"slideshow": {"slide_type": "fragment"}}
@@ -310,20 +298,12 @@ double m;
 ```
 
 ```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
 v = 1000;
 m = 14.5;
 ```
 
 ```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
-1.0/2.0 * m * v * v
+1./2 * m * v * v
 ```
 
 +++ {"slideshow": {"slide_type": "slide"}}
@@ -555,14 +535,10 @@ y
 
 **Exemple : incrémentation**
 
-```{code-cell}
----
-slideshow:
-  slide_type: fragment
----
++++ {"slideshow": {"slide_type": "fragment"}}
+
 int x;
 x = 1;
-```
 
 ```{code-cell}
 ---
@@ -570,9 +546,6 @@ slideshow:
   slide_type: fragment
 ---
 x = x + 1;
-```
-
-```{code-cell}
 x
 ```
 
@@ -585,17 +558,32 @@ Variantes :
 slideshow:
   slide_type: fragment
 ---
-x -= 2
-```
-
-```{code-cell}
-x--;
+x -= 2;
+x
 ```
 
 ```{code-cell}
+---
+slideshow:
+  slide_type: fragment
+---
+x++;
 x
 ```
 
++++ {"slideshow": {"slide_type": "fragment"}}
+
+:::{admonition} Quelques raccourcis pratiques
+
+| Syntaxe  | Sémantique             | Syntaxe équivalente |
+| -------  | ----------             | ---                    |
+| `x += a` | Incrémenter `x` de `a` | `x = x + a`         |
+| `x -= a` | Décrémenter `x` de `a` | `x = x - a`         |
+| `x++`    | Incrémenter `x`        | `x = x + 1`         |
+| `x--`    | Décrémenter `x`        | `x = x - 1`         |
+
+:::
+
 +++ {"slideshow": {"slide_type": "slide"}}
 
 :::{warning} Affectation et égalité : deux concepts différents
@@ -641,11 +629,11 @@ Comment éviter de retaper chaque fois la formule?
 
 ### Fonctions
 
-(fonction_informelle)=
+(fonction_informel)=
 :::{prf:definition} Fonctions
 
 Informellement, une ***fonction*** est un
-petit [programme](programme) :
+petit [programme](programme_informel) :
 -   Entrées
 -   Traitement
 -   Sortie
@@ -659,17 +647,17 @@ petit [programme](programme) :
 ```{code-cell}
 ---
 slideshow:
-  slide_type: fragment
+  slide_type: null
 ---
 double energie_cinetique(double m, double v) {
-    return 0.5 * m * v * v;
+    return 1./2 * m * v * v;
 }
 ```
 
 ```{code-cell}
 ---
 slideshow:
-  slide_type: fragment
+  slide_type: null
 ---
 energie_cinetique(14.5, 10)
 ```
@@ -677,10 +665,8 @@ energie_cinetique(14.5, 10)
 +++ {"slideshow": {"slide_type": "fragment"}}
 
 -   Entrées : la masse et la vitesse (des nombres réels)
-
 -   Sortie : l'énergie cinétique (un nombre réel)
-
--   Traitement : `0.5 * m * v * v`
+-   Traitement : `1./2 * m * v * v`
 
 +++ {"slideshow": {"slide_type": "slide"}}
 
diff --git a/index.md b/index.md
index ee64816..afbb06c 100644
--- a/index.md
+++ b/index.md
@@ -11,29 +11,31 @@ kernelspec:
   name: xcpp17
 ---
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "ff657c59b200e50d261c063a9775dbc5", "grade": false, "grade_id": "cell-65f24a4fe8c153b9", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "56ec0a4cabda6c0696ea19160d6d7e34", "grade": false, "grade_id": "cell-65f24a4fe8c153b9", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
-# Semaine 2: Programmation impérative: premier aperçu
+# Semaine 2: Premiers éléments de programmation impérative
 
-La semaine dernière, Laby nous a amené à la découverte des premiers
+La semaine dernière, Laby nous a amené à la découverte de premiers
 éléments de la programmation impérative: programmes, fonctions,
-expressions conditionnelles et itératives. Cette semaine, nous allons
+instructions conditionnelles et itératives. Cette semaine, nous allons
 commencer à formaliser ces éléments, en y ajoutant expressions et
 variables.
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "2c35c1c7542efe699c052d8014954324", "grade": false, "grade_id": "cell-65f24a4fe8c153c0", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "4e2d6846c80331c1469f58ec637e7e4a", "grade": false, "grade_id": "cell-65f24a4fe8c153c0", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 ## [Cours](cours.md)
 
-## [TD](TD.md)
+## [TD : affectations, instructions conditionnelles](TD.md)
 
 +++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "6b66466b7f04d30b80167a5b5f733e1f", "grade": false, "grade_id": "cell-65f24a4fe8c153c1", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 ## TP
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "4225cf9a77f610bff1cadee460f19ddd", "grade": false, "grade_id": "cell-65f24a4fe8c153c2", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "9510d5dd72e75753d592cc04121c4d9f", "grade": false, "grade_id": "cell-65f24a4fe8c153c2", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
-**Rappel :** Tout exercice non marqué d'un ♣ est à terminer pour la semaine prochaine.**
+:::{attention} Rappel
+Tout exercice non marqué d'un ♣ est à terminer pour la semaine prochaine.
+:::
 
 +++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "16d262add0837e4334ab87b904b85f8f", "grade": false, "grade_id": "cell-bf0808a9dcb0b572", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
@@ -101,24 +103,26 @@ Travaillez successivement sur les feuilles suivantes :
 3.  N'oubliez pas de déposer à nouveau votre travail en fin de séance,
     afin que tout soit bien sauvegardé.
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3f7ea34bb4fe2ce23ec7d6a49f3c5ae9", "grade": false, "grade_id": "cell-bf0808a9dcb0b576", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "e5203c02432c8ea4b5dc0d24105bc30d", "grade": false, "grade_id": "cell-bf0808a9dcb0b576", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 ### Exercice 4 : Service JupyterHub@Paris-Saclay
 
-Rappel : l'université a déployé un service `JupyterHub` (expérimental)
+:::{hint} Rappel
+L'université a déployé un service `JupyterHub` (expérimental)
 vous permettant de travailler en dehors des séances avec simplement
 une connexion internet et un navigateur web (firefox, chrome, safari,
 ...).
-
-**Cet exercice n'est à faire que si vous n'avez pas encore utilisé ce
-service ou si vous avez rencontré des difficultés.**
+:::
+:::{attention}
+Cet exercice n'est à faire que si vous n'avez pas encore utilisé ce
+service ou si vous avez rencontré des difficultés. Demandez de l'aide au besoin à votre enseignant.
+:::
 
 1.  Suivez les instructions de la page
 	[Case départ](https://nicolas.thiery.name/Enseignement/Info111/ComputerLab/index.html)
 	du site web
-    pour vous connecter au service JupyterHub; téléchargez-y vos TP 1
-    et 2 et consultez les; demandez de l'aide au besoin à votre
-    enseignant.
+    pour vous connecter au service JupyterHub;
+2.  Téléchargez-y vos TP 1 et 2 et consultez les;
 
 <!--
 2.  Fermez votre serveur avec `Control Panel -> Stop My Server`, puis
@@ -146,11 +150,9 @@ Travaillez successivement sur les deux feuilles suivantes :
     de l'université, soit depuis chez vous en utilisant le service
     JupyterHub.
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "72cd89adbc36aa95e2dcc50f3cd6e55d", "grade": false, "grade_id": "cell-bf0808a9dcb0b57a", "locked": true, "schema_version": 3, "solution": false, "task": false}}
-
-<div class="alert alert-info">
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "76412fe4e07321dadd3cc05830f425fc", "grade": false, "grade_id": "cell-bf0808a9dcb0b57a", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
-**Note :**
+:::{note}
 
 Vous pouvez aborder les exercices ♣ suivants dans l'ordre que vous
 souhaitez.
@@ -160,13 +162,15 @@ feuilles de travail (notebook). Pour cela : utilisez le menu `Fichier
 -> Nouveau -> Notebook` et sélectionnez le noyau `Python 3` ou `C++
 17`. Vous noterez dans le titre de l'onglet que votre feuille
 s'appelle `Untitled.ipynb`; utilisez un clic droit sur le titre de
-l'onglet et choisissez `Renomer` dans le menu pour donner un nom
+l'onglet et choisissez `Renommer` dans le menu pour donner un nom
 informatif à la feuille.
 </div>
 
-<div class="alert alert-info">
+:::
 
-**Indication :**
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "0e5590c0564fa84b30aec895de9bf212", "grade": false, "grade_id": "cell-bf0808a9dcb0b57c", "locked": true, "schema_version": 3, "solution": false, "task": false}}
+
+:::{tip} Astuce
 
 Pour que le dépôt sur GitLab tienne compte de vos nouveaux fichiers,
 vous devez au préalable les déclarer au système de gestion de version
@@ -179,8 +183,9 @@ vous ouvrirez un terminal et ferez :
 
 Il sera alors inclus dans tous les dépôts ultérieurs.
 
-</div>
+:::
 
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "d2ac8dc671e598607d2d1c2dff7cc736", "grade": false, "grade_id": "cell-bf0808a9dcb0b57b", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 ### Exercice ♣ : Euler forever!
 
@@ -193,7 +198,7 @@ combinaison de réflexion sur feuille et de programmation (voir
 Essayez de résoudre les problèmes 1, 2, 5 et tous ceux qui vous
 plairont!
 
-+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1265a7c7fccab11b7f710a2d6abf74be", "grade": false, "grade_id": "cell-bf0808a9dcb0b579", "locked": true, "schema_version": 3, "solution": false, "task": false}}
++++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "ea53bc2ad33d30f8800bbf95e6f35dd1", "grade": false, "grade_id": "cell-bf0808a9dcb0b579", "locked": true, "schema_version": 3, "solution": false, "task": false}}
 
 ### Exercice ♣ : Python
 
@@ -201,9 +206,8 @@ Dans le cours «Introduction à la programmation», vous (re)découvrirez
 le langage de programmation Python. Pour prendre un peu d'avance,
 refaites le TP en utilisant cette fois `Python`.
 
-Vous pouvez consulter la feuille «Résumé de la syntaxe de base
-Python», fournie dans la <a href="TD.pdf">feuille de TD</a> en
-parallèle à celle pour C++.
+Vous pouvez consulter la feuille [Résumé de la syntaxe de base
+Python](fiche-resume-python.md).
 
 <!--
 Vous trouverez un cours complet sur `Python` à cette adresse:
-- 
GitLab