633.1 – Programmation Travaux pratiques – Série P03

publicité
633.1 – Programmation
Exemples d'exécution
Avec le fichier de données Ventes.txt :
Travaux pratiques – Série P03
Objectifs
 Employer les classes de bibliothèque java.util.Vector et java.util.StringTokenizer ainsi que
des classes fournies pour résoudre des problèmes.
 Implanter une méthode répondant à un ensemble de spécifications.
 Employer la documentation on-line de Java pour y trouver de nouvelles informations sur les
méthodes des classes utiles à la résolution d'un problème.
Problème
Écrire un programme de statistiques sur les commissions réalisées par les vendeurs d’une
entreprise. Les informations à traiter sont stockées dans un fichier texte. Le programme développé
calcule et affiche :
 Le nombre de vendeurs différents qui sont référencés par le fichier de données.
 La moyenne des sommes totales des commissions des vendeurs.
 Le vendeur dont la somme totale de commissions est la plus proche de la moyenne ainsi que la
distance à la moyenne de sa somme de commissions.
Données
Un fichier texte contenant, à raison d'une par ligne, les commissions réalisées par un vendeur
(identifié par l’agence où il travaille et son numéro) pour une semaine donnée. Le nombre de
commissions réalisées est variable d’un vendeur à l’autre.
Structure d’une ligne
N°Semaine Agence N°employé Commission-1 Commission-2 … Commission-k
où : N°Semaine est un nombre entier représentant le numéro de la semaine du relevé
Agence est le nom de l’agence où le vendeur travaille
N°employé est un nombre entier représentant le numéro d’employé du vendeur
Commission-1 … Commission-k sont des nombres entiers représentant en francs les
différentes commissions réalisées par le vendeur pendant la semaine.
Toutes ces informations sont séparées par des espaces.
ainsi : 1 Centre-Ville 3 7064 3209
signifie que lors de la semaine 1, le vendeur n°3 de l’agence Centre-Ville a réalisé
deux commissions, l’une de 7064 F, l’autre de 3209 F.
2 Cointrin 2 1413 9770 2109 8913
signifie que lors de la semaine 2, le vendeur n°2 de l’agence Cointrin a réalisé quatre
commissions de, respectivement, 1413 F, 9770 F, 2109 F et 8913 F.
Exemple
1 Centre-Ville 3 7064 3209
1 Meyrin 3 62 5192 7202 4260
...
2 Meyrin 3 9516 5699 4093 7570 7086
2 Eaux-Vives 1 457
2 Cointrin 2 1413 9770 2109 8913
2 Centre-Ville 2 3599
...
3 Meyrin 2 4869 1888 2498 9777 5107
3 Centre-Ville 4 4794
3 Meyrin 3 7276 9958
...
633.1 Programmation - Peter DAEHNE
Traitement du fichier "Ventes.txt"
Il y a 16 vendeurs différents.
La moyenne des sommes totales des commissions des vendeurs est de 70301.25 F.
Le vendeur le plus proche de la moyenne est: Centre-Ville vendeur n°1 - 70201 F.
La somme de ses commissions est à distance 100.25 F de la moyenne.
Avec le fichier de données Petit.txt :
Traitement du fichier "Petit.txt"
Il y a 3 vendeurs différents.
La moyenne des sommes totales des commissions des vendeurs est de 1600.0 F.
Le vendeur le plus proche de la moyenne est: Meyrin vendeur n°3 - 1500 F.
La somme de ses commissions est à distance 100.0 F de la moyenne.
Avec le fichier de données Vide.txt :
Traitement du fichier "Vide.txt"
Il y a 0 vendeurs différents.
Il n'y a donc aucune statistique à effectuer.
Sont fournis
- Les fichiers StatVentes.java et Vendeur.java qui sont les classes que vous devez compléter.
- Les fichiers Ventes.txt, Petit.txt et Vide.txt qui sont des fichiers de données vous permettant
de tester les classes que vous aurez développées.
- Le fichier FileToStr.class qui contient la version compilée de la classe employée par main()
et qui permet de lire un fichier texte dans un String (vous n’aurez pas à employer cette classe
dans le code que vous devrez développer).
- Ces éléments sont fournis sur le réseau en :
G:\_cours\11-12\IG\M633.1\ÉnoncésTP\P03
À faire
- Compléter les méthodes calculeSommeVendeurs() et afficheRes() de la classe
StatVentes fournie en remplaçant les commentaires /***** À COMPLÉTER *****/ par du
code fonctionnel respectant les spécifications données en commentaires.
- Compléter la classe Vendeur si nécessaire.
- Contraintes impératives :
 En aucun cas, les signatures des méthodes calculeSommeVendeurs() et
afficheRes() ne doivent être modifiées.
 Les spécifications données en commentaires des méthodes à compléter doivent être
respectées. Elles font partie intégrante de l’énoncé.
 La structure de la classe Vendeur peut être complétée, mais les attributs existants ne
doivent pas être modifiés.
 La méthode main() de doit pas être modifiée.
 Vous exploiterez au maximum les méthodes de haut niveau offertes par les classes de la
bibliothèque Java.
 Le code développé mettra en œuvre les principes de la programmation objet.
 Votre programme doit être compatible avec Java 1.4 (compilée avec l'option –source 1.4
ou, sous EditPlus, avec l'option Compilation 1.4 [Ctrl+1]).
Délai
 ce travail est à rendre à l'assistant le vendredi 21.10.2011 à 17h00 au plus tard en recopiant
tous les éléments nécessaires en :
G:\_cours\11-12\IG\M633.1\RedditionTP\VotreNom\P03
Version 1.0 – 13.10.2011
633.1 Programmation - Peter DAEHNE
Version 1.0 – 13.10.2011
Téléchargement