IUT R&T - 1ère année - Informatique
Programmation et algorithmique 1


TD n°2 – Structures de contrôle

Exercice 1 : Calcul de l'indice de masse corporelle (IMC).
L'indice de masse corporelle permet d'estimer la quantité de masse grasse de l'organisme à partir du poids et de la taille.
Il est calculé à partir de la formule suivante: IMC = poids/(taille2), où le poids est exprimé en kilogramme et la taille est exprimée en mètre.
L'IMC permet d'estimer l'état nutritionnel et de dépister l'obésité chez un adulte entre 18 et 65 ans, selon le tableau suivant.
ClassificationIMC kg/m2)
dénutrition<16,5
maigreur[16.5;18,5[
normalité[18,5;25[
surpoids[25;30[
obésité
(modérée si moins de 35, sévère sinon)
[30;40[
sur-obésité
(obésité massive)
≥40
1.1. Donner l'algorithme permettant de calculer l'IMC à partir du poids et de la taille d'une personne et d'afficher la classification en fonction du résultat de calcul IMC.
1.2. Traduire cet algorithme en langage C et le tester.

Exercice 2 : Programme de calcul.
2.1. Que fait l'algorithme suivant ? (compléter l'énoncé du résultat)
Algorithme Parités
Donnée : une suite d'entiers V non nuls (saisis au clavier).
Résutat : ...
cpt1← 0;
cpt2← 0;
Répéter
Lire V;
Si V≠0 alors
Si V est pair
alors cpt1← cpt1+1
sinon cpt2← cpt2+1;
jusqu'à V=0;
Si cpt1≥cpt2 alors Afficher "plus de valeurs paires"
sinon Afficher "plus de valeurs impaires".

2.2 Traduire ensuite cet algorithme en langage C et le tester.
2.3. Comment modifier cet algorithme et le programme associé pour qu'il lise au plus dix valeurs V ? exactement dix valeurs V ?

Exercice 3 : Calcul du PGCD.
Le PGCD (Plus Grand Commun Diviseur) de deux entiers peut être calculé par l'algorithme d'Euclide :
Algorithme Euclide
Donnée : deux entiers naturels non nuls a et b.
Résultat :PGCD(a,b).
Tantque (a mod b)≠0 faire
Si a<b alors échanger a et b;
a← (a mod b);
Retourner b.

Traduire cet algorithme en langage C et le tester.

Exercice 4 : Calcul du PPCM.
4.1. Donner un algorithme permettant de calculer et d'afficher le PPCM (Plus Petit Commun Multiple) de deux entiers a et b entrées au clavier.
N.B. Théorème : PPCM(a,b)=ab/(PGCD(a,b)).
4.2. Traduire cet algorithme en langage C et le tester.

Exercice 5 : Calcul de la moyenne d'âge d'un ensemble de personnes.
5.1. Donner un algorithme permettant de calculer et d'afficher la moyenne d'âge d'un ensemble de personnes dont on saisit le nom et l'année de naissance au clavier.
On termine la saisie en entrant "=Fin" à la place du nom.
Le nom de la personne et son âge seront affichés à l'écran au fur et à mesure des saisies, et l'évolution de la moyenne aussi.
5.2. Traduire cet algorithme en langage C et le tester.
N.B. Avec la bibliothèque string.h, la fonction strcmp(s,t) permet de vérifier si deux chaines de caractères s et t ont même contenu (on ne doit pas utiliser le test s==t comme on le ferait pour un nombre ou un caractère). Cette fonction retourne 0 si s et t ont le même contenu.