Vous êtes sur la page 1sur 5

121-INF1120-40

Abdoulaye Banir Diallo Ph.D.


Travail pratique # 1
Ce travail doit tre fait individuellement.
Ce document comporte quatre (5) pages.

Le parc de rserves naturelles Badiar (patrimoine de lUnesco) doit prparer un plan dvacuation pour sauver les animaux en cas de
scheresse, feu de brousses ou dinondation. Pour cela, le prsident du parc dcide de solliciter le dveloppement dun programme
informatique qui facilitera la gestion logistique du dplacement des animaux. Flicitation! Vous avez t dsigns pour raliser ce
programme trs important. En cas de catastrophe le dmnagement seffectuera en utilisant des trains, des camions et des
camionnettes. Le tableau 1 prsente la liste des animaux qui sont actuellement rpertoris dans ce parc.
Tableau 1 : caractristiques des espces dans le parc
Animal
Lion
Tigre
Lapin
Girafe
Bison
lphant
Tatou
Lmur
Taupe
Rat
Chimpanz
gorille

Poids (kg)
125 - 250
80 150
3 20
950 1500
350 850
4500 - 6500
25 55
19
0.5 2.5
0.5 3
45 - 80
40-150

Types
Carnivore
Carnivore
Rongeur
Herbivore
Herbivore
Herbivore
Insectivore
Carnivore
Insectivore
Rongeur
Omnivore
Omnivore

Les moyens disponibles pour lvacuation sont illimits. Ainsi, les sauveteurs peuvent affrter un nombre infini de camions, de trains
et de camionnettes. Les caractristiques de location de ces moyens de transport sont prsentes dans le tableau 2.
Tableau 2 : condition de location des moyens de transport
Moyen de transport
Train
Camion
Camionnette

Prix unitaire
200.000 $
10.000$
500$

Poids maximal (kg)


150 000
4 000
1000

Votre travail consiste crire un programme qui grera linventaire des vacuations et les couts associs. Il fournira les oprations
suivantes travers un menu :
1) Complter linventaire danimaux
2) Louez un nouveau moyen de transport
3) Placez des animaux dans le moyen de transport dsign
4) Visualisez linventaire dvacuation
5) Prsentez le prix actuel des transports dj lous
6) Affichez le dtail des locations
7) Quittez le programme

Droulement du programme
Votre programme doit commencer avec un message de bienvenue. Il sollicitera linventaire initial (nombre) de chaque espce
animale qui est prt pour une vacuation. Puis, il prsentera le menu des oprations possibles. Les choix devront tre valids. Ils
seront compris entre 1 et 7. Aprs chaque ralisation dune des oprations de 1 6, le programme permettra de solliciter un autre
choix en revenant au menu principal. Ainsi, les oprations de 1 6 peuvent tre ralises plusieurs fois. Le choix 7 permet de quitter
le programme en affichant les statistiques prsentes plus bas.

1) Complter linventaire danimaux


Il est possible travers cette option de rajouter le nombre danimaux pour une espce rpertorie dans le parc. Pour permettre un
utilisateur dentrer un inventaire dun nouveau groupe danimaux trouvs, le programme prsentera les choix suivants :
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)

Lion
Tigre
Lapin
Girafe
Bison
lphant
Tatou
Lmur
Taupe
Rat
Chimpanz
Gorille
Aucun

Puis, aprs avoir indiqu lespce animale, le programme sollicitera le nombre de nouveaux animaux dcouverts rajouter
linventaire. Ainsi, lancien inventaire est augment du nombre de nouveaux animaux. Par exemple, si le nombre de lions prts tre
vacus et rpertoris est 30, si lutilisateur entre que 15 nouveaux lions ont t dcouverts. Le nouvel inventaire de lions tre vacu
est 45. Il faudrait noter que le nombre danimaux saisi chaque fois doit tre positif et infrieur 100.

2) Louer un nouveau moyen de transport


Cette opration permet de choisir un nouveau moyen de transport parmi ceux disponibles. Cette opration nest possible que sil y a
au moins un animal transporter, sinon le programme affichera un message derreur indiquant quil ny a plus danimaux
transporter. Le menu possible est le suivant :
1)
2)
3)
4)

Train
Camion
Camionnette
Aucun

Il est important de noter que lorsque lutilisateur choisi un moyen de transport, cela signifie que le prcdent moyen de transport
est dj parti.

3) Placez des animaux dans un moyen de transport


Lutilisateur ne pourra placer des animaux que si au pralable il a choisi un moyen de transport. Pour placer des animaux,
lutilisateur choisira lanimal, puis indiquera son poids. Le poids doit tre compris dans lintervalle de poids connu de cette catgorie
despces (Tableau 1). Si le poids maximal pour le moyen de transport choisi nest pas atteint, ainsi lanimal est embarqu. Alors, le
programme dcrmente le nombre danimaux de cette catgorie despces, puis retourne au menu principal.

4) Visualisez linventaire danimaux


Le programme prsentera lcran dans un affichage lgant, linventaire danimaux transporter. Il prsentera aussi linventaire par
type danimaux transports. Le programme fera une pause pour permettre lutilisateur de visualiser linventaire. Lutilisateur devra
presser un caractre pour revenir au menu principal.

5) Prsentez le prix actuel des moyens de transport lou


Le programme prsentera le sommaire des moyens de transport dj utiliss et indiquera le prix total de la location par catgorie et le
prix total de la location des moyens de transport. Le programme fera une pause pour permettre lutilisateur de visualiser le
sommaire. Lutilisateur devra presser un caractre pour revenir au menu principal.

6) Affichez le dtail des locations


Le programme prsentera le sommaire des moyens de transport dj utiliss et le nombre danimaux dj sauv pour chaque
groupe despces et chaque type despces. Le programme fera une pause pour permettre lutilisateur de visualiser les dtails.
Lutilisateur pressera un caractre pour revenir au menu principal.

7) Quittez le programme
Ce choix permet de quitter le programme. En quittant, un avertissement est envoy lutilisateur pour indiquer pour chaque groupe
despces, le nombre despces non encore vacus. Le programme ne prsentera que les groupes despces restantes. Le programme
indiquera le nombre et le poids total transport pour chaque type despces. Puis il indiquera le prix final des locations.

(Remarques concernant les validations : Seules les validations logiques sont requises ici, cest--dire que vous navez qu
vrifier si les nombres entrs sont bien dans les intervalles permis. Vous supposerez quun nombre entier sera entr lorsque requis.
Nous verrons plus tard dans la session comment traiter les cas o un caractre non numrique est entr au lieu dun nombre). Les
donnes valider sont :
- choix des menus
- nombre danimaux
- poids danimaux

Le travail est remettre en deux parties.


Partie 1 (40%)
1. Assurez-vous de bien comprendre l'nonc du problme.
2. Rpondez aux questions du questionnaire disponible sur le site dans la partie description des travaux pratiques du groupe 40.
3. Faites une trace la main de votre algorithme que vous avez conu dans la section 3.2 du questionnaire, avec les jeux d'essais
que vous avez prpars dans la section 4. S'il y a des erreurs, retravaillez votre algorithme.
4. Faites imprimer la page couverture pour la partie 1 et brochez-la avec votre questionnaire rempli.
5. Remettez le tout avant le mercredi 31 octobre 16h dans la chute courrier ct du local PK-4151. Si vous remettez votre
travail ailleurs, cela entranera des dlais et une pnalit pour le(s) jour(s) de retard.
Partie 2 (60%)
1.

crivez votre algorithme en Java (Tp1.java) et corrigez-le tant qu'il y a des erreurs de compilation.

2.

Mettez une entte dans votre fichier Tp1.java ou votre nom et code permanent apparaissent de faon claire.

2. Testez votre programme l'aide des tests que vous avez labors dans la question 4 du questionnaire.
3. S'il y a des problmes, revenez une des parties prcdentes (partie 1 et/ou partie 2) afin de dterminer la source de ceux-ci.
4. Faites une copie papier de votre classe Java, en mode paysage, en fonte courrier et Taille 9. Faites en sorte que les lignes ne
soient pas brises (une ligne imprime sur deux lignes car trop longue). Chaque ligne de code ne doit pas dpasser 120
caractres. Celle-ci doit tre remise dans une enveloppe avec ces renseignements sur celle-ci :
Le cours : INF1120 groupe 40
Le professeur : Abdoulaye Banir Diallo
Votre nom
Votre code permanent.
5. Pour la copie lectronique Tp1.java, vous devrez la remettre en utilisant moodle comme pour les laboratoires nots. Il y aura un
lien pour la remise. Utilisez la bote de remise INF1120_Tp1_2. La copie lectronique doit tre remise avant le mardi 13
novembre 23h59m59s. La copie papier peut tre remise le lendemain dans la chute courrier dans la chute courrier ct du
local PK-4151. Si vous remettez votre travail ailleurs, cela entranera des dlais et une pnalit pour le(s) jour(s) de retard.
Important : Votre classe doit commencer par un bloc de commentaires qui doit inclure votre nom, votre code permanent et votre
adresse de courriel (celle de l'uqam).
La copie papier et la copie lectronique de votre travail doivent tre remises. Une copie papier absente ou une copie
lectronique absente entranera 0 pour la deuxime partie.

Politique concernant les retards : Il y a pnalit de 10 % (de la valeur maximale) par jour ouvrable de retard, jusqu concurrence de
5 jours ouvrables de retard. Aucun travail ne sera accept dpass 5 jours de retard.

Exigences logicielles, conseils et contraintes


1.

Vous devez suivre les normes de programmation nonces dans le document disponible sur le site :
http://cyberzoide.developpez.com/java/javastyle/

2.

Sont interdits :
- Les break ailleurs que dans un switch,
- L'oprateur ?,
- Un return dans un for, un while, un do...while, un switch, un if.
- L'nonc continue est aussi interdit.
- Les variables de classe dans la classe qui contiendra votre mthode main (toute variable utilise doit tre dclare
dans une mthode). N'oubliez pas que main est aussi une mthode. Seules les constantes peuvent tre dclares
l'extrieur d'une mthode.

3.

Utilisez des variables relles uniquement lorsque requis. Autrement dit, un compteur ne doit pas tre float ou double.

4.

Utilisez des constantes (final) le plus possible.

5.

Vous devez utiliser la classe Scanner pour la saisie des donnes. Vos programmes seront tests avec cette classe et dans
l'environnement BlueJ.

6.

Les seules classes que votre classe peut utiliser sont la classe Scanner et la classe String.

7.

moins d'avis contraire, l'affichage des rsultats doit se faire la console.

8.

Votre classe doit comporter la mthode main. C'est celle-ci que nous excuterons pour la correction.

9.

Toute utilisation de code Java que nous n'aurons pas vu au cours est vos risques (perte de points si mauvaise utilisation)
(Exemples : utilisation de tableaux, de mthodes, etc.).

Remarques :
Mme si aucun point n'est attribu pour la qualit de la prsentation du travail, ce critre sera considr pour la correction et
vous pouvez perdre jusqu' 10 % pour cela.
Aucun travail crit la main ne sera accept.
Les rglements sur le plagiat seront strictement appliqus.
Je vous rappelle que, selon une directive du dpartement, la qualit du franais constitue un critre d'valuation.
Un programme ne compilant pas se verra attribuer la note 0 pour la partie 2.
Aucun programme reu par courriel ne sera accept.
Aucun travail gliss sous ma porte de bureau n'est accept : Le travail doit avoir t horodat par le secrtariat d'informatique
(ceci est fait lorsque vous remettez votre travail dans la chute courrier au PK-4151.
Ce document doit tre lu en entier, cinq points seront partags entre les tudiants qui m'en feront la mention d'ici la remise de la
premire partie.
Un travail dont la copie remise via Moodle nest pas accompagn(e) du listage du programme (copie papier) ne sera pas
accept.
Un travail dont le listage n'est pas accompagn de la copie lectronique (Moodle) du travail ne sera pas accept.