Sur un tapis roulant de centre de tri, chaque colis passe sur une balance et un lecteur d'étiquette. Le lecteur donne un code de destination : 1 pour local, 2 pour national, 3 pour international. Le programme doit indiquer à quel quai envoyer chaque colis.
Le besoin
Les règles de routage s'appliquent dans cet ordre, la première qui convient décide :
- Un poids nul ou négatif, ou un code autre que 1, 2 ou 3 : le colis est Rejeté.
- Sinon, un colis de plus de 30 kg part au quai Lourd, quelle que soit sa destination.
- Sinon, un colis de code 3 part au quai International.
- Sinon, un colis de code 1 part au quai Local.
- Sinon, le colis part au quai National.
L'opérateur saisit d'abord le nombre de colis, puis, pour chaque colis, son poids en kg (réel) et son code (entier). Pour chaque colis, le programme affiche une ligne contenant seulement le nom du quai, écrit exactement comme en gras ci-dessus. À la fin, il affiche Rejetés : suivi du nombre de colis rejetés, puis Masse acceptée : suivi de la masse totale des colis non rejetés, avec une décimale (ToFixed), et kg.
Les saisies de contrôle
| Jeu | Rôle | Saisies, dans l'ordre |
|---|---|---|
| Premier | cas nominal | 4, puis 12.5 et 2, 35 et 1, 0.8 et 1, 8 et 3 |
| Deuxième | cas limites | 3, puis 30 et 3, 30.5 et 2, 30 et 1 |
| Troisième | cas d'erreur | 4, puis 0 et 2, 12 et 4, 45 et 0, 6.5 et 2 |
Objectif
Construire le programme dans Flowgorithm en suivant la méthode : entrées et sorties, calcul à la main du premier jeu, grandes étapes, structures, formes. Écrire le jeu d'essai (sorties attendues) avant d'exécuter, puis exécuter le programme sur les trois jeux et reporter les valeurs demandées.
Pièges
Un colis d'exactement 30 kg n'est pas « de plus de 30 kg ». Quand deux règles semblent convenir, seule compte la première dans la liste : l'ordre des losanges doit suivre l'ordre des règles.