Exercices – Méthode
BTS SIO SISR 2e année – Pour aller plus loin – S18
Note
Comment travailler. Cherche d'abord sur papier, puis ouvre « Voir la réponse ». Aucune réponse sans justification n'est complète.
Exercice 1 – Analyser un énoncé
« Une liste de relevés (machine, temperature) est donnée. Renvoyer les machines dont la température maximale dépasse un seuil. » Préciser entrées, sorties, un exemple et un cas limite.
Voir la réponse
Entrées : liste de couples, un seuil. Sortie : liste de machines (sans doublon, triée). Exemple : [("m1", 40), ("m2", 70), ("m1", 80)], seuil 75 : ["m1"]. Cas limite : liste vide, donc [].
Exercice 2 – Décomposer
Proposer une décomposition en fonctions pour l'exercice 1.
Voir la réponse
maxima(releves) : dictionnaire machine → température maximale ; machines_chaudes(releves, seuil) : machines dont le maximum dépasse le seuil, triées.
Exercice 3 – Choisir
Pour l'exercice 1 avec \(10^6\) relevés, comparer deux méthodes : balayer la liste à chaque machine, ou un dictionnaire.
Voir la réponse
Avec \(m\) machines distinctes, balayer à chaque machine coûte de l'ordre de \(m \times n\). Un dictionnaire coûte de l'ordre de \(n\) : un seul passage.
Exercice 4 – Concevoir des tests
Écrire cinq tests pour suspectes du cours.
Voir la réponse
Liste vide ; une ligne ECHEC avec seuil 1 ; une ligne OK avec seuil 1 (résultat vide) ; deux adresses à égalité de seuil (ordre trié) ; une adresse avec OK puis ECHEC pour vérifier qu'on ne compte que les échecs.
Exercice 5 – Justification
Rédiger en trois phrases la justification de echecs_par_ip.
Voir la réponse
Idée : un dictionnaire adresse → échecs, mis à jour à chaque ligne. Invariant : après \(k\) lignes, il contient les échecs de ces \(k\) lignes. Coût : un passage, de l'ordre de \(n\) opérations.
Exercice 6 – Corriger une erreur
La fonction ci-dessous doit compter les échecs ; elle renvoie un résultat faux pour ["a;OK"]. Pourquoi ?
Voir la réponse
Elle compte toutes les lignes, pas seulement celles dont le statut est ECHEC : elle renvoie {"a": 1} au lieu de {}. Le test avec une ligne OK l'aurait révélé.
Je sais faire
- Analyser un énoncé
- Décomposer en fonctions
- Choisir une structure et estimer le coût
- Rédiger une justification
Ce que je dois reprendre : ______________________
Ma question à poser à l'enseignant : ______________________