2023-2024
PROGRAMMATION PYTHON
TD/TP6 TIC-1
Objectifs:
Compréhension des concepts fondamentaux de la programmation orientée objet.
Créer et manipuler des classes et des objets.
Manipuler des listes et des dictionnaires pour stocker et manipuler des informations
liées aux objets créés.
Exercice 1 (Examen 2023) :
1. Développez une classe Personne définie par les attributs suivants :
Cin : numéro de la carte d’identité
nom : le nom de la personne
pre : le prénom de la personne
adr : l’adresse
tel : le numéro de téléphone
a. Définissez un constructeur (paramétré) de cette classe. (1.5 pts)
b. Ecrivez une méthode Affiche() qui affiche, pour un objet de type Personne
p=(cin=78414111, nom=’Ben Salah’, pre=’Med’, adr=’BP 1000, Tunis’,
tel=25000111), une chaine de la forme : (1.5 pts)
NCIN : 78414111
Nom & Prénom : Ben Salah Med
Contact : BP 1000, Tunis – Tél : 25000111
1
2023-2024
2. Nous souhaitons développer une classe Etudiant qui représente un étudiant à l’université.
Les matières suivies dans cet établissement sont résumées dans le tableau ci-dessous.
Code de la matière Coefficient
Math 3
Python 2
BD 1
Linux 2
ang 1
Nous vous demandons de définir une classe Etudiant qui hérite de la classe
Personne et qui y rajoute les attributs suivants :
Un attribut public numcarte : numéro de la carte étudiant
Un attribut public matières : de type tuple qui stocke les codes des
matières (rempli par les valeurs présentes dans le tableau ci-dessus)
Un attribut public coeff : de type tuple qui stocke les coefficients des
matières (rempli par les valeurs présentes dans le tableau ci-dessus)
Un attribut privé appelé Notes : de type dictionnaire initialement vide
avec comme clés les codes des matières et comme valeurs les notes
correspondantes.
a. Définissez le constructeur de cette classe. (1.5 pts)
b. Développez une méthode ajout-note() qui saisit le code d’une matière et la
note correspondante en effectuant les contrôles nécessaires, puis l’ajoute dans
le dictionnaire Notes. (2.25 pts)
c. Développez une méthode calcul_moy() qui retourne la moyenne des notes. (2.25 pts)
Exercice 2 (Examen 2022) :
Nous supposons créer un ensemble de classes qui permettent d’effectuer la gestion
d’une bibliothèque. Pour ce faire, nous vous demandons de :
1. Définir une classe Exemplaire définie par :
Deux attributs publics num et dispo (de type booléen, indiquant si le livre est
disponible ou pas),
Un constructeur (1 pt)
Une méthode aff pour l’affichage (1 pt)
Exemple : pour l’objet e =(‘AZ789EE-1’,True) : on obtient l’affichage suivant :
N°Exemplaire : AZ789EE-1
Etat : Disponible
2
2023-2024
2. Définir une classe Livre définie par les attributs publics suivants :
isbn : code du livre
titre : titre du livre
auteur : auteur du livre
nbex : nombre d’exemplaires initialement nul
Et l’attribut privé :
L : de type liste initialement vide et qui servira à stocker les exemplaires qui
seront créés ultérieurement.
Prévoir un constructeur (1 pt) et les méthodes suivantes :
affLiv : affiche les attributs isbn, titre et auteur du livre. (1 pt)
affEx : affiche les informations relatives aux exemplaires du livre. (1 pt)
ajouterEx : ajoute un exemplaire du livre à la liste des exemplaires. (1.5 pt)
NB : pour le livre l=(‘AZ78TT2’,’Programmer en Python’,’AB CB’, 3), le numéro du
premier exemplaire doit avoir la forme : ‘AZ78TT2-1’, celui du deuxième est ‘AZ78TT2-2’
et ainsi de suite…
emprunter : retourne l’attribut num du premier exemplaire disponible en
effectuant les mises à jour nécessaires et affiche le message « Livre nom
disponible » dans le cas échéant. (1 pt)
rendre : permet de modifier les attributs de l’exemplaire numéro num afin
qu’il devient disponible de nouveau. (1.5 pt)
3. Ecrivez un programme principal qui :
a. Demande à l’utilisateur le nombre de livres à gérer (n). (0.25 pt)
b. Instanciez n objets de type Livre. Ces objets seront stockés dans un dictionnaire
de type dict[str:Livre] avec : (1.5 pt)
Les titres des livres, de type str, comme clés.
Les détails des livres, de type Livre, comme valeurs associées.
c. Demande à l’utilisateur de saisir le titre du livre à emprunter. Effectuer l’emprunt
et afficher les détails des exemplaires de ce livre (si le livre existe). Sinon, le
programme affiche « Ce livre n’existe pas ». (1.25 pt)
3