Noam LIMANI
TD1
Université de Lille
BUT STID – RES 1 -03 Programmation 1
Exercice N°1
L’indice de masse corporelle (IMC) d’une personne permet d’évaluer la corpulence en fonction du
poids et de la taille, quel que soit le sexe de la personne. Il se calcule simplement en divisant le poids
(en kg) par le carré de la taille (m). Un IMC normal se situe entre 18,5 et 25.
1. Complétez l’algorithme du TD1 par un message indiquant si l’IMC est normal ou anormal
Le programme affiche le message suivant
Bonjour Paul !
Vous mesurez 172 cm et pesez 65.9 kg.
Votre IMC est de 22.3.
Votre IMC est Normal
2. Traduire l’algorithme en programme Visual Basic
Algorithme Programme VB
Algorithme CALCUL_IMC Option Explicit 'rend la déclaration des variables
{Calcule l’IMC d’une personne. Entrée:Nom de obligatoire
la personne,sa taille, son poids. Sortie : IMC} Public Sub CALCUL_IMC()
'Calcule l’IMC d’une personne.
VARIABLES 'Entrée : Nom de la personne, sa taille, son
Nom : chaîne de caractères poids.
Taille, Poids , IMC: réel 'Sortie : IMC
DÉBUT Dim Nom As String
{saisie des données} Dim taille, Poids, IMC As Single 'Type réel simple
Afficher(« Entrez votre nom ») précision
Saisir(Nom)
Afficher(« Entrez votre poids »)
Saisir(Poids) 'saisie des données
Afficher(« Entrez votre taille ») Nom = InputBox(" Entrez votre nom ")
Saisir(Poids) Poids = InputBox(" Entrez votre poids ")
{Traitement : calcul de l’IMC} taille = InputBox(" Entrez votre taille ")
IMC ←
Poids/(Taille*Taille) 'Traitement : calcul de l’IMC
{Affichage des résultats} IMC = Poids / (taille * taille)
Afficher(« Bonjour »,Nom, « ! »)
Afficher(« Vous mesurez »,Taille, «m et
pesez »,Poids, « kg ») 'Affichage des résultats
Afficher(« Votre IMC est de », IMC ) MsgBox ("Bonjour" & Nom & "!")
MsgBox ("Vous mesurez" & taille & "m et
SI IMC>18.5 AND IMC<25 ALORS pesez" & Poids & "kg")
Afficher(« Votre IMC est normal »)
Sinon If (IMC > 18.5 AND IMC < 25) Then
Afficher(« Votre IMC est anormal ») MsgBox(« Votre IMC est normal »)
FSI Else
FIN MsgBox(« Votre IMC est anormal »)
End if
End Sub
Exercice N°2
Reprendre le même exercice en utilisant les imbrications de Si pour afficher la classification de l’OMS
Bonjour Paul !
Vous mesurez 172 cm et pesez 65.9 kg.
Votre IMC est de 22.3.
Résultat : Corpulence Normale
Algorithme VB
Algorithme CALCUL_IMC Option Explicit 'rend la déclaration des variables
{Calcule l’IMC d’une personne. Entrée:Nom de obligatoire
la personne,sa taille, son poids. Sortie : IMC} Public Sub CALCUL_IMC()
'Calcule l’IMC d’une personne.
VARIABLES 'Entrée : Nom de la personne, sa taille, son
Nom : chaîne de caractères poids.
Taille, Poids , IMC: réel 'Sortie : IMC
DÉBUT Dim Nom As String
{saisie des données} Dim taille, Poids, IMC As Single 'Type réel simple
Afficher(« Entrez votre nom ») précision
Saisir(Nom)
Afficher(« Entrez votre poids »)
Saisir(Poids) 'saisie des données
Afficher(« Entrez votre taille ») Nom = InputBox(" Entrez votre nom ")
Saisir(Poids) Poids = InputBox(" Entrez votre poids ")
{Traitement : calcul de l’IMC} taille = InputBox(" Entrez votre taille ")
IMC ← Poids/(Taille*Taille)
{Affichage des résultats} 'Traitement : calcul de l’IMC
IMC = Poids / (taille * taille)
Afficher(« Bonjour »,Nom, « ! »)
Afficher(« Vous mesurez »,Taille, «m et
pesez »,Poids, « kg »)
Afficher(« Votre IMC est de », IMC ) 'Affichage des résultats
MsgBox ("Bonjour" & Nom & "!")
SI IMC<18.5 Alors MsgBox ("Vous mesurez" & taille & "m et
Afficher(« Résultat : Insuffisance pesez" & Poids & "kg")
pondérale »)
SI IMC>18.5 And IMC<24.99 Alors If (IMC < 18.5) Then
Afficher(« Résultat : Corpulence normale ») MsgBox(« Résultat : Insuffisance
SI IMC>=25 Alors pondérale »)
Afficher(« Résultat : Surpoids ») Else
SI IMC>=30 Alors If (IMC > 18.5 AND IMC > 24.99) Then
Afficher(« Résultat :Obésité ») MsgBox(« Résultat : Corpulence
normale »)
FSI Else
FIN If (IMC >= 25) Then
MsgBox(« Résultat : Surpoids »)
Else
If (IMC >= 30) Then
MsgBox(« Résultat :Obésité »)
End If
End if
End if
End if
End Sub
Exercice N°3
Reprendre le même exercice en utilisant l’instruction Selon pour afficher la classification détaillée de
l’OMS
Bonjour Paul !
Vous mesurez 172 cm et pesez 100.9 kg.
Votre IMC est de 33.8.
Résultat : Obésité de classe I
Algorithme VB
Algorithme CALCUL_IMC Option Explicit 'rend la déclaration des variables
{Calcule l’IMC d’une personne. Entrée:Nom de obligatoire
la personne,sa taille, son poids. Sortie : IMC} Public Sub CALCUL_IMC()
'Calcule l’IMC d’une personne.
VARIABLES 'Entrée : Nom de la personne, sa taille, son poids.
Nom : chaîne de caractères 'Sortie : IMC
Taille, Poids , IMC: réel
Dim Nom As String
DÉBUT Dim taille, Poids, IMC As Single 'Type réel simple
{saisie des données} précision
Afficher(« Entrez votre nom ») 'saisie des données
Saisir(Nom) Nom = InputBox(" Entrez votre nom ")
Afficher(« Entrez votre poids ») Poids = InputBox(" Entrez votre poids ")
Saisir(Poids) taille = InputBox(" Entrez votre taille ")
Afficher(« Entrez votre taille »)
Saisir(Poids) 'Traitement : calcul de l’IMC
{Traitement : calcul de l’IMC} IMC = Poids / (taille * taille)
IMC ←
Poids/(Taille*Taille) 'Affichage des résultats
{Affichage des résultats} MsgBox ("Bonjour" & Nom & "!")
MsgBox ("Vous mesurez" & taille & "m et pesez" &
Afficher(« Bonjour »,Nom, « ! ») Poids & "kg")
Afficher(« Vous mesurez »,Taille, «m et
pesez »,Poids, « kg ») If (IMC < 16.5) Then
Afficher(« Votre IMC est de », IMC ) MsgBox(«Résultat : Insuffisance pondérale
sévère »)
SI IMC<16.5 Alors Else
Afficher(« Résultat : Insuffisance pondérale If (IMC > 16 AND IMC < 16.99) Then
sévère ») MsgBox(« Résultat : Insuffisance pondérale
SI IMC>16.0 And IMC<16.99 Alors modérée »)
Afficher(« Résultat : Insuffisance pondérale Else
modérée ») If (IMC > 17 AND IMC < 18.49) Then
SI IMC>17.0 And IMC<18.49 Alors MsgBox(« Résultat : Insuffisance
Afficher(« Résultat : Insuffisance pondérale pondérale légère »)
légère ») Else
SI IMC>18.5 And IMC<24.99 Alors If (IMC > 18.5 AND IMC > 24.99) Then
Afficher(« Résultat : Corpulence normale ») MsgBox(« Résultat : Corpulence normale »)
SI IMC>25 And IMC<29.99 Alors Else
Afficher(« Résultat : Pré-obésité ») If (IMC > 25 AND IMC < 29.99) Then
SI IMC>30 And IMC<34.99 Alors MsgBox(« Résultat : Pré-obésité »)
Afficher(« Résultat : Obésité de classe I») Else
SI IMC>35.0 And IMC<39.99 Alors If (IMC > 30 AND IMC < 34.99) Then
Afficher(« Résultat : Obésité de classe II») MsgBox(« Résultat :Obésité de classe I»)
SI IMC>40 Else
Afficher(« Résultat : Obésité de classe III») If (IMC > 35 AND IMC < 39.99) Then
MsgBox(« Résultat :Obésité de classe
FSI II»)
FIN Else
If (IMC >= 40) Then
MsgBox(« Résultat :Obésité de
classe III»)