Commit 355c9ab4 authored by BERNHARD Delphine's avatar BERNHARD Delphine
Browse files

Mise à jour premiers cours 2022

parent ca2367f9
......@@ -98,7 +98,6 @@
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
......@@ -280,7 +279,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.4"
"version": "3.7.9"
}
},
"nbformat": 4,
......
%% Cell type:markdown id: tags:
# Variables
## Sommaire
1. [Travail préparatoire](#preparation)
1. [Notion de variable](#notion)
1. [Qu'est-ce qu'une variable ?](#variable)
1. [Comment nommer une variable ?](#nommer)
1. [Quels sont les différents types de données ?](#types)
1. [Création et initialisation de variables](#création)
1. [Modification de la valeur d'une variable](#modification)
1. [Calculer avec Python](#calculer)
1. [Exercice : distribution de bonbons](#ex-bonbons)
1. [Exercice : triathlon](#ex-triathlon)
1. [Exercice : nombre de minutes dans 6 semaines](#ex-minutes-semaines)
1. [Exercice : conversion heures-minutes](#ex-conversion)
1. [Exercice : échange de valeurs](#ex-échange)
%% Cell type:markdown id: tags:
## 1. Travail préparatoire <a name="preparation">
1. 📺 Regardez la vidéo suivante : "Python qui mord pas #1. Premiers pas" [https://www.youtube.com/watch?v=9VJdd4Klofs](https://www.youtube.com/watch?v=9VJdd4Klofs)
Exécutez les exemples de commandes données dans la vidéo à l'aide la cellule ci-dessous.
<div class="alert alert-warning" role="alert">
⚠️ Dans la vidéo, les commandes sont précédées de trois chevrons `>>>`. Ces chevrons ne font pas partie de la commande et ne doivent donc pas être tapés dans la cellule.
</div>
%% Cell type:code id: tags:
``` python
# Tapez les commandes ici. N'oubliez pas de les exécuter !
```
%% Cell type:markdown id: tags:
<div class="alert alert-warning" role="alert">
⚠️ Dans la vidéo, vous constaterez que la séquence d'instruction suivante produit `1`, alors que lorsque vous testez la même chose ici, vous obtenez `1.5` :
```
n = 3
n = n/2
n
```
La version de Python utilisée dans la vidéo est plus ancienne : les versions plus récentes (versions 3.x) effectuent une division réelle.
</div>
%% Cell type:markdown id: tags:
2. 🧩 Répondez au [quiz](https://app.wooclap.com/IKUFFN/questionnaires/6000652a08929d3d3eca7288) sur Wooclap
1. [Informations complémentaires](#preparation)
1. [✏️ Exercice : distribution de bonbons](#ex-bonbons)
1. [✏️ Exercice : triathlon](#ex-triathlon)
1. [✏️ Exercice : nombre de minutes dans 6 semaines](#ex-minutes-semaines)
1. [✏️ Exercice : conversion heures-minutes](#ex-conversion)
1. [✏️ Exercice : échange de valeurs](#ex-échange)
%% Cell type:markdown id: tags:
## 2. Notion de variable <a name="notion"></a>
## 1. Notion de variable <a name="notion"></a>
### 2.A. Qu'est-ce qu'une variable ? <a name="variable"></a>
### 1.A. Qu'est-ce qu'une variable ? <a name="variable"></a>
Une variable permet de stocker des informations dans les programmes. On peut comparer les variables à des "boîtes", sur lesquelles on met des étiquettes, ce qui permet de les retrouver facilement. Elle peuvent stocker différents types d'informations : des nombres, du texte, des suites de nombres et de textes, etc.
Par exemple, dans le programme ci-dessous, il y a deux variables : `nom` et `pluriel`.
%% Cell type:code id: tags:
......@@ -94,26 +49,26 @@
Pour créer une variable, on indique le nom de la variable, puis le signe `=` (qui signifie "prend la valeur"), puis l'information qui sera stockée par la variable : on appelle cette opération l'**initialisation**.
%% Cell type:markdown id: tags:
### 2.B. Comment nommer une variable ? <a name="nommer"></a>
### 1.B. Comment nommer une variable ? <a name="nommer"></a>
* Le nom d'une variable est une séquence de lettres (minuscules ou majuscules), utilisant éventuellement des chiffres ou le caractère souligné / underscore / sous-tiret (`_`).
* Il est recommandé d'utiliser des noms évocateurs et d'éviter les noms de variables trop longs.
* Il vaut mieux éviter les caractères accentués.
* Un nom de variable ne peut pas contenir d'espace : on peut le remplacer par `_`
* Le nom d'une variable ne peut pas commencer par un chiffre
* Les noms des variables sont sensibles à la casse : `nom` et `Nom` sont donc deux variables différentes
### 2.C. Quels sont les différents types de données ? <a name="types"></a>
### 1.C. Quels sont les différents types de données ? <a name="types"></a>
Les variables peuvent correspondre à différents type de données, notamment :
* des nombres entiers (comme `5`, `2386`, ou `-10`), de type **int** (pour **integer**)
* des nombres décimaux (comme `3.26`, `238.1`) , de type **float**
* des booléens (seulement deux valeurs possible : `True` et `False`), de type **boolean**
* des chaînes de caractères (comme `"Il fait beau aujourd'hui"`, `"1235 est un nombre entier"`, `"36"`, `"a"`, `"titi"`), de type **string**. Les chaînes de caractères sont entourées par des guillemets droits, simples ou doubles.
### 2.D. Création et initialisation de variables <a name="création"></a>
### 1.D. Création et initialisation de variables <a name="création"></a>
Complétez le code ci-dessous pour initaliser et afficher les variables suivantes :
* variable `un_booleen` initialisée à `False`
* variable `une_chaine` initialisée à `"J'aime programmer"`
* variable `un_entier` initialisée à `20000`
* variante `un_float` initialisée à `222.222`
......@@ -137,11 +92,11 @@
Dans un programme, à quoi correspond une ligne qui commence par `#` ?
%% Cell type:markdown id: tags:
### 2.E. Modification de la valeur d'une variable <a name="modification"></a>
### 1.E. Modification de la valeur d'une variable <a name="modification"></a>
Comme son nom l'indique, une variable peut représenter différentes valeurs au cours du déroulement d'un programme.
La modification de la valeur d'une variable se fait tout simplement en affectant une nouvelle valeur à la variable, en indiquant le nom de la variable, le signe '=' et la nouvelle valeur : c'est ce que l'on appelle l'opération d'**affectation**. L'affectation permet d'initialiser ou de modifier le contenu d'une variable.
......@@ -153,11 +108,11 @@
Dans l'exemple, seule la valeur de la variable `new_float` est modifiée, `un_float` reste inchangé.
%% Cell type:markdown id: tags:
## 3. Calculer avec Python <a name="calculer"></a>
## 2. Calculer avec Python <a name="calculer"></a>
Python peut-être utilisé comme une calculatrice.
On peut faire des additions avec le symbole `+`:
......@@ -211,11 +166,51 @@
|c = a + b | | | |
|c = b - c | | | |
%% Cell type:markdown id: tags:
## 4. Exercice : distribution de bonbons <a name="ex-bonbons"></a>
## 3. Informations complémentaires <a name="preparation">
📺 Vous pouvez regarder la vidéo suivante : "Python qui mord pas #1. Premiers pas" [https://www.youtube.com/watch?v=9VJdd4Klofs](https://www.youtube.com/watch?v=9VJdd4Klofs)
Exécutez les exemples de commandes données dans la vidéo à l'aide la cellule ci-dessous.
<div class="alert alert-warning" role="alert">
⚠️ Dans la vidéo, les commandes sont précédées de trois chevrons `>>>`. Ces chevrons ne font pas partie de la commande et ne doivent donc pas être tapés dans la cellule.
</div>
%% Cell type:code id: tags:
``` python
# Tapez les commandes ici. N'oubliez pas de les exécuter !
```
%% Cell type:markdown id: tags:
<div class="alert alert-warning" role="alert">
⚠️ Dans la vidéo, vous constaterez que la séquence d'instruction suivante produit `1`, alors que lorsque vous testez la même chose ici, vous obtenez `1.5` :
```
n = 3
n = n/2
n
```
La version de Python utilisée dans la vidéo est plus ancienne : les versions plus récentes (versions 3.x) effectuent une division réelle.
</div>
%% Cell type:markdown id: tags:
## 4. ✏️ Exercice : distribution de bonbons <a name="ex-bonbons"></a>
*Source : http://www.france-ioi.org/algo/task.php?idChapter=644&iOrder=5*
Une école souhaite effectuer une distribution de bonbons pour sa fête annuelle. Il y a 4 classes dans l'école, avec respectivement 25, 30, 27 et 22 élèves. 8 élèves sont absents le jour de la fête et il faut distribuer 3 bonbons par éléve. Ecrivez un programme qui calcule et affiche le nombre total de bonbons nécessaires.
......@@ -225,11 +220,11 @@
# Votre code
```
%% Cell type:markdown id: tags:
## 5. Exercice : triathlon <a name="ex-triathlon"></a>
## 5. ✏️ Exercice : triathlon <a name="ex-triathlon"></a>
*http://www.france-ioi.org/algo/task.php?idChapter=644&iOrder=7*
Un ville souhaite organiser un triathlon avec un format un peu spécial. Le triathlon se déroulera sur 3 jours et chaque jour les athlètes devront effectuer les distances suivantes : 2 km de natation, 34 km de cyclisme et 6 km de course à pied.
......@@ -241,33 +236,33 @@
# Votre code
```
%% Cell type:markdown id: tags:
## 6. Exercice : nombre de minutes dans 6 semaines <a name="ex-minutes-semaines"></a>
## 6. ✏️ Exercice : nombre de minutes dans 6 semaines <a name="ex-minutes-semaines"></a>
Ecrire un programme qui calcule le nombre total de minutes dans 6 semaines
%% Cell type:code id: tags:
``` python
# Votre code
```
%% Cell type:markdown id: tags:
## 7. Exercice : conversion heures-minutes <a name="ex-conversion"></a>
## 7. ✏️ Exercice : conversion heures-minutes <a name="ex-conversion"></a>
Ecrire un programme avec trois variables : l'une correspond au nombre d'heures (initialisée à `3`), l'autre au nombre de minutes (initialisée à `21`) et la dernière calcule le nombre total de minutes à l'aide de la formule : (nombre d'heures * 60 ) + nombre de minutes. Il faut ensuite afficher le total.
%% Cell type:code id: tags:
``` python
# Programme conversion heures-minutes
```
%% Cell type:markdown id: tags:
## 8. Exercice : échange de valeurs <a name="ex-échange"></a>
## 8. ✏️ Exercice : échange de valeurs <a name="ex-échange"></a>
L'objectif est d'écrire un programme qui permet d'échanger les valeurs de deux variables `x` et `y`. `x` sera initialisé à 3 et `y` sera initialisé à 5. A la fin du programme, `x` vaudra 5 et `y` vaudra 3. On s'assurera que l'échange des valeurs a bien été effectué en affichant les valeurs.
**ATTENTION :** le programme doit avoir le même principe de fonctionnement quelles que soient les valeurs d'initialisation ! La solution n'est donc **pas** :
%% Cell type:code id: tags:
......
......@@ -5,16 +5,14 @@
Un notebook Jupyter permet de combiner, dans un même document, des sections (cellules) en langue naturelle et des sections exécutables, écrites dans un langage de programmation (Python dans notre cas). Les notebooks Jupyter ont pour extension `.ipynb` et peuvent être exportés dans d'autres formats, HTML notamment. L'exécution de ces notebooks nécessite une application web, Jupyter Notebook, qui est capable de les manipuler (création, modification) et de les exécuter. Jupyter Notebook peut être utilisé sur le web, notamment via le site [mybinder.org](https://mybinder.org/), et en local, en installant l'application dédiée (via Anaconda par exemple).
## Solution à privilégier : utilisation de Google Colab
🛎️ IMPORTANT : pour cela, il est nécessaire d'avoir un compte Google
## Solution à privilégier : utilisation du JupyterHub de l'Université
1. Téléchargez le notebook et enregistrez-le sur votre machine :
- Cliquez sur le notebook souhaité ci-dessus, par exemple `1_Introduction.ipynb`
- Cliquez sur le lien de téléchargement en haut à doite ⬇️
2. Allez sur [https://colab.research.google.com/](https://colab.research.google.com/), connectez-vous à votre compte Google et choisissez "Importer" pour uploader le notebook. Vous pourrez ensuite le retrouver dans "Récents" lors de votre votre prochine connexion à Google Colab.
2. Allez sur JupyterHub, choisissez "Importer/Upload" pour uploader le notebook.
### Exécution des notebooks du cours sur mybinder
## Exécution des notebooks du cours sur mybinder
[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/git/https%3A%2F%2Fgit.unistra.fr%2Fdbernhard%2Fproghumanum/HEAD)
......@@ -22,8 +20,7 @@ Le lien ci-dessus ouvre un environnement d'exécution interactif sur [mybinder.o
La session ouverte est propre à chaque utilisateur et sera fermée automatiquement après 10 minutes d'inactivité.
Pour éviter de perdre votre travail, il est possible d'exporter le notebook au format `.ipynb` (`File > Download as > Noteboook`) et de l'enregistrer sur la machine, pour ensuite l'uploader à nouveau.
### Création d'un nouveau notebook sans installation locale
## Création d'un nouveau notebook sans installation locale
Pour créer un nouveau notebook vide (par exemple pour tester du code) :
- Se rendre sur le site [https://jupyter.org/try](https://jupyter.org/try)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment