Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Semaine4
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package Registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Info 111 Programmation Impérative
2024-2025
MI4
Semaine4
Commits
000b498f
Commit
000b498f
authored
5 months ago
by
Nicolas M. Thiéry
Browse files
Options
Downloads
Patches
Plain Diff
Préparation
parent
ffc6b356
No related branches found
No related tags found
No related merge requests found
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
.gradebook.db
+0
-0
0 additions, 0 deletions
.gradebook.db
00-jupyter-les-types-de-cellules.md
+31
-17
31 additions, 17 deletions
00-jupyter-les-types-de-cellules.md
01-fonctions.md
+17
-12
17 additions, 12 deletions
01-fonctions.md
cours.md
+0
-4
0 additions, 4 deletions
cours.md
with
48 additions
and
33 deletions
.gradebook.db
+
0
−
0
View file @
000b498f
No preview for this file type
This diff is collapsed.
Click to expand it.
00-jupyter-les-types-de-cellules.md
+
31
−
17
View file @
000b498f
...
...
@@ -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'entre
mêl
er, au
L'intérêt des carnets numériques est de permettre d'entre
lac
er, 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}
...
...
This diff is collapsed.
Click to expand it.
01-fonctions.md
+
17
−
12
View file @
000b498f
...
...
@@ -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": "1
6917a0a8c100643d2750beb8dbe5e60
", "grade": false, "grade_id": "cell-6f19e46ffe7ff87b", "locked": true, "schema_version": 3, "solution": false, "task": false}}
+++ {"deletable": false, "editable": false, "nbgrader": {"cell_type": "markdown", "checksum": "1
1cf6cf006086fd5692ad6ced17f0884
", "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}
...
...
This diff is collapsed.
Click to expand it.
cours.md
+
0
−
4
View file @
000b498f
...
...
@@ -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
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment