Décomposer un problème en sous-problèmes en 1ère
Décomposer un problème en sous-problèmes, c'est une notion de mathématiques du chapitre « Algorithmique et programmation », au programme de 1ère. Voici le cours, un exemple et de quoi t'entraîner.
Décomposer un problème en sous-problèmes : le cours
Pour un problème complexe, on le découpe en tâches plus simples, chacune confiée à une fonction : c'est la programmation modulaire. Chaque fonction peut être testée séparément, puis réutilisée ; le programme principal appelle les fonctions dans l'ordre.
Exemple
Calcul d'une facture : une fonction calcule le montant hors taxe d'une ligne, une autre applique la TVA, le programme principal les combine. ```python def montant_ligne(quantite, prix_unitaire): return quantite * prix_unitaire def appliquer_tva(montant_ht, taux): return montant_ht * (1 + taux / 100) total_ht = montant_ligne(3, 12) + montant_ligne(2, 7) # 36 + 14 = 50 print(appliquer_tva(total_ht, 20)) # affiche 60.0 ```
À retenir
Une fonction = une tâche ; on teste chaque fonction avant de les assembler.
S'entraîner sur décomposer un problème en sous-problèmes
Fais l'exercice, puis demande au tuteur de te corriger pas à pas.
Exercice 1
Écris une fonction Python `prix_solde(prix, remise)` qui renvoie le prix après une remise de `remise` %. Utilise-la pour afficher le prix d'un article à 80 euros soldé à 25 %, puis vérifie le résultat à la main.
Corrige cet exercice avec le tuteur →Exercice 2
On donne la liste des ventes d'une semaine : `ventes = [120, 95, 140, 80, 150]`. a) Écris un programme qui calcule le total des ventes avec une boucle `for`, puis la moyenne. b) Complète-le pour construire, en compréhension, la liste des ventes supérieures à 100.
Corrige cet exercice avec le tuteur →Cette notion fait partie du chapitre Algorithmique et programmation (Mathématiques 1ère).
Autres notions de ce chapitre
- Séquences d'instructions et instructions conditionnelles
- Boucles bornées et non bornées
- Types de variables et affectation
- Fonctions en Python : arguments et valeurs renvoyées
- Listes : générer, manipuler, parcourir
- Itérer des instructions sur les éléments d'une liste
- Modifier, compléter ou concevoir un programme simple