Module Info31 – L2 Sciences & Techniques Université de Bourgogne Dominique Michelucci
TP4- Utilisation de piles
a) Zone d'image
Voir http://univ-biskra.dz/fac/fsesnv/cours/algo/Cours4.pdf Pour cet exercice, vous devez :
- écrire une classe item qui contient deux champs entiers (l et c) ; - écrire une classe pile dont l'élément est un objet de la classe item ; - écrire une classe testImage avec :
- une méthode de coloriage
- un affichage simple de la matrice image ;
- vous pouvez utiliser les initialisations de la matrice image fournies en annexe.
b) Entrepôt
D'après D. Varacca, Université de Paris VII
Voir www.pps.univ- paris - diderot .fr/~varacca/enseignement/POO08/TD2.pdf Pour cet exercice, vous devez :
- écrire une classe item qui contient un unique champ entier ;
- ajouter à la classe pile la méthode triPile dont l'algorithme a été vu en cours.
Pour l'application aux entrepôts, vous devez :
- écrire une classe item qui contient un champ nom (String) et deux champs entiers delai et prix ; - ajouter à la classe pile les méthodes associées au triFusion ;
- ajouter à la classe pile les méthodes de gestion des entrepôts : - génération aléatoire d'une pile non triée de produit.
Pour la génération du nom de produit, choisissez de façon aléatoire un indice et utilisez un tableau de chaînes de caractères (voir annexes) ;
- suppression de tous les produits périmés, en renvoyant le coût total ;
- prise en compte d'une livraison (une pile non triée contient les produits livrés).
c) Placement des reines sur un échiquier A écrire et tester.
Annexes
Pour les zones d'images
Vous disposez dans les fichiers image1 à image4 d'images sur lesquelles vous pouvez effectuer vos tests. Les images sont décrites avec le caractère 9 pour les bordures, une cellule par ligne du fichier.
Image1 est un tableau de 20*20, les autres images sont des tableaux de 100*100.
TP4-1-
Module Info31 – L2 Sciences & Techniques Université de Bourgogne Dominique Michelucci
le tableau d'initialisation de image1 est donné ci-dessous :
{
{ 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }, { 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 8, 8, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 9, 9, 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9 }, { 9, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9 }, { 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 8, 9 }, { 9, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 9, 8, 8, 8, 8, 8, 8, 9, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 8, 8, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9 }, { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 } }
Pour initialiser le tableau des noms de produits tableau de 99 chaînes de caractères
{
"Paris","Marseille","Lyon","Toulouse","Nice","Nantes","Strasbourg","Montpellier","Bordeaux","Hellemmes", "Lille","Rennes","Reims","LeHavre","SaintEtienne","Toulon","Grenoble","Dijon","Angers","LeMans","Brest", "AixenProvence","Luynes","Puyricard","SaintDenis","Nimes","Villeurbanne","Limoges","ClermontFerrand", "Tours","Amiens","Metz","Besancon","Perpignan","Orleans","Mulhouse","BoulogneBillancourt","Caen","Rouen"
"Nancy","SaintDenis","Argenteuil","SaintPaul","MontreuilSousBois","Roubaix","Tourcoing","Avignon","Montfavet", "Poitiers","Nanterre","FortdeFrance","Creteil","Versailles","Pau","Courbevoie","VitrysurSeine","Colombes",
"AulnaysousBois","AsnièressurSeine","RueilMalmaison","LaRochelle","AntibesJuanlesPins","JuanlesPins","SophiaAntipolis", "SaintPierre","LaVarenneSaintHilaire","SaintMaurdesFosses","ChampignysurMarne","Calais","Aubervilliers","Cannes", "Beziers","LeTampon","Bourges","Dunkerque","Mardyck","SaintNazaire","Colmar","Quimper","Merignac","Drancy", "Valence","Ajaccio","IssylesMoulineaux","NoisyleGrand","VilleneuvedAscq","LevalloisPerret","Troyes","Antony", "NeuillysurSeine","LaSeynesurMer","Niort","LesAbymes","Lorient","Sarcelles","Clichy","Chambery","Pessac","SaintQuentin"
};
TP4-2-