Vous êtes sur la page 1sur 4

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

Module : Informatique L. Belkhodja / S. Reguig


Durée : 1h45 09/06/2014

EXAMEN SEMESTRE2
Exercice 1 : (6pts)

Alors que vous quittez le village, les villageois vous offrent de nombreux cadeaux : provisions,
vêtements chauds, boissons... Vous ne pourrez jamais porter tout cela tout seul et vous décidez donc
de donner une partie de ces objets à votre robot, après les avoir rassemblés en de gros paquets, tous
de même poids. Aura-t-il la force de tout porter ?

Ce que vous devez faire :

-Réaliser un programme en C qui va aider ce robot à décider de porter cette charge ou pas.
-Votre programme lira deux entiers : le nombre de paquets et le poids de chaque paquet.
-Si le poids total est strictement supérieur à 105 Kg, votre programme devra alors afficher le texte
"Surcharge !".

int i;
int main()
Exercice 2 : (8pts) {
scanf("%d",&N);
1) Exécuter le programme test.c suivant P1=0 ;
pour N=5 P2=1 ;
1) Exécuter le même programme ensuite for(i=N;i>=1;i--)
pour N=10 {if (i %2==0) P1=P1+i;
else P2=P2*i;}
2) Que fait exactement ce programme
printf("P1 = %d ",P1);
printf("P2= %d ",P2);
system("PAUSE")
}

Exercice 3 : (6pts)


Traduire ces instructions algorithmiques en instructions écrites en langage C (a,b,x,y de type reel et
mot de type entier long)

1. si ( (a>b) et ((x>0) ou (y<5))) alors xy^(1/2) ; ab*2/x ; sinon ecrire(" Retaper la valeur de a") ;
finsi ;
2. lire(mot) ;
3. pour k :100 à -100, pas -2 faire

Notes:
- Les calculatrices et les téléphones portables sont strictement interdits
- Faites attention à l’écriture des majuscules, minuscules et la ponctuation.
IMSI-Oran – Tronc commun- 1 ère année LMD - Semestre 2 (2012-2013)
Module : Informatique L. Belkhodja / S.Bennziane
Durée : 1h15 N.Tari

CORRIGE DE L’EXAMEN DU SEMESTRE2


Exercice 1 : (6pts)

int nombre_paquets,i; 1pt déclarations


float poids_paquet;
int main()
{
scanf("%d",&nombre_paquets); 0.5 pt lecture

poids_total=0;
for(i=1;i<= nombre_paquets;i++)
{ 3.5 pts traitement
scanf("%f",&poids_paquet);
poids_total=poids_total+poids_paquet;
}

if (poids_total>105) printf("SURCHARGE!!!! "); 1pt condition

system("PAUSE");
return 0;
}

Corrigé de l’exercice 2 : (8pts)

1) Exécution pour N=5 3pts

N I P1 P2 Condition Exécutable
5 0 1
5 1*5=5 vrai
4 0+4=4 vrai
3 5*3=15 vrai
2 4+2=6 vrai
1 15*1=15 vrai
0 Arrêt de la boucle Faux
P1=6 P2=15

Notes:
- Les calculatrices et les téléphones portables sont strictement interdits
- Faites attention à l’écriture des majuscules, minuscules et la ponctuation.
1) Exécution pour N=10 3pts

N I P1 P2 Condition Exécutable
10 0 1
10 0+10=10 vrai
9 1*9=9 vrai
8 10+8=18 vrai
7 9*7=63 vrai
6 18+6=24 1
5 63*5=315 vrai
4 24+4=28 vrai
3 315*3=945 vrai
2 28+2=30 vrai
1 945*1=945 vrai
0 faux P1=30 P2=945

1) Que fait ce programme 2pts

Ce programme calcule et affiche la somme des nombres pairs et le produit des nombres
impairs
P1= N+(N-2)+…….+6+4+2 (Avec N pair)
P2=Nx+(N-2)x……x5x3x1 (Avec N impair)

Notes:
- Les calculatrices et les téléphones portables sont strictement interdits
- Faites attention à l’écriture des majuscules, minuscules et la ponctuation.
Corrigé de l’exercice 3 : (6pts)

1. si ( (a>b) et ((x>0) ou (y<5))) alors xy^(1/2) ; ab*2/x ; sinon ecrire(" Retaper la valeur de a") ;
finsi ;

if ((a>b) && ((x>y) || (y<5))) { x=sqrt(y) ; a= b *2/x ;}


else printf(" Retaper la valeur de a") ; 3pts
2. lire(mot) ;

scanf("%ld",&mot); 1pt

3. pour k :100 à -100, pas -2 faire

for(k=100;k>=-100;k=k-2) 2pts

Notes:
- Les calculatrices et les téléphones portables sont strictement interdits
- Faites attention à l’écriture des majuscules, minuscules et la ponctuation.