Un programme pour le bilan énergétique
Exercice supplémentaire · niveau 2 · enseignement scientifique (première), chapitre 6 — De la conversion biologique de l'énergie solaire par la photosynthèse à l'énergie nécessaire à tous les êtres vivants
Énoncé
On veut automatiser le calcul du bilan d'une journée. 1. Commenter le programme ci-dessous. 2. Que renvoie-t-il pour une personne de kg qui consomme kcal, marche h à kcalh et court min à kcalh ? 3. Quelle simplification abusive contient-il ? 4. Proposer une amélioration en une phrase.
def bilan(masse_kg, apports_kcal, activites):
"""activites : liste de couples (duree_en_heures, kcal_par_heure)"""
base = 24 * masse_kg # 1 kcal par kg et par heure
thermogenese = 0.10 * apports_kcal
sport = 0
for duree, puissance in activites:
sport += duree * puissance
depenses = base + thermogenese + sport
return apports_kcal - depenses
print(bilan(60, 2400, [(1.0, 250), (0.5, 700)]))
Bilan énergétique journalier : la différence entre ce qui est apporté et ce qui est dépensé, en kilocalories.
Corrigé
1. Le programme additionne trois postes de dépense — métabolisme de base, thermogenèse alimentaire, activités — puis retranche le total des apports. La boucle for parcourt la liste des activités et cumule durée dépense horaire. Le résultat est positif en cas d'excédent, négatif en cas de déficit.
2. Base : kcal. Thermogenèse : kcal. Sport : kcal. Dépenses : kcal. Le programme renvoie kcal : un léger excédent.
3. Il compte deux fois le métabolisme de base pendant les heures d'activité : les tableaux de dépense horaire incluent déjà l'entretien de l'organisme. Le programme surestime donc les dépenses — ici de l'ordre de kcal — et sous-estime l'excédent. Plus généralement, il traite comme exactes des valeurs qui sont des moyennes de population : le métabolisme de base varie facilement de d'un individu à l'autre à masse égale.
4. Il suffirait de retrancher, pour chaque activité, le métabolisme de base correspondant à sa durée, c'est-à-dire de remplacer duree <em> puissance par duree </em> (puissance - masse_kg). <br> Grandeurs quotients : une dépense horaire en kcalh multipliée par une durée en heures donne une énergie en kcal ; le contrôle des unités est ici le meilleur moyen de repérer une erreur de programmation.
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.