Université de Monastir
Ecole Nationale d’Ingénieurs de Monastir A. U. : 2025/2026
TP 2 Python
Exercice 1:
1. Définir une classe Employé caractérisée par les
attributs: Matricule, Nom, Prénom, DateNaissance, DateEmbauche, Salaire.
2. Définir un constructeur permettant d’initialiser les attributs de la méthode par des valeurs saisies par
l’utilisateur.
3. Ajouter à la classe la méthode Age( ) qui retourne l’âge de l’employé.
4. Ajouter à la classe la méthode Anciennete( ) qui retourne le nombre d’années d’ancienneté de
l’employé.
5. Ajouter à la classe la méthode AugmentationDuSalaire( ) qui augmente le salaire de l’employé en
prenant en considération l’ancienneté.
Si Ancienneté < 5 ans, alors on ajoute 2%. - Si Ancienneté < 10 ans, alors on ajoute 5%. - Sinon, on
ajoute 10%.
6. Ajouter la méthode AfficherEmployé() qui affiche les informations de l’employé comme suit :
- Matricule : […]
- Nom complet : [NOM Prénom]
- Age : […]
- Ancienneté : […]
- Salaire : […]
Le nom doit être affiché en majuscule. Pour le prénom, la première lettre doit être en majuscule, les
autres en minuscule.
7. Ecrire un programme de test pour la classe Employé.
On saisit les données de deux employées E et E2, on affiche leurs informations puis on compare
leurs anciennetés et leurs salaires.
Exercice 2:
Définir la classe ville pour représenter une ville caractérisée par un nom, une altitude, les températures de
12 mois.
Ecrire un script qui saisit un entier N>2 et qui remplit une liste L par les données de N ville.
Déterminer et afficher ensuite la ville la plus froide (ou les villes les plus froides) au cours de l’année.
Exercice 3 :
1. Définir une classe Client avec les attributs suivants : CIN, Nom, Prénom, Tél.
2. Définir un constructeur permettant d’initialiser tous les attributs.
3. Définir la méthode Afficher ( ) permettant d’afficher les informations du Client en cours.
4. Créer Une classe Compte caractérisée par son solde et un code qui est incrémenté lors de sa création
ainsi que son propriétaire qui représente un client.
5. Définir un constructeur permettant de créer un compte en indiquant son propriétaire.
6. Ajouter à la classe Compte les méthodes suivantes :
1
• Une méthode permettant de Crediter() le compte, prenant une somme en paramètre.
• Une méthode permettant de Crediter() le compte, prenant une somme et un compte en
paramètres, créditant le compte et débitant le compte passé en paramètres.
• Une méthode permettant de Debiter() le compte, prenant une somme en paramètre
• Une méthode permettant de Débiter() le compte, prenant une somme et un compte bancaire
en paramètres, débitant le compte et créditant le compte passé en paramètres
• Une méthode qui permet d’afficher le résumé d’un compte.
• Une méthode qui permet d’afficher le nombre des comptes crées.
7. Créer un programme de test pour la classe Compte. On commence par créer des clients CL1 et CL2,
puis on crée deux Comptes CP1 et CP2 pour CL1 et CL2. On réalise des opérations d’ajout et de
retrait dans CP1, puis on affiche un résumé du compteCP1.
Exercice 4 :
La classe Robot modélise l'état et le comportement de robots virtuels. Chaque robot correspond à un objet
qui est une instance de cette classe.
Chaque robot :
• a un nom (attribut nom : chaîne de caractères)
• a une position : donnée par les attributs entiers x et y, sachant que x augmente en allant vers l'Est et y
augmente en allant vers le Nord,
• a une direction : donnée par l'attribut direction qui prend une des valeurs "N", "E", "S" ou "O"
• peut avancer d'un pas en avant : avec la méthode sans paramètre avance()
• peut tourner à droite de 90° pour changer de direction (si sa direction était "N" elle devient "E", si
c'était "E" elle devient "S", etc.) : avec la méthode sans paramètre droite(). Les robots ne peuvent
pas tourner à gauche.
• peut afficher son état en détail.
Le nom, la position et la direction d'un robot lui sont donnés au moment de sa création.
1) Définir la classe Robot.
2) Dans un programme principal créer deux robots R1, R2. Faites avancer le premier le premier de 10 pas
vers le nord et le deuxième de 5 pas vers le sud et il tourne à droite puis il avance de 5 pas vers l’ouest.
3) On veut améliorer ces robots en en créant une Nouvelle Génération, les RobotNG qui ne remplacent
pas les anciens robots mais peuvent cohabiter avec eux. Les RobotNG savent faire la même chose
mais aussi :
- Avancer de plusieurs pas en une seule fois grâce à une méthode avance() qui prend en paramètre le
nombre de pas
- Tourner à gauche de 90° grâce à la méthode gauche()
- Faire demi-tour grâce à la méthode demiTour()
- Pour le RobotNG, on peut activer un mode « Turbo » et le désactiver. Dans ce mode, chaque pas est
multiplié par 3. L'appel à la méthode afficher() devra indiquer à la fin si le robot est en mode Turbo
ou pas.
Écrire cette nouvelle classe en spécialisant celle de la première question, sans la modifier.
4) Dans le programme principal saisir un entier N >2 puis remplir une liste L. faites avancer tous les
robots de la liste de 10 pas puis afficher leurs états.