172 lines
5.3 KiB
Markdown
172 lines
5.3 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
|
|
|
|
- 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\)
|