Skip to content
Snippets Groups Projects
Commit 000b498f authored by Nicolas M. Thiéry's avatar Nicolas M. Thiéry
Browse files

Préparation

parent ffc6b356
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -16,26 +16,25 @@ kernelspec:
:::{admonition} Objectif pédagogique
Mieux comprendre les deux types de cellules qui
composent un carnet Jupyter et permettent d'alterner texte riche et
code exécutable.
Mieux comprendre les deux types de cellules qui composent un carnet
Jupyter et permettent d'entrelacer texte riche et code exécutable.
:::
+++ {"deletable": false, "editable": false}
L'intérêt des carnets numériques est de permettre d'entremêler, au
L'intérêt des carnets numériques est de permettre d'entrelacer, au
sein d'un même document, **narration**, **interaction**, **calcul**,
**visualisation** et **programmation**. Pour cela, Jupyter propose un
modèle très simple : un carnet Jupyter est une simple succession de
cellules de deux types :
* Des cellules de texte riche, au format ***Markdown*** ;
* Des cellules de texte riche, au format ***Markdown*** / ***MyST***;
* Des cellules de code exécutable.
:::{admonition} [Markdown](https://fr.wikipedia.org/wiki/Markdown) : Kesako ?
* Un langage à balisage léger pour écrire du texte riche;
* Un langage à balisage léger pour écrire du texte riche.
* Avec une syntaxe facile à lire et écrire.
Markdown vous permet ainsi de rédiger du texte ***mis en forme*** et
......@@ -56,10 +55,22 @@ structuré (sections, listes à puces, ...) avec, par exemple :
:::
**Exercice 1 :**
:::{admonition} [MyST](https://mystmd.org)
- Consultez les cellules de texte riche de ce document pour voir
comment elles ont été rédigées en Markdown.
MyST est une extension de Markdown fournissant des structures
supplémentaires (encarts, références croisées, citations, inclusions,
...), doublée d'une collection d'outils pour publier des documents
scientifiques offrant une [navigation web riche](https://mystmd.org/guide).
:::
:::{admonition} Exercice 1
Consultez les cellules de texte riche de ce document pour voir comment
elles ont été rédigées en Markdown/MyST.
:::
+++ {"deletable": false, "editable": false}
......@@ -67,17 +78,19 @@ structuré (sections, listes à puces, ...) avec, par exemple :
* À la souris : dans la barre d'outil de la feuille, sélectionnez
`Markdown` ou `Code`.
* Au clavier: passez en mode commande (voir le
[tutoriel](concept-mode-edition-vs-commande.md)) puis utilisez
<kbd>Y</kbd> pour convertir une cellule Markdown en cellule de code.
* Au clavier : passez en [mode
commande](../Semaine2/00-jupyter-mode-edition-vs-commande.md) puis
utilisez <kbd>Y</kbd> pour convertir une cellule Markdown en cellule
de code.
* Inversement, toujours en mode commande, utilisez <kbd>M</kbd> pour
convertir une cellule de code en cellule de Markdown.
+++ {"deletable": false, "editable": false}
**Exercice 2 :** La cellule ci-dessous est « accidentellement » une
cellule de texte. Changez-la en cellule de code pour pouvoir
l'exécuter :
:::{admonition} Exercice 2
La cellule ci-dessous est « accidentellement » une cellule de
texte. Changez-la en cellule de code pour pouvoir l'exécuter.
:::
+++ {"deletable": false, "editable": false}
......@@ -86,12 +99,13 @@ codecs.decode('Oenib!', 'rot_13')
+++ {"deletable": false, "editable": false}
## En savoir plus sur la syntaxe Markdown
## En savoir plus sur la syntaxe Markdown
Voici quelques tutoriels :
Voici quelques tutoriels que vous pourrez explorer après le TP :
* [Tutoriel Markdown (SNDS)](https://documentation-snds.health-data-hub.fr/contribuer/guide_contribution/tutoriel_markdown.html)
* [La syntaxe Markdown (Framasoft)](https://docs.framasoft.org/fr/grav/markdown.html)
* Le chapitre «Authoring» du [guide de MyST](https://mystmd.org/guide)
+++ {"deletable": false, "editable": false}
......
......@@ -14,11 +14,13 @@ kernelspec:
# TP : premières fonctions
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "7c56137d066444109bb04444924dccca", "grade": false, "grade_id": "cell-8b56bb2323e686a8", "locked": true, "schema_version": 3, "solution": false}}
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "fa28aa0e65e07eb070cacc788c8bae4d", "grade": false, "grade_id": "cell-8b56bb2323e686a8", "locked": true, "schema_version": 3, "solution": false}}
:::{admonition} Exercice 1 : renvoyer versus afficher
1. Exécutez les cellules suivantes qui définissent deux fonctions.
1. Les deux cellules suivantes définissent respectivement les
fonctions `abs` et `afficheAbs`; notez les différences entre ces
deux fonctions, puis exécutez les cellules.
:::
......@@ -184,7 +186,7 @@ nbgrader:
afficheAbs(-3) == 3
```
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "16917a0a8c100643d2750beb8dbe5e60", "grade": false, "grade_id": "cell-6f19e46ffe7ff87b", "locked": true, "schema_version": 3, "solution": false, "task": false}}
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "11cf6cf006086fd5692ad6ced17f0884", "grade": false, "grade_id": "cell-6f19e46ffe7ff87b", "locked": true, "schema_version": 3, "solution": false, "task": false}}
:::{hint} Explication
......@@ -192,7 +194,9 @@ afficheAbs(-3) == 3
qu'**afficher** une valeur. On notera ci-dessus que, avec `abs(3);`,
Jupyter ne montre pas du tout la valeur alors que, avec `abs(3)`,
Jupyter montre la valeur avec son type (`int`). Inversement
`afficheAbs` affiche la valeur mais ne la renvoie pas.
`afficheAbs` affiche la valeur mais ne la renvoie pas; de ce fait, il
n'est pas possible de réutiliser la valeur produite, que ce soit pour
un calcul ou un test.
:::
......@@ -272,12 +276,12 @@ int distance(int a, int b) {
}
```
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "04d10b0e8310abdeffc474e92f24f0e5", "grade": false, "grade_id": "cell-cf373e1ce7210f3a", "locked": true, "schema_version": 3, "solution": false}}
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "3ebfc99e85e04e0b8acad75fefa2323d", "grade": false, "grade_id": "cell-cf373e1ce7210f3a", "locked": true, "schema_version": 3, "solution": false}}
:::{admonition}
2. Vérifiez le comportement de votre fonction `distance` sur l'exemple
ci-dessous; essayez sur quelques autres exemples; corrigez la fonction
si nécessaire :
2. Vérifiez le comportement de votre fonction `distance` sur
l'exemple ci-dessous; essayez sur quelques autres exemples;
corrigez la fonction si nécessaire :
:::
```{code-cell}
......@@ -286,8 +290,9 @@ distance(5,3)
:::{admonition}
3. Les tests ci-dessous automatisent partiellement la vérification du
comportement de votre fonction; comme la valeur attendue est
spécifiée. Vérifiez que l'on obtient bien `true` à chaque fois :
comportement de la fonction `distance`, en spécifiant chaque fois
la valeur attendue. Vérifiez que l'on obtient bien `true` à chaque
fois :
:::
```{code-cell}
......@@ -489,10 +494,10 @@ nbgrader:
// REMPLACEZ CETTE LIGNE PAR VOTRE RÉPONSE
```
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "d8200e589afa199999dd08f0ab5b6ee3", "grade": false, "grade_id": "cell-d27b0a203d050706", "locked": true, "schema_version": 3, "solution": false}}
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "e23fcc5f4ec2f1631575f1543948e0b0", "grade": false, "grade_id": "cell-d27b0a203d050706", "locked": true, "schema_version": 3, "solution": false}}
:::{admonition} Exercice 4 (à la maison)
Mêmes consignes que pour l'exercice 1 avec la fonction suivante:
Mêmes consignes que pour l'exercice 2 avec la fonction suivante :
:::
```{code-cell}
......
......@@ -376,8 +376,6 @@ slideshow:
pow(2, 3)
```
<!-- -->
+++ {"slideshow": {"slide_type": "slide"}}
#### On remarque
......@@ -899,8 +897,6 @@ slideshow:
b
```
<!-- -->
+++ {"slideshow": {"slide_type": "slide"}}
### Passage des paramètres par valeur
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment