Vous êtes sur la page 1sur 2

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Institut Supérieur des Etudes Technologiques de Kélibia


Département Technologies de l’Informatique

Classes : TI Heure : 13H00


Niveau : S1 TC Durée : 1h
Date : 8 novembre 2021 Nombre de pages : 2
Enseignant(s) : MEJRI, BEN Devoir Surveillé Documents : Non autorisés
MHAMMED, LARNAOUT, Algorithmique et Programmation 1 UE : Algorithmique et
NACEF Programmation 1

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 test(int a, int *b, float c, int *d)


{
a= a+2;
b*= b;
c= b*1.2 - a;
d=15;
}

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);
}

1- Quelles sont les erreurs de ce programme ? Proposez une correction de ce


programme.

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.

Exercice 3 (8 points)

Ecrivez un algorithme modulaire qui permet de saisir n chiffres, et pour chaque chiffre Nb,
effectuer les traitements suivants :

- Afficher tous ses multiples inférieurs à 20.


- Afficher la première séquence dont la somme est le triple de nb.
- Afficher les cinq premiers nombres composés de trois chiffres où nb est l’un de leurs
chiffres et la différence entre chaque deux nombres consécutifs est au moins égale à
40.

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

Vous aimerez peut-être aussi