Début du premier TP

This commit is contained in:
Alexis Fourmaux 2025-07-18 20:35:16 +02:00
parent 1a002a780c
commit b47afcc893
4 changed files with 142 additions and 0 deletions

View file

@ -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 <kbd>Entrée</kbd>
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 <kbd>Entrée</kbd>. 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$
```

View file

@ -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))
)
~~~
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View file

@ -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)