Introduction à la programmation C# · Module 3, leçon 3
Devoir : protéger la location de vélos
Ajouter la validation des saisies à votre programme du devoir 3.1, exécuter les cas invalides du plan de tests et vérifier que rien n'a été brisé.
Ce devoir termine le fil de la location de vélos : analyse (2.1), algorithme (2.2), plan de tests (2.3), programme (3.1) et maintenant programme protégé. Vous partez de votre programme du devoir 3.1.
| Remise | Date et heure de remise |
|---|---|
| Format | Le fichier Program.cs et un PDF contenant les deux tableaux d'exécution, déposés dans la section « Devoirs » de la plateforme |
| Travail | Individuel |
| Total | 20 points |
Les règles de validation
| Saisie | Règle | Message exact en cas d'erreur |
|---|---|---|
| Abonné | O ou N, en majuscule ou en minuscule, espaces tolérées autour | Répondez O ou N. |
| Durée : format | Un nombre entier | Entrez un nombre entier de minutes. |
| Durée : règle | De 1 à 1440 minutes | La durée doit être de 1 à 1440 minutes. |
En cas d'erreur, le programme affiche le message, puis s'arrête. Chaque saisie est validée immédiatement après sa lecture.
Consignes
Partie A : Le programme protégé (12 points)
- Lisez chaque saisie avec
Console.ReadLine() ?? "": les avertissements CS8600 et CS8604 doivent disparaître. - Normalisez la réponse « abonné » avec
Trim()etToUpper(), puis refusez toute réponse autre que O ou N. - Convertissez la durée avec
int.TryParse, puis vérifiez l'intervalle de 1 à 1440. - Déclarez les bornes 1 et 1440 comme des constantes.
- Utilisez des gardes :
if (…) { message; return; }. - Ne changez rien aux calculs du devoir 3.1.
Partie B : Cas invalides et nouveaux cas (5 points)
Exécutez ces cas et consignez, pour chacun, le résultat obtenu et le verdict.
| No | Abonné | Minutes | Résultat attendu | Résultat obtenu | Verdict |
|---|---|---|---|---|---|
| T9 | N | 0 | La durée doit être de 1 à 1440 minutes. | ||
| T10 | N | 1441 | La durée doit être de 1 à 1440 minutes. | ||
| T11 | X | (non demandée) | Répondez O ou N. | ||
| T12 | N | abc | Entrez un nombre entier de minutes. | ||
| T13 | N | 12,5 | Entrez un nombre entier de minutes. | ||
| T14 | o | 50 | |||
| T15 | ␣n␣ | 90 |
Pour T14 et T15, complétez vous-même le résultat attendu : le total suffit. Le symbole ␣ représente une espace.
Partie C : Tests de non-régression (3 points)
Ajouter du code peut briser ce qui fonctionnait. Réexécutez les huit cas valides du devoir 3.1 (T1 à T8) sur votre programme protégé et consignez-les dans un second tableau. Tous doivent encore réussir.
Grille d'évaluation
| Critère | Ce qui est évalué | Points |
|---|---|---|
| Validation de la durée | TryParse, intervalle avec ||, bornes en constantes, gardes avec return | 5 |
| Validation de la réponse | Normalisation Trim et ToUpper ; refus avec && | 4 |
| Qualité | Messages exacts ; validation juste après chaque lecture ; aucun avertissement ; calculs inchangés | 3 |
| Cas invalides et nouveaux cas | Sept cas exécutés et consignés ; T14 et T15 attendus justes | 5 |
| Non-régression | T1 à T8 réexécutés et réussis | 3 |
| Total | 20 |
Écrivez votre code vous-même. Un programme copié d'un autre étudiant, d'un site web ou produit par un outil d'intelligence artificielle sera traité selon la politique d'évaluation du cégep. Ce programme est une bonne préparation à l'examen pratique 1.
