Académique Documents
Professionnel Documents
Culture Documents
La clarté et la simplicité des réponses sont tenues en compte , toute fraude ou tentative de fraude sera sévèrement sanctionnée
L’ÉCHANGE DE MATÉRIEL (STYLO, CALCULATRICE, ETC.) ENTRE ÉTUDIANTS AU COURS DE L’ÉPREUVE EST INTERDIT.
Exercice 1 (5 points)
Soit le programme suivant :
void main( )
{
int x, y, z;
float k, m ;
x=3; y=2; z=5; k=m=1;
test(1, 2, 2.5, 5);
test( x, y, k, z);
printf(x=%d, y=%d, z=%d, k=%f, m=%f);
test(x, y, z, x);
printf(x=%d, y=%d, z=%d, k=%f, m=%f);
test(x, x, m, z);
printf(x=%d, y=%d, z=%d, k=%f, m=%f);
test(x, y, k, y);
printf(x=%d, y=%d, z=%d, k=%f, m=%f);
}
2- Une fois que vous aurez corrigé les erreurs, donnez les valeurs des
variables x, y, z , k et m à la suite de chaque appel de la fonction test()?
Exercice 2 (7 points)
Page 1|2
Ecrire un programme en langage C permettant d'effectuer la transformation des coordonnées
cartésiennes (x,y) en coordonnées polaires (r,t). Cette transformation se fera en utilisant les
formules suivantes :
r2 = x2+y2
t = arctg (y/x) auquel il faut ajouter π si x < 0. Mais si x = 0 alors :
t=π/2 si y > 0
t=-π/2 si y < 0
t n'existe pas si y = 0
RQ. La fonction arctg() est disponible en langage C sous la dénomination atan() au niveau de
la bibliothèque math.h.
Ecrivez un algorithme modulaire qui permet de saisir n chiffres, et pour chaque chiffre Nb,
effectuer les traitements suivants :
Exemple :
n=3
Nb= 2 :
- Les multiples de 2 qui sont inférieurs à 20 sont : 2, 4, 6, 8, 10, 12, 14, 16, 18
- 3*2= 6= 1+2+3
- Les cinq premiers nombres de 3 chiffres où l’un des chiffres est 2 sont : 102, 142, 182,
230, 270.
Nb= 5
- Les multiples de 5 qui sont inférieurs à 20 sont : 5, 10, 15
- 3*5= 15= 1+2+3+4+5
- Les cinq premiers nombres de 3 chiffres où l’un des chiffres est 5 sont : 105, 145, 185,
225, 265.
Nb=9
- Les multiples de 9 qui sont inférieurs à 20 sont : 9, 18
- 3*9= 27= 2+3+4+5+6+7
- Les cinq premiers nombres de 3 chiffres où l’un des chiffres est 9 sont : 109, 149, 189,
229, 269.
Bon Travail
Page 2|2