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

Relectures

parent b03b11b6
No related branches found
No related tags found
No related merge requests found
No preview for this file type
......@@ -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"}}
......
......@@ -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:
......
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