Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
S
Semaine2
Manage
Activity
Members
Code
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Analyze
Contributor analytics
CI/CD 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
2023-2024
Semaine2
Commits
d5538900
Commit
d5538900
authored
1 year ago
by
Nicolas M. Thiéry
Browse files
Options
Downloads
Patches
Plain Diff
Relectures
parent
b03b11b6
No related branches found
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gradebook.db
+0
-0
0 additions, 0 deletions
.gradebook.db
cours.md
+39
-53
39 additions, 53 deletions
cours.md
index.md
+32
-28
32 additions, 28 deletions
index.md
with
71 additions
and
81 deletions
.gradebook.db
+
0
−
0
View file @
d5538900
No preview for this file type
This diff is collapsed.
Click to expand it.
cours.md
+
39
−
53
View file @
d5538900
...
...
@@ -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_informel
le
)*
-
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_informel
le
)=
(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"}}
...
...
This diff is collapsed.
Click to expand it.
index.md
+
32
−
28
View file @
d5538900
...
...
@@ -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: Pr
emiers éléments de pr
ogrammation impérative
La semaine dernière, Laby nous a amené à la découverte de
s
premiers
La semaine dernière, Laby nous a amené à la découverte de premiers
éléments de la programmation impérative: programmes, fonctions,
express
ions conditionnelles et itératives. Cette semaine, nous allons
instruct
ions 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
`Renom
m
er`
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:
...
...
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