Files
1ereNSI/representation_construits/chapitre_1/tp/README.md

172 lines
5.3 KiB
Markdown
Raw Normal View History

2021-11-15 16:41:55 +01:00
---
title : Les Drapeaux
author: M. BODDAERT
license: CC-BY-NC-SA
---
# TP : Les Drapeaux
<img src='./assets/france.png'/>
Fig 1. Drapeau français
## 1. Contexte
Un drapeau peut être vu comme une matrice, i.e un tableau de tableaux, de dimension $n \times m$.
Soient les codes couleurs suivants :
| Code | Couleur associée |
| :--: | :----------------: |
| 0 | NOIR |
| 1 | ROUGE |
| 2 | VERT |
| 3 | JAUNE |
| 4 | BLEU |
| 5 | MAGENTA |
| 6 | CYAN |
| 7 | BLANC |
Il est dès lors possible de représenter le drapeau français de la Fig.1 , en python, par la matrice $15 \times 7$ suivante :
```python
>>> drapeau = [
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1],
[4, 4, 4, 4, 4, 7, 7, 7, 7, 7, 1, 1, 1, 1, 1]
]
```
En utilisant le formalisme par compréhension :
```python
>>> drapeau = [ [4] * 5 + [7] * 5 + [1] * 5 for _ in range(7)]
```
Ce formalisme compact traduit le fait que le drapeau français est constitué de ***5 cases bleues, 5 cases blanches et 5 cases rouges, et cela sur 7 lignes***.
## 2. Matériel fourni
Le module `paint` dispose de :
- 8 variables : `NOIR, ROUGE, VERT, JAUNE, BLEU, MAGENTA, CYAN, BLANC`, qui permettent de matérialiser les couleurs,
- d'une méthode `dessiner` qui permet d'afficher un drapeau, à partir d'une matrice passée en paramètre, dans la console de l'interpréteur python.
<figure>
<center><img src='./assets/utilisation_paint.png'/></center>
<figcaption style='text-align:center;'>Fig 2. Exemple d'utilisation du module paint</figcaption>
</figure>
## 3. Consignes
Vous devez créer un module `drapeau`.
Pour chaque drapeau de la liste fournie en Annexe, vous devez :
- Formaliser la matrice modélisant le drapeau,
- Identifier la structure algorithmique,
- Écrire une fonction, dans le module `drapeau` qui permette de créer la matrice modélisant le drapeau.
***N.B : Vous devez utiliser le formalisme par compréhension ou l'utilisation de boucle mais il est interdit d'utiliser l'affectation par valeur, case par case.***
Le module sera exécutable de la manière suivante :
> python3 drapeau.py france
Le résultat attendu étant l'affichage du drapeau du pays passé en paramètre.
## 4. Annexe : Liste des pays et drapeaux
- Belgique
- Drapeau: ![Belgique](./assets/belgique.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Pays-Bas
- Drapeau: ![Pays-Bas](./assets/pays_bas.png)
2023-07-07 12:37:20 +02:00
- Consigne: Le drapeau est de dimension \($15 \times 6$\)
- Suède
- Drapeau: ![Suède](./assets/suede.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Finlande
- Drapeau: ![Finlande](./assets/finlande.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Irlande
- Drapeau: ![Irlande](./assets/irlande.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Côte d'Ivoire
- Drapeau: ![Côte d'Ivoire](./assets/cote_ivoire.png)
- Consigne: Vous devez utiliser la fonction de création du drapeau d'Irlande.
- Bénin
- Drapeau: ![Bénin](./assets/benin.png)
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- Suisse
- Drapeau: ![Suisse](./assets/suisse.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Guinée
- Drapeau: ![Guinée](./assets/guinee.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Mali
- Drapeau: ![Mali](./assets/mali.png)
- Consigne: Vous devez utiliser la fonction de création du drapeau de Guinée.
- Botswana
- Drapeau: ![Botswana](./assets/botswana.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Monaco
- Drapeau: ![Monaco](./assets/monaco.png)
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- Pologne
- Drapeau: ![Pologne](./assets/pologne.png)
- Consigne: Vous devez utiliser la fonction de création du drapeau de Monaco.
- Japon
- Drapeau: ![Japon](./assets/japon.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Hongrie
- Drapeau: ![Hongrie](./assets/hongrie.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Iran
- Drapeau: ![Iran](./assets/iran.png)
- Consigne: Vous devez utiliser la fonction de création du drapeau de Hongrie.
- Palaos
- Drapeau: ![Palaos](./assets/palaos.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Grèce
- Drapeau: ![Grèce](./assets/grece.png)
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- États-Unis
- Drapeau: ![États-Unis](./assets/etats_unis.png)
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- République du Congo
- Drapeau: ![République du Congo](./assets/republique_congo.png)
2023-07-07 12:37:20 +02:00
- Consigne: Le drapeau est de dimension \($15 \times 7$\)
- Trinidad et Tobago
- Drapeau: ![Trinidad et Tobago](./assets/trinidad.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Jamaïque
- Drapeau: ![Jamaïque](./assets/jamaique.png)
- Consigne: Le drapeau est de dimension \(15 \times 7\)