0% ont trouvé ce document utile (0 vote)
102 vues2 pages

TP Programmation C : Macros et Préprocesseur

Ce document présente deux exercices sur l'utilisation du préprocesseur C et des macros. Le premier exercice concerne le calcul du volume de sphères à l'aide de macros. Le second exercice porte sur la définition de macros pour la saisie et l'affichage de données, ainsi que pour le calcul d'une fonction dans une boucle.

Transféré par

Moad Frij
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
102 vues2 pages

TP Programmation C : Macros et Préprocesseur

Ce document présente deux exercices sur l'utilisation du préprocesseur C et des macros. Le premier exercice concerne le calcul du volume de sphères à l'aide de macros. Le second exercice porte sur la définition de macros pour la saisie et l'affichage de données, ainsi que pour le calcul d'une fonction dans une boucle.

Transféré par

Moad Frij
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

Université Mohammed Premier Filière : GE-ER II/ S3

Ecole Supérieur de Technologie, Oujda     Année Universitaire: 2018/2019


Département de Génie Appliquée TP : Programmation C

Série 1
Préprocesseur et classes de mémorisation
Exercice 1 :
Au niveau global, et en utilisant la directive "# define" :
1- Donner la valeur 3 à N, 3.1415 à pi et 2 à R ;

2- Définir une macro nommée "cube" qui calcule le cube d'un nombre R où R est passé en
argument de la macro ;

3- Définir une macro nommée " somme " qui calcule la somme de deux nombres (a et b) où a
et b sont passés en argument de la macro ;

4- Définir une macro nommée "volume" qui calcule le volume d'une sphère (V=(4πR3)/3) où
R est passé en argument de la macro  et R3 est remplacé par la macro cube;

5- Définir une macro nommée "Affiche_F" qui affiche une variable x de type float avec 2
chiffres après la virgule. x est passé en argument.

Dans la fonction main () :


1- Après déclaration des variables nécessaires, effectuer une boucle ayant un indice i qui varie
entre 1 et N (compris) et par appel de différentes macros programmées ci-dessus, calculer la
somme (S) des volumes de N sphères, ayant le même rayon.
2- Par appel de la macro "Affiche_F", afficher S la somme des volumes des trois sphères.

Exercice 2 :

1- Au niveau global, par utilisation de typedef, remplacer float par F et int par I.
Dans la suite du programme, utiliser les nouveaux symboles de float et int.
2- En utilisant la directive "# define", donner la valeur 76 à N.

3- Définir une macros nommée "transfert" qui calcule le produit exp(i/y)*cos(2iy), où y et i sont
passés en argument de la macro.

4- Définir une macros nommée "Affiche_F" qui affiche une variable x de type float avec 2 chiffres
après la virgule. x est passé en argument.

5- Définir une macro nommée "Affiche_I" qui affiche une variable i de type int. i est passé en
argument.

6- Définir un symbole nommé "Retour" qui effectue un retour à la ligne pendant l’affichage.

7- Définir un symbole nommé "Printf_I" qui permet d’afficher la phrase "donner un entier".

8- Définir un symbole nommé "Printf_F" qui permet d’afficher la phrase "donner un reel" .

9- Définir une macros nommée "Saisi_I" qui permet de saisir une variable k de type int. k est passé
en argument.

1
Université Mohammed Premier Filière : GE-ER II/ S3
Ecole Supérieur de Technologie, Oujda     Année Universitaire: 2018/2019
Département de Génie Appliquée TP : Programmation C

10- Définir une macros nommée "Saisi_F" qui permet de saisir une variable x de type float. x est
passé en argument.

11- Dans la fonction main() :

11-1 Par appel de différentes macros programmées ci-dessus, saisir un entier k et un réel x.

11-2 Programmer une boucle ayant un indice i qui varie entre 0 et N et qui appelle la macro
"transfert" où y = 0.2*k*x. La valeur de retour de la macro "transfert" sera stockée dans un
tableau T[N].

Pour plus de rapidité pour l’exécution de la boucle sur i, utiliser la classe de


mémorisation register.

11-3 Par appel de la macro "Affiche_F", afficher les éléments du tableau T[N] sur l’écran.

Le compilateur doit quitter la boucle lorsque la valeur absolue de la macro "transfert"


dépasse 10.

11-4 Par appel de la macro "Affiche_I", afficher le nombre de passage dans la boucle.

Vous aimerez peut-être aussi