Déterminer l'IMC d'une personne
Calcul et interprétation de l'indice de masse corporelle (IMC)
Vous devez coder un programme permettant de calculer l'IMC d'une personne et afficher un message correspondant au résultat de ce calcul.
Pour cela, il faut commencer par demander à l'utilisateur sa taille en mètre et son poids en kg. La taille et le poids seront des nombres réels (flottant).
Ensuite il faut calculer l'IMC. La formule du calcul est la suivante : IMC = poids en Kg / (taille en mètre)².
Pour finir, il faut afficher une phrase qui interprète cette valeur suivant le tableau ci-dessous.
ATTENTION : ce calcul n'est qu'un indicateur et n'est donc pas à prendre pour une vérité absolue (et puis moi, ça m'arrange ... non, je ne suis pas en surpoids ... je suis juste un peu enveloppé).
Conseils :
Il ne faut pas se précipiter => on ne saisie pas des lignes de code sans avoir effectuer un minimum de préparation ;
Réfléchissez aux actions qui doivent être entreprises et dans quels ordres => écrire un algorithme qui structurera votre programme ;
Il n'y a jamais une solution unique mais toujours plusieurs ;
Ne vous découragez pas, se tromper est légitime et vous permet de progresser.
Question
Étape 1 : écrire un algorithme du programme - première partie (calcul de l'IMC)
Indice
Vous pouvez utiliser les variables déjà proposées dans l'énoncé : taille, poids et IMC.
Indice
L'algorithme commence par l'acquisition des données taille et poids puis on effectue le calcul de l'IMC.
Solution
Proposition d'algorithme - première partie (calcul de l'IMC)
DÉBUT
Acquérir taille
Acquérir poids
IMC = poids / (taille)2
Question
Étape 2 : écrire un algorithme du programme - seconde partie (afficher le message)
Indice
Il faut choisir la structure algorithmique qui correspond à nos besoins.
Indice
Il faut afficher un message différent en fonction de la valeur de l'IMC, il y a donc plusieurs alternatives ...
Indice
Si IMC < 16 alors
| Afficher "message 1"
Et si 16 <= IMC < 18.5 alors
| Afficher "message 2"
...
Sinon
| Afficher "message 7"
Remarque : le "<=" avant "16" est important, sinon dans le cas ou IMC = 16, l'ordinateur sera dans l'incapacité de poursuivre l'exécution du programme et risque de 'planter' !
Solution
Proposition d'algorithme complet
DÉBUT
Acquérir taille
Acquérir poids
IMC = poids / (taille)2
|
Si IMC < 16 alors
| Afficher "Anorexie ou dénutrition"
Et si 16 <= IMC < 18.5 alors
| Afficher "Maigreur"
Et si 18.5 <= IMC < 25 alors
| Afficher "Corpulence normale"
Et si 25 <= IMC < 30 alors
| Afficher "Surpoids" (ou "légèrement enveloppé", au choix)
Et si 30 <= IMC < 35 alors
| Afficher "Obésité modérée (classe 1)"
Et si 35 <= IMC < 40 alors
| Afficher "Obésité élevé (classe 2)"
Sinon
| Afficher "Obésité morbide ou massive"
Question
Étape 3 : Coder cet algorithme en langage Python puis l'exécuter afin de le valider.
Maintenant, c'est à vous de jouer.
Je me tiens à votre disposition, via le groupe de discussion de Pronote, si besoin.
Vous pouvez m'envoyer votre programme finalisé ou non finalisé (avec des questions) à mon adresse professionnelle : herve.fougassie@ac-limoges.fr
Bon courage.
Indice
Ne pas oublier de configurer vos variables en nombre réel (type float) après en avoir fait l'acquisition.
Solution
Et non, pas de solution cette fois.