Académique Documents
Professionnel Documents
Culture Documents
EXAMEN DE SEMESTRE 2
int N, I, CPT ;
int main () 1. Exécuter ce programme pour N=5.
{
printf(”Entrez le nombre N :”) ; 2. Exécuter le même programme pour N=6.
scanf(”%d”,&N) ;
CPT=0 ; 3. Remplacer Message1 et Message2 par la
for (I=1 ; I<=N ; I++) fonction du programme.
if (N%I==0) CPT=CPT+1 ;
if (CPT==2) printf(”Message1 \n”) ; 4. Translater l’instruction for de ce programme
else printf(”Message2 \n”) ; en instruction écrite en langage algorithmique.
system(”PAUSE”) ;
}
3. La boucle suivante s’arrêtera-t-elle, ou est-ce une boucle infinie ? Expliquer pourquoi.
A 0 ;
B 2 ;
TANTQUE (B >A) FAIRE A A* B ;
FIN TANTQUE ;
BON COURAGE
Corrigé de l’exercice1:
7 faux
En langage algorithmique
pour i :1 à N , 1 faire si N mod 2= 0 alors cptcpt+1 ; finsi ; finpour ;
Corrigé de l’exercice2:
int N,i,car; 1.25
int main()0.25
{ 0.25
printf("CALCUL DU CARRE DU NOMBRE N \n");
printf("Donner la valeur de N : ");
scanf("%d",&N); 1
car=0; 1
for (i=1;i<=N;i++)
car=car+i; 3
for (i=N-1;i>=1;i--)
car=car+i;
printf("le carre du nombre N=%d",car);
system("PAUSE");
}0.25
Corrigé de l’exercice3:
3. Cette boucle est infinie puisque la condition B>A est toujours vérifiée : A étant toujours remis à 0
(2 pts)
A 0 ;
B 2 ;
TANTQUE (B >A) FAIRE A A* B ;
FIN TANTQUE ;