From b47afcc893b6248ae84ea828fc0f88d02e26e732 Mon Sep 17 00:00:00 2001 From: Alexis Fourmaux Date: Fri, 18 Jul 2025 20:35:16 +0200 Subject: [PATCH] =?UTF-8?q?D=C3=A9but=20du=20premier=20TP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CIEL1/01-bases-python/tp/01_decouverte.md | 101 ++++++++++++++++++ .../01-bases-python/tp/_01_decouverte.md | 39 +++++++ src/cours/CIEL1/01-bases-python/tp/image.png | Bin 0 -> 5680 bytes src/cours/SUMMARY.md | 2 + 4 files changed, 142 insertions(+) create mode 100644 src/cours/CIEL1/01-bases-python/tp/01_decouverte.md create mode 100644 src/cours/CIEL1/01-bases-python/tp/_01_decouverte.md create mode 100644 src/cours/CIEL1/01-bases-python/tp/image.png diff --git a/src/cours/CIEL1/01-bases-python/tp/01_decouverte.md b/src/cours/CIEL1/01-bases-python/tp/01_decouverte.md new file mode 100644 index 0000000..418548b --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/tp/01_decouverte.md @@ -0,0 +1,101 @@ +# Découverte de Python + +## Découverte de l'interpréteur Python + +Nous allons commencer par découvrir l'interpréteur python que nous allons utiliser de manière interactive. + +```admonish travail +Pour cela, commençons par lancer le logiciel Thonny. Cliquez sur le menu en bas à gauche dans Windows, puis recherchez Thonny. +``` + +```admonish tip title="Astuce" +Thonny est un logiciel qui va nous permettre d'utiliser très simplement Python. Il est libre, c'est à dire que vous pouvez l'utiliser librement et gratuitement, y compris chez vous. N'hésitez donc pas à l'installer sur votre propre machine pour vous entraîner à écrire du Python chez vous, ou préparer vos exercices. + +Vous pourrez le trouver sur ce site : https://thonny.org/ +``` + +Nous allons commencer par utiliser Python en mode interactif. Cela nous permettra de saisir des instructions, que Python va exécuter. Regardez la fenêtre de Thonny, et trouvez la section qui s'appelle `Console`. Vous y verrez la mention `Python 3.13.5 (/usr/bin/python)` (le texte exact peut être différent), et sur la ligne suivante trois chevrons (le symbole `>`). + +![Mode interactif de Python dans Thonny](image.png) + +Le mode interactif fonctionne de la manière suivante : +1. Il y a une **invite de commande**, qui est symbolisée par les `>>>`. Comme son nom l'indique, elle est là pour vous inviter à taper une commande. +2. Vous pouvez taper une commande (nous verrons lesquelles juste après) et les valider avec la touche Entrée +3. Il **évalue l'expression saisie** : il l'analyse et l'exécute +4. Il affiche enfin le résultat. + +## Python est une calculatrice + +Vous pouvez utiliser l'interpréteur de python comme une calculatrice. C'est évidemment bien plus puissant, mais nous allons commencer par découvrir ses capacités de calcul. + +### Une calculatrice simple + +```admonish travail +1. Tout d'abord, essayez de taper l'expression `2 + 3` dans l'invite de commande et appuyez sur Entrée. Que se passe-t-il ? + +2. Dans l'invite de commande, essayez d'effectuer les opérations suivantes. Notez les expressions utilisées et leur résultat. + - 4 plus 7 + - 3 moins 12 + - 6 fois 7 + - 9 divisé par 2 + - 4,2 plus 1,5 + - 13 modulo 7 + - 2 puissance 10 + - 37 fois la somme de 13 et 24 +``` + +```admonish note title="Remarques" +- Python utilise la notation anglo-saxonne pour les nombres non entiers (c'est à dire un point au lieu d'une virgule) : il écrira `4.5` et non pas `4,5`. Il en va de même lorsque vous écrirez des nombres en Python. +- Les symboles `+`, `-`, `*`, `/`... sont appelés **opérateurs** en Python +- L'opérateur modulo `%` est souvent utilisé pour savoir si un nombre est multiple d'un autre. Il vaut mieux s'en souvenir. +``` + +### Mais aussi une calculatrice scientifique + +Après avoir utilisé les opérateurs mathématiques simples, nous allons voir que Python permet également de faire des opérations plus complexes, comme celles que l'on retrouve sur une calculatrice scientifique. Elles ne se retrouvent pas directement sous forme d'**opérateurs** mais sous forme de **fonctions**. + +Nous verrons dans le prochain TP ce que sont les fonctions plus en détail. Pour le moment, l'important est de retenir qu'une fonction est un ensemble d'instructions que l'on a regroupées sous un nom pour les exécuter ensemble sans avoir à les taper à chaque fois. + +Il existe des fonctions par défaut dans Python (voir [Built-in functions](https://docs.python.org/3/library/functions.html)) mais celles qui nous intéressent ici sont situées dasn un **module** appelé `math`. Nous verrons plus tard ce que sont les modules. Ici nous allons nous contenter de l'importer. + +Dans l'invite de commande, écrivez : + +~~~python +>>> import math +~~~ + +Nous pouvous ensuite appeler tout un tas de nouvelles fonctions liées aux mathématiques. Par exemple, si nous voulons la racine carré de 2 ('racine carrée' c'est 'square root' en anglais), nous pouvons écrire : +```python +>>> math.sqrt(2) +1.4142135623730951 +``` + +Explication : +- On appelle la fonction `sqrt` en la précédant du nom du module `math`, séparés par un point +- Les parenthèses servent à donner les **arguments** à la fonction, ici `2` car nous voulons calculer la racine carrée de 2. +- Python nous donne ensuite le résultat : `1.4142135623730951` + +```admonish travail +En utilisant la [documentation du module `math`](https://docs.python.org/3/library/math.html) + +1. Donnez les expressions qui permettront de calculer : + - la racine carrée de 81 + - la valeur absolue de -12 + - la valeur de $\pi$ + - le cosinus de $\pi$ + - la partie entière de 3.56 +2. Expliquez la différence entre les fonctions `math.floor()` et `math.ceil()` + + +3. Calculez le temps que met un satellite à faire le tour de la terre en étant à 100km d'altitude +**en une seule expression**, grâce à la formule suivante : $$ T = 2\pi\sqrt{(R_T+h)^3 \over G.M_T}$$ +avec : + - $T$ le temps que met le satellite à faire le tour (ce que vous devez trouver) + - $R_T$ le rayon de la Terre, exprimé en mètres : 6,378.10⁶m + - $h$ l'altitude du satellite (100km) en mètres (attention 1km = 1000m) + - $G$ la constante de gravitation universelle : 6,67.10⁻¹¹ + - $M_T$ la masse de la Terre : 5,98.10²⁴ kg + +Vous devriez trouver $T \approx 5187s$ +``` + diff --git a/src/cours/CIEL1/01-bases-python/tp/_01_decouverte.md b/src/cours/CIEL1/01-bases-python/tp/_01_decouverte.md new file mode 100644 index 0000000..d3f4865 --- /dev/null +++ b/src/cours/CIEL1/01-bases-python/tp/_01_decouverte.md @@ -0,0 +1,39 @@ +```admonish success title="Opérateurs" +1. 5 +2. +~~~python +4+7 +3-12 +6*7 +9/2 +4.2+1.5 +13%7 +2**10 +37*(13+24) #1369 +~~~ +``` + +```admonish success title="Module math" +1. +~~~python +math.sqrt(81) +abs(-2) +math.pi +math.cos(math.pi) +math.floor(3.56) +~~~ + + +2. + - math.ceil() est arrondi à l'entier supérieur + - math.floor() prend la partie entière + +3. +~~~python +2*math.pi*math.sqrt( + ((6.378*10**6)+100000)**3 + / + ((6.67*10**-11)*(5.98*10**24)) +) +~~~ +``` diff --git a/src/cours/CIEL1/01-bases-python/tp/image.png b/src/cours/CIEL1/01-bases-python/tp/image.png new file mode 100644 index 0000000000000000000000000000000000000000..be34e3efc01c784a5e54a17552dca54ccdb5dfc5 GIT binary patch literal 5680 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 literal 0 HcmV?d00001 diff --git a/src/cours/SUMMARY.md b/src/cours/SUMMARY.md index aa6c074..6e203df 100644 --- a/src/cours/SUMMARY.md +++ b/src/cours/SUMMARY.md @@ -1,6 +1,8 @@ # Summary - [CIEL 1e année](./CIEL1/ciel1.md) - [Bases de l'algorithmique avec Python](./CIEL1/01-bases-python/algorithmique-python.md) + - [TP1 - Découverte de Python](./CIEL1/01-bases-python/tp/01_decouverte.md) + - [TP1 - Corrigé - Découverte de Python](./CIEL1/01-bases-python/tp/_01_decouverte.md) - [L'adressage IP](./CIEL1/02-reseau/adressage-ip.md) - [L'environnement de développement](./CIEL1/03-dev-env/dev-env.md) - [Les conteneurs](./CIEL1/03-dev-env/conteneurs.md)