Vous êtes sur la page 1sur 5

Département Math Info Agadir 2014-2015

Faculté des sciences Ibn Zohr SMA5

Session Normal Automne 2014


Programmation Orienté Objet / C++
EXERCICE 1
En C++ pour lire la variable x au clavier on peut utiliser :
A) cin>> x >> endl ;
B) cin << x ;

D) cin >> &x ;


EXERCICE 2
Lesquelles de ces définitions de fonctions sont correctes si elles sont sensées calculer << x >> réel
élevé à a puissance << N >> entière ?

B) puissance ( float X ; int N)


C) puissance () ;
D) void puissance ( float X, int N)
EXERCICE 3
vous avez affecté l’adresse de Value à P, quelle instruction affichera le contenu pointé par P
A) cout << P ;
B) cout << *Value,
C) cout << &P ;

EXERCICE 4
void fonction(int a[]) { a[1]=10 ;}
void main(void) {
int T[]{1,2,3} ;
fonction(T) ;
cout<< T[1] ;}
Quelle est la valeur affichée ?

B) 1
C) 2
D) c’est une erreur
EXERCICE 5
Qu’affichent les instructions suivantes :
int i=10 ;
while(i>0) { i=i-4 ;
cout << i ;}
A) 10 8 4 2
B) 10 6 2

D) 6 2
EXERCICE 6
void g(int *p) {*p=12 ;}
void main (){
int *p ;
g(p) ;
cout<< *p ; }
Qu’est ce qui s’affiche ?
A) Erreur
B) NULL

D) 0×7ffd8000 (l’adresse de p)
EXERCICE 7
Soit le programme suivant
int t[3] = { 7, 8, 9} ;
Que vaut t[2]+t[3] ?
A) 17
B) 9
C) NULL

EXERCICE 8
Considérons l’en-tête de fonction suivante :
void Fiche(float *X,float *Y, char Z, Char R) ;
considérons les déclarations suivantes :
float A,C ;
int J ;
char B,H ;
Lequel de ses appels de fonctions est juste ?
A) Fiche(A,C ; J ; B,H) ;
B) Fiche(&A, &B , C , J ,H) ;
Fiche
D) Fiche(*A, *C , J , B,H)
EXERCICE 9
Soit le programme ci-dessous :
float z=2 ,
float produit2( float a, float b) {
int p ; float z=5 ;
p=a*b ;
return (z*p) ;
}
void main ()
{int m ; float z ;
z=3 ;
m=produit2(2,2) ;
cout<<m ;
}
ce programme affiche :
A) 8
B) 10
C) 12

EXERCICE 10
#include <stdio.h>
float x ;
void Affectation() {
float x=5 ;
}
void main() {
x=3 ;
affectation() ;
cout << x ;
}
ce programme affiche :
A) 3
B) 5
C) Rien

EXERCICE 11
void fonction (int x) {
x=x+10 ;
cout <<x ; }
int fonction2 (int y) {
return y+20 ; }

int main (void) {


int x=1 ;
fonction (x) ;
cout << x ;
x= fonction2 (x)
cout << x ;
return 0 ;
}

A) 11 11 31
B) 11 11 21

D) c’est une erreur


EXERCICE 12
Objet et classe : quelle proposition est fausse ?
A) Un objet est une instance d’une classe
B) Un objet s’obtient en appelant le constructeur de la classe

D) Un objet hérite de sa propre classe


EXERCICE 13
Quelle proposition correspond le mieux à la définition d’un objet ?

B) Un objet est une ‘’ struct ’’


C) Un objet est soit un ensemble de données, soit in ensemble de traitements
D) Un objet est le reflet d’une valeur présente en base
EXERCICE 14
Qu’est-ce que l’héritage ?
A) L’héritage permet ç un objet de récupérer la valeur des attributs d’un autre objet

C) L’héritage correspond à l’instanciation d’une classe


D) L’héritage est un moyen de changer le type des objets
EXERCICE 15
Qu’est-ce qu’une super-classe ?
A) Une classe dont toutes les autres héritent
B) Une classe qui référence les autres classes d’un programme

D) Une classe plus rapide qu’une autre


EXERCICE 16
A quoi sert un constructeur ?

B) Le constructeur est le point d’entrée d’une application Orientée-Objet


C) Le constructeur est une méthode qui peut accéder aux attributs privés d’une classe
D) Le constructeur est un objet unique d’une classe servant à construire les autres instances de
cette classe
EXERCICE 17
Qu’est-ce que le polymorphisme ?

B) Polymorphisme signifie qu’un objet peut avoir plusieurs états


C) Polymorphisme signifie qu’une opération peut avoir plusieurs formes au sein de la même
classe
D) Polymorphisme signifie qu’une opération peut être divisée en sous taches qui s’exécutent en
parallèle

============================
Soit la classe :
class complexe
{
private :
int img,reel ;
public :
Complexe (int a, int b)

};
============================
EXERCICE 18
Laquelle des définitions de constructeurs avec paramètres est correcte :
A) complexe ::complexe(int a, int b) { img = a ; reel = b ;}
B) complexe(int a , int b) { img = a ; reel = b ;}
C) void complexe :: complexe(int a, int b) { img = a ; reel = b ;}
D) void complexe(int a , int b) img(a) , reel(b) ;
EXERCICE 19 Accesseurs
Quelle instructions est correct pour accéder à l’attribut img ;
A) double Get_img() return img ;
B) int Get_img {return img} ;
C) void Get_img() return img ;
int Complexe::Get_img() {return img}
EXERCICE 20 mutateurs
Quelle instructions est correct pour modifier l’attribut img ;
A) void Set_img() { reel = a ; img = b ;}
B) int Set_img(int a, int b) { return img } ;
C) void Complexe :: Set_img(int a, int b) { return img } ;
void Complexe :: Set_img(int a) { img = a } ;

Réalisé par : [Abdelkarim Lamghari] le : 24/02/2015 21:56

Vous aimerez peut-être aussi