• Aucun résultat trouvé

PC – Lycée René CASSIN Chapitre 6 – Exercices sur les fichiers

N/A
N/A
Protected

Academic year: 2022

Partager "PC – Lycée René CASSIN Chapitre 6 – Exercices sur les fichiers"

Copied!
1
0
0

Texte intégral

(1)

PC – Lycée René CASSIN Chapitre 6 – Exercices sur les fichiers

Exercice 1

Une entreprise de chimie des polymères utilise une base de données constituée, entre autres, des tables polymeres et applications.

La table polymeres est composée des champs : id, nom_scientifique, nom_abrege, structure, ptm, temperature, masse molaire.

ptm désigne la propriété thermo-mécanique (cristallin, amorphe).

La température est la température de fusion si le polymère est cristallin, la température de transition vitreuse s’il est amorphe.

Un exemple d’enregistrement est : 1,'polyméthacrylate de méthyle', 'PMMA','- (CH2-CHCH3COOCH3)-','amorphe', 104, 100000

La table applications est composée des champs : id, nom_application, id_polymere, methode_transformation, usage, secteur_application.

Un exemple d’enregistrement est :

1,'plexiglas',1,'extrusion','verre organique','abri de jardin'

On dispose d’une fonction interroge_bdd(sql) qui renvoie sous forme de tableau (liste de listes) le résultat d’une requête sql sur cette base de données.

1. Créer une fonction temperature(), qui affiche les noms abrégés de chaque polymère suivis de la température de fusion ou de transition vitreuse, en précisant de laquelle il s’agit.

2. Écrire une fonction fichier_applications() qui crée un fichier texte contenant les noms abrégés des polymères (un par ligne), suivi du nom de la ou des

application(s) de chaque polymère.

Exemple :

nom_abrégé_1 application_1.1 application_1.2 ….

nom_abrégé_2 application_2.1 application_2.2 ….

Un fichier production.txt répertorie les différentes méthodes de production des polymères. Ce fichier texte débute par un index avec les noms abrégés des polymères, suivis d’un espace et du numéro de lignes correspondants la première ligne du fichier étant la ligne 1. Ainsi, une des lignes de l’index est 'PMMA 4208' car la documentation sur la production du PMMA débute à la ligne 4208 du fichier. La ligne suivante est 'PMP 4520'. L’index est suivi d’une ligne vide (caractère de retour à la ligne '\n').

3. Écrire une fonction demande_info(polymere) qui affiche les lignes de texte correspondant aux méthodes de production d’un polymère donné. On évitera de charger la totalité du fichier en mémoire.

Exercice 2

Un fichier ppm (portable pixmap) représente une image codée comme dans l’exemple suivant.

Exemple de fichier ppm : P3

3 4 255

0 0 0 0 0 0 0 0 0 255 0 255 0 0 0 0 255 128 0 0 0 0 0 0 0 0 0 0 0 0 0 255 128 0 0 0 P3 indique qu’il s’agit d’un fichier ppm.

3 est le nombre de lignes, 4 le nombre de colonnes.

Le 255 indique que chaque niveau d’intensité des couleurs est codé par un nombre de 0 à 255.

Les nombres suivants sont tous suivis et précédés d’un espace, et pris trois par trois, ils indiquent le niveau de rouge, vert, bleu de chaque pixel. Ainsi 255 255 0 correspondra à un pixel jaune vif.

1. Écrire une fonction file_to_table(nom_fichier) qui lit un fichier ppm et renvoie un tableau de nombre à trois dimensions (liste de listes de listes) hauteur × largeur

× 3, contenant les codes couleurs de chaque pixel de l’image.

On se propose d’utiliser ce tableau de nombre pour rechercher les yeux rouges sur les photos. Pour cela, on cherche un bloc de 2×2 pixels dans lesquels les valeurs des niveaux de vert et de bleu diffèrent de moins de 20, et la valeur du niveau de rouge est au-dessus de celles-ci d’au moins 80.

2. Ecrire la fonction recherche_yeux_rouges(tableau) qui renvoie les coordonnées du pixel supérieur gauche d’un bloc candidat pour la recherche des yeux rouges s’il en trouve un, None sinon.

Références

Documents relatifs

A contrario, s’il existe un livre que l’abonné n’a pas emprunté (il existe un livre pour lequel il n’existe pas de lien entre le livre et l’abonné), la requête (SELECT *

Remarque : fichier.name est sans parenthèse car name est une variable (encapsulée dans l’objet fichier), les autres opérations sont des méthodes (des fonctions qui

• Tri : Pour trier une liste lst, si elle contient un seul élément, elle est déjà triée, sinon on la divise en deux listes que l’on triera de la même manière avant de

Scipy contient les fonctions de résolution approchée d’équations dans scipy.optimize, d’équations différentielles et le calcul approché d’intégrales

Ecrire une fonction solution, qui prend en paramètre une matrice labyrinthe, représentée par une liste de listes, et recherche un chemin solution.. Cette fonction renverra

Nous n’allons pas perdre de temps à vous faire rechercher le pivot de Gauss… c’est le programme de première année.. Vous devez

Écrire une fonction récursive donnant la liste de toutes les compositions d'un entier n (décomposition de cet entier en une somme d'entiers strictement positifs tenant compte

Écrire une fonction sierpinski traçant le triangle de Sierpinski d’ordre n non plus en découpant des triangles blancs dans un triangle noir mais en traçant directement les