109 lines
4.7 KiB
Markdown
109 lines
4.7 KiB
Markdown
---
|
||
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
|
||
|
||
| Pays | Drapeau | Consigne |
|
||
| :--: | :--: | :-- |
|
||
| Belgique | <img src='./assets/belgique.png'/> | Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Pays-Bas |<img src='./assets/pays_bas.png'/> | Le drapeau est de dimension $ 15 \times 6$ |
|
||
| Suède | <img src='./assets/suede.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Finlande | <img src='./assets/finlande.png'/> | Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Irlande | <img src='./assets/irlande.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Côte d'Ivoire |<img src='./assets/cote_ivoire.png'/> | Vous devez utiliser la fonction de création du drapeau d'Irlande. |
|
||
| Bénin | <img src='./assets/benin.png'/>| Le drapeau est de dimension $ 15 \times 6$ |
|
||
| Suisse | <img src='./assets/suisse.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Guinée | <img src='./assets/guinee.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Mali |<img src='./assets/mali.png'/> | Vous devez utiliser la fonction de création du drapeau de Guinée. |
|
||
| Botswana | <img src='./assets/botswana.png'/> | Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Monaco | <img src='./assets/monaco.png'/>| Le drapeau est de dimension $ 15 \times 6$ |
|
||
| Pologne | <img src='./assets/pologne.png'/>| Vous devez utiliser la fonction de création du drapeau de Monaco. |
|
||
| Japon | <img src='./assets/japon.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Hongrie | <img src='./assets/hongrie.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Iran | <img src='./assets/iran.png'/>| Vous devez utiliser la fonction de création du drapeau de Hongrie. |
|
||
| Palaos | <img src='./assets/palaos.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Grèce |<img src='./assets/grece.png'/> | Le drapeau est de dimension $ 15 \times 6$ |
|
||
| Etats-Unis |<img src='./assets/etats_unis.png'/> | Le drapeau est de dimension $ 15 \times 6$ |
|
||
| République du Congo | <img src='./assets/republique_congo.png'/>| Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Trinidad et Tobago |<img src='./assets/trinidad.png'/> | Le drapeau est de dimension $ 15 \times 7$ |
|
||
| Jamaique |<img src='./assets/jamaique.png'/> | Le drapeau est de dimension $ 15 \times 7$ |
|