Vous êtes sur la page 1sur 4

IMSI-Oran – Tronc commun- 1 ère année LMD - Semestre 2 (2014-2015)

Module : Informatique L. Belkhodja /S . Reguig


Durée : 1h30

RATTRAPAGE DU SEMESTRE 2
Exercice 1 : (7 pts)
1. Traduire l’algorithme calcul suivant écrit en pseudo langage en un programme écrit en
langage C.
2. Exécuter le programme traduit pour a=2 et b=3
Algorithme : calcul;
VAR a,b : réel ;
Début
Lire(a) ;
Lire(b) ;
a ← 2*a^2+b-1 ;
b ← a-3*b+1 ;
si (a>b) alors si (b>0) alors aa /5*b ;
finsi ;
sinon bb /5*a ;
finsi ;
Ecrire(a,b) ;
Fin.

Exercice 2 : (7pts)


Un vendeur de pièces électroniques expédie une quantité (q) de pièces avec un prix unitaire
(p) suivant la condition :
Si le nombre de pièces achetées dépasse 100 alors il remet à l’acheteur 20% du total de la
commande (tc), sinon, si le nombre de pièces dépasse 50 il remet à l’acheteur 10% de (tc).
Ecrire un programme en C qui permet de calculer et d’afficher le montant final de la facture
de l’acheteur (mff).

Exercice 1: (6 pts)
Ecrire un programme en langage C qui calcule et affiche Z exprimée ainsi :
n
2
Z=π +∑ 2
k=1 4−8∗k
IMSI-Oran – Tronc commun- 1 ère année LMD - Semestre 2 (2014-2015)
Module : Informatique L. Belkhodja /S . Reguig
Durée : 1h30

CORRIGE DE l’EXAMEN DU SEMESTRE 2

Corrigé de l’exercice1:

int N,i; float S; 0.75


int main()0.25
{ 0.25
printf("CALCUL DE L'APPROXIMATION RATIONNELLE S \n");
printf("Donner la valeur de N : "); 0.5
scanf("%d",&N); 0.5
S=4; 1
for (i=1;i<=N;i++) 1
S=S+8/(1-16*pow(i,2)); 2
printf("S=%f",S); 0.5
system("PAUSE");
}0.25

Corrigé de l’exercice2:

1) Un langage portable dépend du type de la machine 1


2) if ((max - min< 5) && (max==2 || min !=-6)) max= max % 10 ; 2
else {
min=min mod 2 ;
max=max mod 2 ;
}

3) Déclaration : double X ; 0.5


IMSI-Oran – Tronc commun- 1 ère année LMD - Semestre 2 (2014-2015)
Module : Informatique L. Belkhodja /S . Reguig
Durée : 1h30

Lecture : scanf("%lf",&X); 0.5


4) Z=-3 en mémoire 1

Corrigé de l’exercice3:

1. Le programme : 4.5

int N,d,k,i; 0.25


int main()0.25
{0.25
printf("Donner la valeur de n ");0.25
scanf("%d",&N); 0.25
d=N-5; 0.25
for (i=d-1;i<=N;i++) 1
printf("%d",i); 0.5

k=N+5; 0.25
for (i=N+1;i<=k ;i++)1
printf("%d",i);

}0.25

2. Exécution pour N=5 2pts

N d K i Condition1 Condition2 Ecran


5 0 -1 vrai
0 vrai
1 vrai Donner la
2 vrai valeur de n
3 vrai 5
4 vrai
5 vrai
6 Faux -1 0 1 2 3 4 5 6 7 8 9 10
Arrêt de la
boucle1
10 6 Vrai
7 Vrai
8 Vrai
IMSI-Oran – Tronc commun- 1 ère année LMD - Semestre 2 (2014-2015)
Module : Informatique L. Belkhodja /S . Reguig
Durée : 1h30

9 Vrai
10 Vrai
11 Faux
Arrêt de la
boucle2

3. Exécution pour N=10 2pts

N d K i Condition1 Condition2 Ecran


10 5 4 vrai
5 vrai
6 vrai Donner la valeur
7 vrai de n
8 vrai 5
9 vrai 4 5 6 7 8 9 10 11 12 13 14 15
10 vrai
11 Faux
Arrêt de la
boucle1
15 11 Vrai
12 Vrai
13 Vrai
14 Vrai
15 Vrai
16 Faux
Arrêt de la
boucle2

4. Que fait ce programme ? 0.5


Ce programme affiche les N-6 nombres avant N et N+5 nombres après N

Vous aimerez peut-être aussi