Nom: Prénom: Groupe: Université de Bordeaux Devoir surveillé du 10 novembre 2017 Département Licence, 4TPM101U

Documents pareils
STAGE IREM 0- Premiers pas en Python

IMAGES NUMÉRIQUES MATRICIELLES EN SCILAB

Projet L1, S2, 2015: Simulation de fourmis, Soutenance la semaine du 4 mai.

Licence Sciences et Technologies Examen janvier 2010

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Pop-Art façon Roy Liechtenstein

TP : Gestion d une image au format PGM

Opérations de base sur ImageJ

Traitement bas-niveau

Présentation du langage et premières fonctions

Cours de Systèmes d Exploitation

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Licence Bio Informatique Année Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Comment intégrer des images dans un texte

TD3: tableaux avancées, première classe et chaînes

Algorithmique et Programmation, IMA

Corrigé des exercices sur les références

Premiers Pas en Programmation Objet : les Classes et les Objets

Tutoriel : Feuille de style externe

Des outils numériques simples et conviviaux!

Introduction à MATLAB R

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

LASER MOVEMENT LM 21 CONTROLEUR LASER GUIDE D UTILISATION LASER MOVEMENT 1

Utiliser le logiciel Photofiltre Sommaire

Tp 1 correction. Structures de données (IF2)

TP 1. Prise en main du langage Python

HTML. Notions générales

COMMENT CREER VOS BANDES GRAND FORMAT?

Programmation C++ (débutant)/instructions for, while et do...while

RECOPLUS LOGICIEL DE GESTION DES RECOMMANDES NOTICE D UTILISATION DE RECOPLUS RESEAU. N de série

Tuto pour connecter une source RVB RGB à un moniteur Commodore / Amiga

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Calculs de probabilités avec la loi normale

Optimisation, traitement d image et éclipse de Soleil

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

Java Licence Professionnelle CISII,

Conventions d écriture et outils de mise au point

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Guide de configuration d'une classe

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

Master IMA - UMPC Paris 6 RDMM - Année Fiche de TP

Programme Compte bancaire (code)

Les arbres binaires de recherche

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

CAISSE ENREGISTREUSE ELECTRONIQUE SE-G1

Communication et suivi des problèmes via le Helpdesk NKCN

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Exe Livret Animateur_Exe Livret Animateur 01/02/11 11:10 Page1

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Recherche en table par balayage

Jean Dubuffet AUTOPORTRAIT II

Utilisation du logiciel Epson Easy Interactive Tools

MANUEL DRIVELINK DRIVELINK

Structure du format BMP, sa lecture, sa construction et son écriture

Utilisation du visualiseur Avermedia

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Licence d Utilisation des Produits Pléiades attribués à Tarif Préférentiel aux Utilisateurs Institutionnels Autorisés

Compléments de documentation Scilab : affichage de texte et formatage de nombres

Polymorphisme, la classe Object, les package et la visibilité en Java... 1

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

UTILISER MON ORDINATEUR PORTABLE À L EXAMEN CPA, CGA

Initiation à linfographie

MIS 102 Initiation à l Informatique

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Chapitre 10. Les interfaces Comparable et Comparator 1

Cours Fonctions de deux variables

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

OCL - Object Constraint Language

GIMP. Le traitement d'images libre INSTALLATION SUR WINDOWS

Tutoriels Concours FPF.odt Fait par Henri Peudennier le 26/01/2014 1/12

AGASC / BUREAU INFORMATION JEUNESSE Saint Laurent du Var - E mail : bij@agasc.fr / Tel : CONSIGNE N 1 :

Cours de numérisation sur Epson Perfection

Création d articles sur le site web du GSP

S.P.S.N. Lac du Der 2008

TP JAVASCRIPT OMI4 TP5 SRC

NAVIGATION SUR INTERNET EXPLORER

TP1 : Initiation à Java et Eclipse

Logiciel libre, OpenMeetings permet de créer ou simplement de participer à des conférences en ligne.

La Clé informatique. Formation Excel XP Aide-mémoire

Création de maquette web

PHP 4 PARTIE : BASE DE DONNEES

Ecran : Processeur : OS : Caméra : Communication : Mémoire : Connectique : Audio : Batterie : Autonomie : Dimensions : Poids : DAS :

Projet Matlab : un logiciel de cryptage

Procédure : Sauvegarder un Windows 7 sur un disque réseau

Définition 0,752 = 0,7 + 0,05 + 0,002 SYSTÈMES DE NUMÉRATION POSITIONNELS =

Bernard Lecomte. Débuter avec HTML

Initiation à l algorithmique

Tp_chemins..doc. Dans la barre "arche 2" couleur claire 1/5 21/01/13

Les structures de données. Rajae El Ouazzani

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Présentation du PL/SQL

Chapitre 2 Le problème de l unicité des solutions

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Manuel Utilisateur Chariot odys.sante-lorraine.fr

Représentation d un entier en base b

BUREAU VIRTUEL. Utilisation de l application sur ipad. Guide utilisateur. Sciences Po Utilisation du bureau virtuel sur ipad 1 / 6

Transcription:

Université de Bordeaux Devoir surveillé du 10 novembre 2017 Département Licence, 4TPM101U 14h30-16h Le sujet comporte 5 exercices et 7 pages, dont une page d annexe Aucun document n est autorisé Toutes les fonctions de manipulation d images disponibles sont rappelées en annexe page 7. Vous pouvez détacher cette annexe pour plus de facilité. Exercice 1 Considérons la fonction mystere suivante prenant en paramètre une liste de nombres L et un nombre x : def mystere(l, x): cpt = 0 for i in L : if i > x: cpt = cpt + 1 if cpt == 3: return True else: cpt = 0 return False juillettemperaturesmax = [19,23,25,31,34,32,35,29,26,24,26,22, 23,26,28,31,34,37,26,24,22,23,24,23,23,21,23,26,30,26,25] temperaturecaniculecalvados = 30 temperaturecaniculegironde = 35 1. Simulez l exécution de l appel mystere(juillettemperaturesmax, temperaturecaniculecalvados) en complétant le tableau suivant montrant l évolution des variables i et cpt : i cpt 2. Que retourne l appel mystere(juillettemperaturesmax, temperaturecaniculecalvados)? 3. Que retourne l appel mystere(juillettemperaturesmax, temperaturecaniculegironde)? 4. Quelle condition (nécessaire et suffisante) doivent vérifier la liste L et la valeur x pour que l appel mystere(l, x) retourne la valeur True. 1/7

Exercice 2 Météo 1. Écrire le code de la fonction agele(listetemperatures) qui a pour paramètre une liste de nombres ListeTemperatures et qui retourne True s il existe une valeur strictement négative dans cette liste, False sinon. Par exemple agele([1, 0, 2, 8, 6, 9]) retourne False alors que agele([1, 0, -2, 8, 6, 9]) retourne True. 2. Écrire le code de la fonction aplutouslesjours(listeprecipitations) qui a pour paramètre une liste de nombres ListePrecipitations et qui retourne True si toutes les valeurs de cette liste sont strictement supérieures à zéro, False sinon. Par exemple aplutouslesjours([1, 0, 20, 80, 60, 90]) retourne False alors que aplutouslesjours([8, 30, 20, 23, 16, 19]) retourne True. 2/7

Exercice 3 Nombres parfaits (Chaque question de cet exercice peut-être traitée de manière indépendante des autres : vous pouvez utiliser les fonctions des questions précédentes, même si vous n avez pas réussi à les implémenter). 1. Écrire une fonction estdiviseur(i,n) qui retourne True si i est un diviseur de n et False sinon. 2. Écrire une fonction sommediviseurs(n) qui retourne la somme des diviseurs de n strictement plus petits que lui. 3. On dit qu un nombre est parfait s il est égal à la somme de ses diviseurs strictement plus petits que lui. Par exemple, 6 est un nombre parfait car 6=1+2+3. Les nombres 15 et 28 sont-ils parfaits? Justifiez vos réponses. 4. Écrire une fonction estparfait(n) qui retourne True si n est un nombre parfait, False sinon. 3/7

Exercice 4 Dégradés 1. Écrivez une fonction degradehorizontal(img) qui dessine dans l image img un dégradé de gris horizontal allant du noir à gauche au blanc à droite. Pour chaque pixel de coordonnée (x,y), le niveau de gris correspondant est donné par la formule : 256 * x // img.width. L image résultante doit ressembler à celle-ci (sans le cadre autour qui ne sert ici qu à vous montrer le bord de l image) : 2. Question à traiter en dernier! Écrivez une fonction degradediagonale(img) qui dessine dans l image img un dégradé de gris allant du noir depuis le coin en haut à gauche jusqu au blanc en bas à droite. L image résultante doit ressembler à celle-ci : 4/7

Exercice 5 Pixels foncés On dispose d une image en niveau de gris, c est à dire que tous les pixels ont une couleur RGB de la forme (c,c,c). On ne souhaite conserver que les pixels les plus foncés et rendre les autre pixels blancs. 1. Écrire une fonction pixelsfonces(img,seuil) qui modifie l image img en remplaçant chaque pixel de couleur (c,c,c) par un pixel blanc lorsque c > seuil et en laissant le pixel tel quel dans le cas contraire. 2. Écrire la suite d instructions qui (a) ouvre le fichier chienchien.png contenant l image à gauche ci-dessus et la stocke dans une variable ; (b) appelle la fonction pixelsfonces sur cette image en utilisant un seuil de 72 ; (c) affiche l image obtenue. 5/7

6/7

Annexe : voici un rappel des principales fonctions disponibles pour manipuler les images (à vous de voir celles qui sont utiles pour ce devoir). L argument img est une image open(nom) Ouvre le fichier nom et retourne l image contenue dedans (par exemple open("teapot.png"). Image.save(img, nom) Sauvegarde l image img dans le fichier nom. new("rgb",(largeur,hauteur)) Retourne une image de taille largeur hauteur, initialement noire. largeur = img.width hauteur = img.height Image.putpixel(img, (x,y), (r,g,b)) (r,g,b) = Image.getpixel(img, (x,y)) Récupère la largeur de img. Récupère la hauteur de img. Peint le pixel (x, y) dans l image img de la couleur (r, g, b) Retourne la couleur du pixel (x, y) dans l image img 7/7