# Exercices corrigés

#### 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)
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://mathieu-bonte.gitbook.io/cours-i2d/algorithmie-en-python/exercices-corriges.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
