Vous êtes sur la page 1sur 2

Université de Monastir

Faculté des Sciences de Monastir


Département des Sciences de l’Informatique
TD1 : Programmation orientée objet avec Python
Matière : Informatique Classe : LSI2
Prof : Soumaya Gaâliche

Exercice 1 :

Définissez une classe Domino qui permet d’instancier des objets simulant les pièces d’un jeu de
dominos. Le constructeur de cette classe initialisera les valeurs des points présents sur les deux face A
et B du domino.
Deux autres méthodes seront définies :

 Méthode affiche_point() qui affiche les points présents dans les deux faces.
 Méthode valeur() qui renvoie la somme des points sur les deux faces.

Exemple :

>>>d1=Domino(2,6)
>>>d2=Domino(4,3)
>>>d1.affiche_point()
Face A : 2 Face B : 6
>>>d2.affiche_point()
Face A : 4 Face B : 3
>>>print(″Total de points : ″,d1.valeur()+d2.valeur())

Exercice 2:

1) Ecrire une classe Cercle qui permet de manipuler des objets de type cercle caractérisé chacun
par un rayon r. La classe contiendra :
- Un constructeur
- Une méthode surface qui calcule la surface du cercle
- Une méthode perim qui calcule le périmètre du cercle
2) Ecrire les commandes python permettant de :
- Créer deux cercles c1 et c2 de rayons respectifs 4 et 6
- Et de calculer et d’afficher la surface et le périmètre de c1 et c2

Exercice 3:

1) Définir une classe CompteBancaire qui répond aux critères suivants :


 La classe admet un attribut de classe nbcomp (initialisé à 0) qui représente le nombre des
comptes.
 Chaque instance admet les attributs privés : cin, rib, nom, prenom, les attributs protégés :
credit, debit et l’attribut public adresse.
 La valeur de rib sera affectée à partir de nbcomp.
 L’attribut adresse admet la valeur par défaut « Monastir ».
 La classe doit posséder quatre propriétés qui permettent de manipuler (l’accès et la
modification) les attributs cin, rib, nom et prenom. Noter bien que la modification est
interdite pour ces 4 attributs (prévoir un message).
 La classe possède une méthode solde qui permet de calculer le solde d’un compte en
fonction de crédit et débit.
 La classe possède une méthode deposer pour le dépôt d’un montant.
 La classe possède une méthode retirer pour le retrait d’un montant.
 La classe permet de surcharger la méthode spéciale __str__ qui sert à l’affichage des
informations d’un compte bancaire (nom, prenom, cin, rib, solde).

Page 1 sur 2
2) Définir une classe CompteEpargne qui hérite de la classe CompteBancaire sachant qu’une
instance de CompteEpargne admet, outre les attributs hérités, un attribut taux et une méthode
calculeinterets.

Exercice 4 :

1) Ecrie une classe Carte qui représente une carte d’un jeu de cartes. Chaque carte est
caractérisée par :
- Un numéro appelé num compris entre 1 et 13 ;
- Un symbole symb qui peut être un cœur, un carreau, un trèfle ou une pique notés
respectivement ‘c’,’ca’,’t’ et ‘p’.

NB : on suppose qu’il n’y a pas d’erreurs de saisie.

On demande un constructeur et une méthode affich qui affiche sur écran l’intitulé de la carte.

Exemple : Pour num=1 et symb=’p’, on obtient l’as de pique.

NB :Les numéros 11, 12 et 13 sont réservés respectivement aux trois cartes dame, valet et roi
et on rappelle que l’as est la carte numéro 1). On pourra utiliser deux dictionnaire dn et ds qui
stockeront respectivement en clé le numéro entier et le code du symbole et en valeur le
numéro en toute lettre et l’intitulé du symbole.

2) Ecrire une classe Cartes qui permet de créer toutes les cartes d’un jeu en utilisant la classe
Carte. On utilisera un attribut l de type liste pour stocker l’ensemble des cartes. La classe doit
contenir :
- Un constructeur
- Une méthode affich : affiche toutes les cartes
- Une méthode tirer : tire au hasard une carte s’il en existe encore. On utilisera la
commande choice du module random
- Une méthode mélanger : qui utilise la commande shuffle du module random pour
mélanger les cartes.
3) En utilisant les classes définies précédemment, écrire une fonction python appelé main
déclarée sans paramètres qui :
- Crée deux objets Cartes nommés C1 et C2 pour permettre à deux joueurs de simuler le jeu
de cartes ;
- Alloue à chaque joueur la possibilité de mélanger ses cartes ;
- Par la suite, tirer chacun une carte et de calculer les scores s1 et s2 des deux joueurs en se
basant sur le principe suivant : Le joueur qui tire la carte ayant un numéro supérieur à
celle tirée par l’autre gagne un point.
- Ce principe est répété jusqu’à ce qu’on finit de tirer toutes les cartes.

NB : Appelez la fonction main().

Page 2 sur 2