---
title : Les Drapeaux
author: M. BODDAERT
license: CC-BY-NC-SA
---
# TP : Les Drapeaux
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.
Fig 2. Exemple d'utilisation du module paint
## 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: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Pays-Bas
- Drapeau: 
- Consigne: Le drapeau est de dimension \($15 \times 6$\)
- Suède
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Finlande
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Irlande
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Côte d'Ivoire
- Drapeau: 
- Consigne: Vous devez utiliser la fonction de création du drapeau d'Irlande.
- Bénin
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- Suisse
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Guinée
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Mali
- Drapeau: 
- Consigne: Vous devez utiliser la fonction de création du drapeau de Guinée.
- Botswana
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Monaco
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- Pologne
- Drapeau: 
- Consigne: Vous devez utiliser la fonction de création du drapeau de Monaco.
- Japon
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Hongrie
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Iran
- Drapeau: 
- Consigne: Vous devez utiliser la fonction de création du drapeau de Hongrie.
- Palaos
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Grèce
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- États-Unis
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 6\)
- République du Congo
- Drapeau: 
- Consigne: Le drapeau est de dimension \($15 \times 7$\)
- Trinidad et Tobago
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)
- Jamaïque
- Drapeau: 
- Consigne: Le drapeau est de dimension \(15 \times 7\)