Vous êtes sur la page 1sur 26

Dev-Informatique

Réalisé par : HACHIMI SAFAE


Module N°13 : Programmation Orientée Objet
Chapitre : 2
EXERCICE1 :

1°)-Créer la classe Rectangle , qui a les champs : Hauteur , Largeur

2°)-Ajouter les méthodes pour calculer la surface et le périmètre

3°)-Ajouter un objet Rectangle

4°)-Demander à l’utilisateur de définir les valeurs de propriétés de l’objet crée .

5°)-Afficher les informations de l’objet crée

CPRRECTION EX1 :
class Rectangle {

public float Hauteur ;

public float Largeur ;//METHODE SURFACE

public float Surface(){

float S =Hauteur * Largeur ;

return S ;

}//METHODE PERIMETRE

public float Périmètre(){

float P =(Hauteur +Largeur )*2;

return P;

}//METHODE AFFICHE

public String Affiche(){

Return (‘’Hauteur :’’+Hauteur +’’\t’’+’’Largeur :’’+Largeur);}

}
class Program{//APPEL METHODE Main

public static void Main(String[] args){

Rectangle R = new Rectangle();

Console.WriteLine(‘’donner la hauteur :’’);

R.Hauteur = float.Parse(Console.ReadLine());

Console.WriteLine(‘’donner la largeur :’’);

R.Largeur = float.Parse(Console.ReadLine());

Console.WriteLine(R.Affiche()+’’\nLa Surface est :’’+R.Surface()+’’\nLe périmètre est :’’+R.Périmètre());

Console.ReadLine();

}
EXERCICE2 :

1°)-Créer la classe Stagiaire qui a les propriétés suivants :

Nom,Prénom,Age,Note :Tableau de taille5

2°)-Ajouter les méthodes suivantes :

 CalculMoyenne : qui permet de retourner les moyennes des notes du stagiaires

 ValiderInscription : Retourne true ou false


 Si l'âge du stagiaire est entre 18 et 25 return true
 Sinon return false

 Affichage de nom , prénom, âge , Moyenne des notes

CORRECTION EX2 :
class Stagiaire{ public Boolean ValiderInscription(){

public String Nom; if((Age >18)&&()){

public String Prénom; return true;}

public int Age ; else{

public float[]Note =new float[5]; return false ;}}

public float CalculMoyenne(){

int S =0; float M=0;

for(int i=0;i<5 ;i++){

S+=Note[i];

M=S/5;

retrun M ;}
public String Affichage(){

String str=‘’ ’’;

str=‘’Le nom du stagiaire est :’’+Nom+’’\nLe prénom du stagiaire est :’’+Prénom+

’’\nL’age du stagiaire est :’’+Age+’’\La moyenne du stagiaire est :’’+CalculMoyenne());

return str;

}
//1ère Version Console.WriteLine(‘’ le nombre du stagiaire :’’);

class Program{ int N=int.Parse(Console.ReadLine());

//APPEL METHODE for(int i=0;i<N ;i++){

public static void Main(String[] args){ Console.WriteLine(‘’ donner le nom :’’);

Stagiaire S = new Stagiaire (); S.Nom=Console.ReadLine();

Console.WriteLine(‘’ donner le nom :’’); Console.WriteLine(‘’ donner le prénom :’’);

S.Nom=Console.ReadLine(); S.Prénom=Console.ReadLine();

Console.WriteLine(‘’ donner le prénom :’’); Console.WriteLine(‘’ donner l’age :’’);

S.Prénom=Console.ReadLine(); S.Age=int.Parse(Console.ReadLine());

Console.WriteLine(‘’ donner l’age :’’); for(int j=0;j<5;j++){

S.Age=int.Parse(Console.ReadLine()); Console.WriteLine(‘’la valeur indice i’’);

S.Note[i]=int.Parse(Console.ReadLine());

}}
Console.WriteLine(S.Affichage());

if(S.ValiderInscription()==true){

Console.WriteLIne(‘’’Inscription Valider’’);}

else{

Console.WriteLine(‘’Inscription Invalide !!!!’’);}

Console.ReadLine();

}
//2ème Version : for(int i=0;i<N ;i++){

class Program{ S= new Stagiaire();

//APPEL METHODE Console.WriteLine(‘’ donner le nom :’’);

public static void Main(String[] args){ S.Nom=Console.ReadLine();

List<Stagiaire>L = new List<Stagiaire>(); Console.WriteLine(‘’ donner le prénom :’’);

Stagiaire S ; S.Prénom=Console.ReadLine();

Console.WriteLine(‘’ le nombre du stagiaire :’’); Console.WriteLine(‘’ donner l’age :’’);

int N=int.Parse(Console.ReadLine()); S.Age=int.Parse(Console.ReadLine());

for(int j=0;j<5;j++){

Console.WriteLine(‘’la valeur indice i’’);

S.Note[i]=int.Parse(Console.ReadLine());

} L.add(S);

}
//1ère Méthode

for(int =0;i<L.Count ; i++){

Console.WriteLine(L[i].Affichage());

//2ème Méthode

foreach( Stagiaire ST in L){

Console.WriteLine(ST.Affichage());

Console.ReadLine();

}
EXERCICE 3 :

1°)-Créer la classe Produit qui a les propriétés suivantes : Numéro,Intitule ,Prix

2°)-Ajouter les constructeurs : Par défaut

D’initialisation

De copie

3°)-Ajouter les méthodes suivantes :

 Affichage

 PrixParRéduction : qui retourne prix après réduction :


 Si le prix entre 200 et 1000  La réduction est 10%
 Si le prix >1000  La réduction est 20%
 Si le prix <200  il n’a aucune réduction

 RechercheProduit : Retourne true ou false Si l’intitule du produit correspond tout au paramètre à


l’intitule passé en paramètre .
class Produit{ public Produit(Produit P){

public int Numéro; this.Numéro = P.Numéro ;

public String Intitule ; this.Intitule = P.Intitule ;

public float Prix ; this.Prix = P.Prix ;

public Produit(){ }

Numéro = 1 ; public String Affichage(){

Intitule = ‘’Produit1 ‘’; return(‘’Numéro :’’+Numéro+

Prix =100;} ’’\nIntitule :’’+Intitule+’’\nPrix’’+Prix);}

public Produit(int Num,String I , String Pr ){

this.Numéro = Num;

this.Intitule = I;

this.Prix = Pr; }
public float PrixParReduction(){ public bool RechercherProduits(String C){

float Px =Prix ; if(Intitule.Contains(C)){

if((Prix>=200)&&(Prix<=1000)){ return true;}

Px=Prix-(Prix*0.01);} else {

if((Prix>1000){ return false ;}

Px=Prix-(Prix*0.02);} }

return (Px); }

}
class Program{

public static void Main(String[] args){

Produit P1 = new Produit P1();

Console.WriteLine(P1.Affichage();

Produit P2 = new Produit (2 , ‘’Produit2’’, 400);

Console.WriteLine(P2.Affichage());

Produit P3 = new Produit(P2);

Console.WriteLine(P3.Affichage());

P3.Prix = 100 ;

Console.WriteLine(‘’Prix Par Réduction\n’’);

Console.WriteLine(P1.Intitule +’’:’’+P1.PrixParReduction());

Console.WriteLine(P2.Intitule +’’:’’+P2.PrixParReduction());

Console.WriteLine(P3.Intitule +’’:’’+P3.PrixParReduction());
if (P3.RechercherProduits(‘’Prod’’)){

Console.WriteLine(‘’Le produit Prod Existe ‘’);}

else {

Console.WriteLine(‘’Le produit n’existe pas !!! ‘’);}

Console.ReadLine();

}
EXERCICE4 :

1°)-Créer la classe Personne puis a les propriétés : Cin , Non , Age

 Ajouter les constructeurs

 Ajouter le méthode Affichage

2°)-Créer le classe Document qui a les propriétés suivantes : Titre , NbPages , Auteur (deTypePersonne) ,
Etat(Boolean) , Client(de Type Personne)

 Ajouter les constructeurs

 Ajouter les méthodes suivantes :

+++Affichage

+++EmprunterDocument : qui prend en paramètre un objet de type Personne puis retourne true ou false

Si l’age du Personne est >20 : la méthode affecte au client la personne passé en paramètre et échanger la propriété
Etat , puis retourne true

Sinon , retourne directement false .

+++ChangerEtat : prend en paramètre un booléen , puis change la valeur de la propriété Etat .


CORRECTION EX4 : public Personne(Personne P){

class Personne{ this.Cin = P.Cin ;

public String Cin ; this.Nom = P.Nom ;

public String Nom ; this.Age = P.Age ; }

public int Age ; public String Affichage(){

public Personne(){ return (‘’Cin :’’+this.Cin+’’\nNom:’’+this.Nom+

this.Cin =‘’UAXXX’’; ’’\n Age : ‘’+this.Age);

this.Nom=‘’AAA’’; }

this.Age = 34 ;} }

public Personne(String C ,String N, int A){

this.Cin = C ;

this.Nom = N ;

this.Age = A ; }
class Document{

public String Titre ;

public int NbPages ;

public Personne Auteur ;

public Personne Client ;

public bool Etat ;

public Document(){

Titre =‘’Book ‘’;

NbPages = 29 ;

Auteur = new Personne();

Client = new Personne();

Etat= true;}
1ère Version : Constructeur d’Initialisation

public Document(String T , int NBP ,Personne A, Personne C , bool E){

Titre = T ;

NbPages = NBP ;

Auteur = A ;

Client =C ;

Etat = E ;

}
2ème Version : Constructeur d’initialisation

public Document(String T , int NBP ,String CinAuteur,String NomAuteur ,int AgeAuteur ,

String CinClient,String NomClient ,int AgeClient , bool E){

Titre = T ;

NbPages = NBP ;

Auteur = new Auteur(CinAuteur , NomAuteur , AgeAuteur );

Client = new CLient(CinClient , NomClient , AgeClient );

Etat = E ;

}
public bool EmprunterDocument(Personne P)

{ if(P.Age>=20){

Client =P;

Etat=true;

return true ;}

else {

return false ;}

public void EchangerEtat(bool e){

Etat=e;}

public String Affichage(){

return(‘’Titre :’’+Titre+’’\nNbPAge :’’+NbPAges+’’\nAuteur :’’+Auteur.Affichage()+’’\nClient :’’+

Client.Affichage());}

}
EXERCICE5 :

1°)-Créer la compte qui a les propriétés suivantes de type private :

Numéro , Solde , Propriétaire(de type Personne ,public)

Ajouter les constructeurs

 Ajouter les accesseurs et les mutateurs sachant que le champs Numéro est en lecture seule .

 Ajouter les méthodes suivantes :

+++Affichage : qui permet d’afficher le numéro , solde et le nombre propriétaire .

+++Débiter(float Somme) : qui permet de débiter la somme passé en paramètre

+++Créditer(float Somme) : qui permet de créditer la somme passé en paramètre

+++Débiter(float Somme , Compte C) : qui permet de débiter la somme passé en paramètre vers le compte C

+++Créditer(float Somme, Compte C) : qui permet de créditer la somme passé en paramètre

Vers le compte C
CORRECTION EX5 : public Compte(){

class Compte{ _Numéro=1 ;

private int _Numéro ; _Solde=1000;

private double _Solde ; Propriétaire =new Personne();}

public Personne Propriétaire ; public Compte(int N , double S , Personne P ){

public int getNuméro(){ _Numéro = N ;

return _Numéro ;} _Solde = S ;

public double getSolde(){ Propriétaire = new Personne(P);}

return _Solde ;} public Compte(Compte C){

public void setSolde(double S){ _Numéro = N ;

_Solde=S ;} _Solde = S ;

Propriétaire = C.Propriétaire ;}
public String Affichage(){

return (‘’Nom: ‘’+Propriétaire.Nom + public void Créditer(float Somme, Compte C){

’’\nLe solde est :’’+_Solde );} C. _Solde = C._Solde - Somme ;

public void Débiter(float Somme){ _Solde = _Solde + Somme ;}

_Solde = _Solde – Somme ;

public void Créditer(float Somme){

_Solde = _Solde + Somme ;

public void Débiter(float Somme, Compte C){

C. _Solde = C._Solde + Somme ;

_Solde = _Solde – Somme ;}


DEV-INFORMATIQUE
MERCI POUR VOTRE
ATTENTION

Vous aimerez peut-être aussi