Vous êtes sur la page 1sur 3

Université Sidi Mohamed Ben Abdellah

Session normale

Faculté des sciences Dhar El Mahraz

Juin 2016

Département informatique

SMP S4

Examen d’Informatique 4 Langage C/C++

Nom :

 

Prénom :

 

CNE :

 

Code :

 

Salle :

 

N° d’examen :

 

Filière :

SMP

Semestre :

S4

Module :

Informatique 2 (C/C++)

Date :

 

Exercice 1 : Questions de cours (7pts)

Entourer tous les choix corrects :

1. Le rôle d’un compilateur est de : b

a. Traduire l’algorithme en langage C

b. Traduire le programme C en langage machine

c. Corriger les erreurs de programmation

d. Exécuter le programme

2. Dans un programme C, break permet de : a,c

a. Sortir d’une boucle

b. Arrêter un programme

c. Sortir d’un block switch

d. N’a aucun effet

3. Un commentaire : b,d

a. Sert à déclarer les variables du programme

b. Peut être utilisé pour expliquer les variables

c. Peut être mis uniquement dans l’entête du programme

d. Sert à expliquer le programme

4. L’instruction pow(x,y) : c

a. Calcule la racine carrée de x ;

b. Calcule y à la puissance de x ;

c. Calcule x à la puissance de y ;

d. Nécessite de rajouter #include<string.h>

1/3
1/3

5. Quels sont les déclarations fausses parmi les suivantes : a, b, d

a. int mon nom ;

b. long return ;

c. char Amphi_h1 ;

d. float pesée ;

6. Pour choisir entre les types float et double pour déclarer un nombre réel : a, d

a. On étudie la mantisse et l’exposant du nombre

b. On divise le nombre sur 2, et on analyse le résultat

c. float est acceptable pour les nombres nécessitant le type double

d. double est acceptable pour les nombres nécessitant le type float

7. Après l’instruction suivante

a. z est égale à 1

b. z est égale à 2,

char z=(2>1) ?’x’ :’y;

: c

c. z est égale à ‘x’

d. z est égale à ‘y’

Exercice 2 : Questions pratiques (13pts)

8. Lire le programme suivant pour comprendre son objectif, puis compléter par les instructions qui manquent. Pour les instructions (a, b, c et d) l’ordre n’est pas important :

……(a)… ……(b)… ……(c)… ……(d)… Int main(){ char message[501] ; int len ; cout<<"Bonjour, donner votre message :" ; (e)… … (f)… cout<<"La longueur de votre message est :"<<len ; return EXIT_SUCCESS ;

}

a.

#include<iostream>……………………………………………………………………

b.

using namespace std ; …………………………………………………………………

c.

#include<string.h>

……………………………………………………………………

d.

#include<stdlib.h>……………………………………………………………………

e.

cin>>message…………………………………………………………………………

f.

len=strlen(message) ;…………………………………………………………………

2/3
2/3

9. Le code suivant a pour objectif de calculer le produit des éléments non nuls d’un tableau d’entiers. La taille du tableau est saisie au début. A chaque fois que l’utilisateur introduit une taille inférieure à 0 ou supérieur à 50, le programme lui redemande de donner la taille. L’utilisateur saisi ensuite les éléments du tableau. Ensuite le programme calcule, puis affiche le produit des éléments non nuls du tableau. Compléter par les instructions qui manquent :

#include<stdio.h>

int main(){ int T[50], i, N, prod; do{

 

printf("\n Donner la taille du tableau (50 maximum):") ; ……(a)…… }While(……(b)……) ;

printf("Donner les éléments du tableau :") ; for(i=0 ;i<N ;i++){ ……(c)…… ……(d)……

}

……(e)…… for(i=0 ;i<N ;i++){ if(……(f)……){ prod = …….(g)……. ;

}

}

printf("le produit des éléments non nuls du tableau est : %d",prod) ; return 0 ;

}

a.

scanf("%d",&N) ;………………………………………………………………………

b.

N<0 || N>50 ……………………………………………………………………………

c.

printf("T[%d]=",i) ; ……………………………………………………………………

d.

scanf("%d",&T[i]) ; ……………………………………………………………………

e.

prod=1; …………………………………………………………………………………

f.

T[i] !=0 …………………………………………………………………………………

g.

Prod*T[i] ; ………………………………………………………………………………

Bonne chance,

3/3
3/3