• Aucun résultat trouvé

Examen de LP M11 Algorithmique 2011

N/A
N/A
Protected

Academic year: 2022

Partager "Examen de LP M11 Algorithmique 2011"

Copied!
6
0
0

Texte intégral

(1)

Examen de LP M11 Algorithmique 2011

1

Durée : 2h, documents autorisés, surf interdit.

Sommaire

M11 ... 2

Mise en place... 2

Création du workspace et import du projet ... 2

Liste doublement chaînée ... 2

La cellule double ... 2

La liste doublement chaînée ... 3

Les quadtrees ... 4

Création d’un quatree ... 4

Inversion des couleurs ... 5

Comparaison de deux quadtree ... 5

Restitution du travail ... 6

(2)

Examen de LP M11 Algorithmique 2011

2

M11

Mise en place

Vous trouverez tous les documents nécessaires à l’url suivante http://berdjugin.com/temp/examLP le login est « titi » et le mot de passe « toto ».

Création du workspace et import du projet

Vous pouvez utiliser votre « workspace » habituel, vous devrez lancer eclipse, importer le projet et enfin le renommer :

1. Lancer eclipse

2. Ouvrir son workspace

3. Télécharger « exam-lp-m11-2010-2011-etu.zip»

4. Importer le projet “ exam-lp-m11-2010-2011-etu“ avec File->Import->General->Existing projects into workspace -> select archive file.

5. Renommer votre projet avec refactor -> rename en exam_nom où nom est votre nom1.

Liste doublement chaînée

La cellule double

Vous disposez de la classe « CelluleD » caractérisée par sa valeur, une référence vers la cellule suivante et une référence vers la cellule précédente.

valeur suivant

precedent

Figure 1 Une cellule double

La classe « CelluD » est fournie et dispose des méthodes suivantes :

1 Le nom du projet ne doit pas contenir d’espaces ou d’accents.

- valeur: E

- suivant: CelluleD<E>

- precedent: CelluleD<E>

+ CelluleD()

+ getPrecedent(): CelluleD<E>

+ getSuivant(): CelluleD<E>

+ getValeur(): E

+ setPrecedent(precedent: CelluleD<E>) + setSuivant(suivant: CelluleD<E>) + setValeur(valeur: E)

<E>

CelluleD

(3)

Examen de LP M11 Algorithmique 2011

3

Donner le code permettant de réaliser la structure suivante :

1 2 3 4

La liste doublement chaînée X

Nous allons implémenter une liste doublement chaînée en utilisant une « celluleD ».

La méthode « estVide() » est supposée donnée, vous devez donner le code des méthodes suivantes :

 « getTete() » et « getQueue() » qui renvoient respectivement la valeur du premier et du dernier élément.

 « insereTete() » et « insereQueue() » qui insèrent un élément en première et en dernière position.

 « supprimeTete() » qui supprime le premier élément.

La méthode « supprimeQueue() » est déjà codée pour que vous puissiez vous en inspirer. La classe

« TestListD » peut vous aider pour vos tests.

- tete: CelluleD<E>

+ ListD()

+ estVide(): boolean + insereQueue(val: E) + insereTete(val: E) + supprimeQueue() + supprimeTete() + getTete(): E + getQueue(): E + toString(): String

<E>

ListD

(4)

Examen de LP M11 Algorithmique 2011

4

Les quadtrees

Les quadtrees sont des arbres qui possèdent quatre fils. Nous allons les utiliser pour stocker une image. L’image est divisée en quatre zones associée chacune à un fils : « nw », « ne », « sw », « se ».

Figure 2 découpage de l'image

Si la couleur d’une zone est uniforme alors la feuille stocke la couleur, sinon la zone est décomposée en quatre sous-zones et le processus recommence.

Figure 3 Image et son quadtree

Création d’un quatree

Compléter et modifier le code de la classe « TestQuadTree », pour obtenir l’image suivante. Dans le

« main » l’utilisation d’un objet de type « Visualisation » permet d’avoir un rendu graphique.

(5)

Examen de LP M11 Algorithmique 2011

5 Figure 4 Image à reproduire

Vous obtiendrez du blanc avec « Color.White » et du noir avec « Color.Black ».

Inversion des couleurs

Compléter le code de la méthode « public void inverseCouleur() » qui permet d’inverser la couleur d’un quadtree. Pour l’image précédente, vous devez obtenir, après inversion, l’image suivante.

Figure 5 Image après inversion

La méthode « private static Color inverse(Color c) » est fournie et vous permet d’inverser une couleur2.

Comparaison de deux quadtree

Compléter le code de la méthode « public boolean egalite(QuadTree q) » qui renvoie « true » si les quadtree sont égaux et « false » sinon.

2 Pour éviter des effets de bords, vous ne pouvez utiliser « Visualisation » qu’une fois.

(6)

Examen de LP M11 Algorithmique 2011

6

Restitution du travail

Pour restituer votre travail vous devez exporter votre projet puis le déposer sur une clef usb.

Pour l’export :

1. Sélectionner le projet (exam_nom) 2. Rafraichir F5

3. Bouton droit-> general -> archive file e:\nom.zip (nom étant votre nom) 4. Vérifier la taille 14ko

Références

Documents relatifs

Le Conseil soutient les travaux méthodologiques engagés par l’Insee, dans le prolongement du rapport de Foucauld, pour mettre à disposition des données longitudinales de

Faire un clic gauche sur cette option (2) Vous pouvez remarquer que votre dossier à disparu. RENOMMER ET SUPPRIMER UN DOSSIER :

Par contre les différences de coûts pour les ouvertures des parois extérieures sont à l’avantage des panneaux murs creux moins épais de Kingspan Kooltherm ® K108.. En effet,

Si vous avez besoin de notes écrites lors de l’enregistrement vidéo, il y a plusieurs options à votre disposition : vous pouvez utiliser les outils de présentation comme PowerPoint,

— En diagonale : Récupérer le nucléotide à la position i dans le fragment source et le placer dans la pile correspondante.. Faire de même avec la destination

Pour recherche dans une même table (même numéro pour quels clients?) utiliser un AS pour renommer .... Le natural join, je dois renommer les champs à ne

Vous pouvez vous référer aux indica- teurs suivants pour savoir si les niveaux sonores qui vous entourent et la durée de votre exposition posent un risque de perte auditive

Pour déplacer un dossier il vous suffit de cliquer une seule fois sur votre dossier sans relâcher la pression sur la touche gauche de votre souris.. Vous glissez doucement