Module 1Modéliser un problème
Chapitre 2 sur 11
Identifier les approches d'analyse d'un problème
Découper un problème avec les approches descendante et ascendante.
- ≈ 95 min
- 3 leçons
- 2 exercices
- TP
Module 1Modéliser un problème
Chapitre 2 sur 11
Découper un problème avec les approches descendante et ascendante.
Objectifs
Avec ce chapitre, tu sauras…
Un problème réel est rarement simple. Pour le résoudre, on le découpe en sous-problèmes plus petits. Il existe deux façons de faire ce découpage : partir du problème global et descendre vers les détails, ou partir des briques élémentaires et monter vers la solution.
Leçon 1
L'exemple du carrelage (résumé théorique OFPPT)
Une pièce rectangulaire de 4 m sur 3 m doit être carrelée. Le carrelage d'un m² nécessite 1 sac de ciment. Les carreaux coûtent 58 DH le m² et le sac de ciment 75 DH. Quel est le prix de revient du carrelage de la pièce ?
Prix de revient ?
┌────────────┴────────────┐
Prix carreaux Prix ciment
┌──────┴──────┐ ┌──────┴──────┐
Surface pièce Prix du m² Surface pièce Prix du sac
┌────┴────┐ ┌────┴────┐
Longueur Largeur Longueur LargeurTableau: Le calcul
| Module | Calcul | Résultat |
|---|---|---|
| surface de la pièce | 4 × 3 | 12 m² |
| prix des carreaux | 12 × 58 | 696 DH |
| nombre de sacs | 12 × 1 | 12 sacs |
| prix du ciment | 12 × 75 | 900 DH |
| prix de revient | 696 + 900 | 1 596 DH |
Leçon 2
Leçon 3
| Descendante | Ascendante | |
|---|---|---|
| point de départ | le problème global | les éléments de base |
| sens | du général au particulier | du particulier au général |
| avantage | vision d'ensemble claire, découpage logique | réutilise des briques déjà écrites et testées |
| risque | des modules difficiles à réaliser découverts tard |
1L'approche descendante part…
2Une action primitive est…
3L'approche ascendante…
4Dans l'exemple du carrelage, le prix des carreaux est de…
5Un module de l'approche descendante deviendra souvent…
6Pour assembler des bibliothèques existantes, on utilise plutôt…
L'essentiel du chapitre
| perdre de vue l'objectif global |
| usage typique | concevoir une nouvelle application | assembler des bibliothèques existantes |
L'approche descendante, c'est la façon dont on écrit un rapport : d'abord le plan (parties), puis les sous-parties, puis les paragraphes. On ne commence pas par écrire des phrases au hasard. En programmation, chaque module deviendra plus tard une procédure ou une fonction (chapitre 5).
L'approche ascendante (bottom-up) fonctionne de manière inverse : on conçoit d'abord les actions primitives (les pièces les plus fondamentales), puis on les combine pour former les modules de niveau supérieur. Cette intégration est répétée jusqu'à obtenir la solution complète.
Avec l'exemple du carrelage, on part des données élémentaires (longueur, largeur, prix du m², prix du sac) et on construit : la surface, puis le prix des carreaux et le prix du ciment, puis le prix de revient.
Reprends l'exemple du carrelage : on ajoute des plinthes sur le périmètre de la pièce, à 20 DH le mètre. Complète l'arbre de décomposition et calcule le nouveau prix de revient.
Une facture d'électricité se calcule ainsi : consommation = index actuel − index précédent ; montant HT = consommation × prix du kWh + frais fixes ; montant TTC = montant HT × 1,14. Dessine l'arbre de décomposition descendante du calcul du montant TTC.
En pratique, les développeurs combinent les deux : on conçoit de manière descendante (le plan de l'application), et on construit souvent de manière ascendante en réutilisant des fonctions et des bibliothèques existantes (Partie 3 : les bibliothèques standards de Python).