> For the complete documentation index, see [llms.txt](https://mathieu-bonte.gitbook.io/cours-i2d/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mathieu-bonte.gitbook.io/cours-i2d/algorithmie-en-python/exercices-corriges.md).

# Exercices corrigés

Sources : Mesures Physiques 1ère année. IUT d'Orsay.

#### Calcul de vitesse

{% hint style="info" %}
En ingénierie, il est nécessaire d'implémenter des formules (parfois complexes) dans les programmes. Cela permet de traiter des données ou réaliser des simulations physiques pour les programmes les plus poussés.
{% endhint %}

Affectez les variables temps et distance avec les valeurs `6.892` et `19.7`. Calculez et affichez la valeur de la vitesse. Améliorez l’affichage en imposant un chiffre après le point décimal.

#### Sécurité d'une enceinte pressurisée

{% hint style="info" %}
La programmation d'automates est omniprésente dans l'industrie. Ici on explore un cas simple de son utilisation en Python.
{% endhint %}

On désire sécuriser une enceinte pressurisée. On se fixe une pression seuil et un volume seuil : `pSeuil = 2.3`, `vSeuil = 7.41`. On demande de saisir la pression et le volume courant de l’enceinte et d’écrire un script qui simule le comportement suivant :&#x20;

* si le volume et la pression sont supérieurs aux seuils : arrêt immédiat ;&#x20;
* si seule la pression est supérieure à la pression seuil : demander d’augmenter le volume de l’enceinte ;&#x20;
* si seul le volume est supérieur au volume seuil : demander de diminuer le volume de l’enceinte ;&#x20;
* sinon déclarer que « tout va bien ».&#x20;

#### Compte à rebours

{% hint style="info" %}
Un compte à rebours dans un programme peut-être très utile. Cela permet notamment d'acquérir une mesure à intervalle régulier (échantillonnage en traitement du signal).
{% endhint %}

Créez un compte à rebours de 10 secondes. On importera la bibliothèque `time` qui permet de gérer le temps en Python et on utilisera la fonction `sleep` dont voici la documentation :&#x20;

![](https://2970041079-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LplPm4EriX4h7O-rGOl%2F-M9nEPyjEEkeAam_nSir%2F-M9ngfoU0X1Ee4Lt2EfG%2Fimage.png?alt=media\&token=fe9118d1-4d51-4ac1-b0f1-0b12e2b35703)

## Solutions

#### Calcul du vitesse

```python
temps = 6.892
distance = 19.7
vitesse = distance / temps
print(vitesse)
print("Vitesse = {:.2f}".format(vitesse));
```

#### Sécurité d'une enceinte pressurisée

```python
pSeuil = 2.3
vSeuil = 7.41
pression = float(input("Saisir la pression : "))
volume = float(input("Saisir le volume : "))

if(pression > pSeuil and volume > vSeuil):
  print("Arrêt immédiat")
elif(pression > pSeuil):
  print("Augmentez le volume")
elif(volume > vSeuil):
  print("Diminuez le volume")
else:
  print("Tout va bien")
```

#### Compte à rebours

```python
import time

for t in range(0,10):
  time.sleep(1)
  print(10-t)
```
