632.1 / PROGRAMMATION
Travaux pratiques – Série P11
Johann SIEVERING 1 / 3 Version 1.0
Objectifs
• Mettre en œuvre les concepts de la programmation orientée objet.
• Parcourir des structures de données en effectuant des traitements de leurs composants.
• Implanter des méthodes répondant à un ensemble de spécifications.
• Utiliser les classes java.util.Vector et java.util.StringTokenizer de la bibliothèque Java.
Énoncé
Développer une application de gestion d’un distributeur automatique d’articles (sandwich, chocolat,
etc.). Il s’agit d’afficher un rapport sur le contenu d’un distributeur qui vous est fourni sous la forme
d’un fichier texte.
Le distributeur contient un ensemble de rayons dans lesquels les articles sont déposés. Le client
choisit un rayon par son numéro et le premier article du rayon tombe dans le panier. Le
remplissage du distributeur dépend des arrivages. Chaque rayon sert un même type d’articles
mais ces articles peuvent être différents (le rayon sandwich peut servir des sandwiches au jambon, au
salami ou au fromage).
Ce quiest demandé :
• Mémoriser les données du contenu du distributeur, à partir du fichier texte fourni.
• Les données seront mémorisées dans des objets de classes Boisson ou Nourriture selon leur
catégorie d’article. Chaque référence d’article est placée dans un rayon (Vector).
• Chaque rayon est mémorisé dans des objets de classes Rayon. Chaque référence de rayon est
placée dans le distributeur (Vector).
• Le rapport doit présenter (voir exemple d’exécution) :
Le prix le plus élevé des articles contenu dans le distributeur ;
Le bénéfice total possible (somme des prix de « vente – prix de revient » de tous les articles) ;
Le nombre d’articles présents par rayon. S’il en reste un ou moins : afficher «À REMPLIR ».
• Réfléchir à la manière d’afficher tous les rayons et tous les articles du distributeur (réponse
extrêmement simple).
Données
Le fichier produit par le distributeur liste chaque article (un par ligne).
Pour chaque article, en plus des données spécifiques à l’article, sont mentionnés le n° du
distributeur et le n° du rayon.
Les articles sont classifiés selon leur type soit comme une boisson, soit comme de la nourriture.
Ce type détermine si le dernier champ représente une contenance (boisson) ou un poids
(nourriture).
Structure d’un article (une ligne)
Délimiteur d’article : retour ligne "\n\r"
Délimiteur de champ : point-virgule ";"
Structure d’une ligne :
n°distributeur ; n°rayon ; n°article ; nom ; type ; description ; prix de revient ; prix vente ; contenance ou
poids