Nom : ... Réservé à l'administration :
Prénom : ...
Date de naissance : .../.../... CODE : ...
Auteur : Mohamed Messabihi Matière : Initiation à l'algorithmique Date 15 Juin 2015
Durée 1h30
Université Abou Bakr Belkaïd - Tlemcen Faculté des Sciences 1èreAnnée MI Semestre 1
Examen de rattrapage
Aucun document n'est autorisé Répondez directement sur le sujet
Tout appareil électronique doit être éteint (téléphone, ordinateur, tablette,...)
1 Bizarre 4 pts, U20'
Qu'ache le programme suivant :
1 # include <stdio .h>
2 int i=2, j=4, k = 6 ; 3 int biz(int a, int b){
4 a = i ;
5 j = a+3 ; 6 return a + b ;
7 }8 int arre (int b, int c){
9 b = j ;
10 k = k+c ; 11 return b+c ;
12 }13 int bizarre (int a, int b, int c){
14 return biz(a,b)*arre(b,c);
15 }
16 void main() 17 {
18 printf ("i=%d, j=%d, k=%d, bizarre =%d !", i, j, k, bizarre (i, j, k)) ; 19 }
Écrivez votre réponse ici : i = ..., j = ..., k = ..., bizarre = ... !
2 Nombre des chires 4 pts, U25'
1. Écrire une fonction nbrChires qui prend en entrée une valeur entière N (positive ou négative) et qui renvoie le nombre de chires de N comme résultat. Exemple : N=923815 contient 6 chires.
2. Écrire un programme qui demande à l'utilisateur un entier puis ache le nombre de ses chires.
1 # include <stdio .h>
2 int nbrChiffre(int N){
3 45 6 78 109 1112 13 }
14 main(){
15 1617 1819 }
B Mohamed.Messabihi@gmail.com Bon Courage !
3 Questions diverses 12 pts, U45'
Pour chacune des questions suivantes, cochez une est une seule réponse ( 2 pt par question).
1. Quel est le résultat de S après l'exécution des instructions suivantes :
1 void main() 2 {3 int i;
4 int S = 0;
5 for (i=1; i < 6; i=i+2) 6 S = S + i;
7 }
2 15 2 9 2 11 2 7 2 8 2. Quel est l'achage produit par les instructions suivantes :
1 for(i=0; i<20; i++) { 2 switch (i){
3 case 0 : i += 1; break ;
4 case 2 : i += 2; break ;
5 case 5 : i += 3; break ;
6 default : i += 4; break ;
7 }
8 printf("%d ", i);
9 }
2 0 1 2 3 4 8 12 16 20 2 1 3 6 10 14 18 22 2 1 4 8 12 16 20 2 0 2 5 9 13 17 21 2 1 4 8 13 18 23
3. Quel est le résultat de l'exécution du programme ci-dessous :
1 void Triple (int a) { 2 a = a*2;
3 printf ("%d ", a);
4 }5 double Double (int y) { 6 return y*3;
7 }
1 void main () { 2 int x= 1;
3 Triple (x);
4 printf ("%d ", x);
5 x = Double (x);
6 printf ("%d ", x);
7 }
2 3 3 6 2 3 1 2 2 2 1 3 2 2 1 2 2 Autre
4. Pour déclarer une fonction exposant qui prend en argument un réel x et un entier positif n et renvoie la valeur de xn on écrit :
1 a. double exposant(double x, int n);
2 b. exposant(double x, int n, int r);
3 c. void exposant(double x^n);
4 d. int exposant(double n, int x);
2 a 2 b 2 c 2 d 5. Quelle est la valeur de Toto(0) :
1 int Toto(int a){
2 printf("a = %d ", a);
3 if (1 > 0)
4 return 8;
5 return 7;
6 }
2 7 2 0 2 Void 2 15 2 8 6. Quelle est la valeur de Loulou(1) :
1 int Loulou(int a){
2 printf("a = %d ", a);
3 if (a > 0)
4 return f(a - 1) + 1;
5 return 5;
6 }
2 4 2 3 2 5 2 6 2 Rien
B Mohamed.Messabihi@gmail.com Bon Courage !