0% ont trouvé ce document utile (0 vote)
7 vues5 pages

TP 1 - Python

Ce document présente un TP sur la programmation orientée objet en Python, visant à comprendre les classes, objets, attributs et méthodes. Il inclut des exercices de modélisation d'un système universitaire et d'un système mécatronique, avec des instructions sur l'installation de Python et des environnements de développement. Les exercices demandent d'implémenter des classes et des méthodes spécifiques pour chaque système modélisé.

Transféré par

salma.labzioui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues5 pages

TP 1 - Python

Ce document présente un TP sur la programmation orientée objet en Python, visant à comprendre les classes, objets, attributs et méthodes. Il inclut des exercices de modélisation d'un système universitaire et d'un système mécatronique, avec des instructions sur l'installation de Python et des environnements de développement. Les exercices demandent d'implémenter des classes et des méthodes spécifiques pour chaque système modélisé.

Transféré par

salma.labzioui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université Ibn Tofail

Faculté des Sciences de Kénitra

PROGRAMMATION AVANCEE & LUNIX


Pr : Akram CHHAYBI

TP Python : Notions de classes et objets


Objectifs du TP

 Comprendre les notions de classe, objet, attribut et méthode en Python


 Savoir modéliser un système simple à l’aide de la programmation orientée objet (POO)
 Faire le lien entre diagramme de classes, diagramme de séquence et implémentation
Python

Avant de commencer les exercices, il est nécessaire d’installer Python et de préparer


l’environnement de travail.

1. Installation de Python

1. Rendez-vous sur le site officiel : [Link]


2. Téléchargez la version stable recommandée (3.x) selon votre système d’exploitation
(Windows, macOS, Linux).
3. Lors de l’installation :
o Cochez l’option “Add Python to PATH” (très important).
o Puis cliquez sur Install Now.
4. Une fois installé, vérifiez la version avec la commande en cmd : python –version

2. Environnement de développement

Vous pouvez utiliser l’un des environnements suivants :

Option 1 : Jupyter Notebook (recommandé pour Data Science


Option 2 : Visual Studio Code
Option 3 : Google Colab (en ligne, sans installation)

Exercice 1 : Système universitaire (modélisation simple)


On considère un système universitaire composé des trois classes suivantes :

1. Étudiant
o Attributs :
 nom

1
 prenom
 id_etudiant
2. Enseignant
o Attributs :
 nom
 specialite
 id_enseignant
3. Module
o Attributs :
 code_module
 intitule
 volume_horaire

Travail demandé

1. Écrire les classes Étudiant, Enseignant et Module en Python.


2. Pour chaque classe, définir un constructeur __init__ permettant d’initialiser les attributs.
3. Ajouter 2 à 3 méthodes descriptives pour chaque classe (sans implémentation
complexe).

Description des méthodes attendues

 Étudiant :
o afficher_infos() : affiche les informations de l’étudiant
o inscrire_module() : permet d’inscrire l’étudiant à un module
 Enseignant :
o afficher_infos() : affiche les informations de l’enseignant
o affecter_module() : affecte un module à l’enseignant
 Module :
o afficher_module() : affiche les informations du module
o modifier_volume() : modifie le volume horaire du module

Exercice 2 : Modélisation d’un système mécatronique

Contexte : On considère une station mécatronique automatisée chargée de surveiller la


température et de piloter des actionneurs afin de garantir un fonctionnement sûr du système
industriel.

Classe Capteur : Représenter un capteur industriel chargé de mesurer une grandeur physique
(ex. température).

2
Attributs

 _id : identifiant unique du capteur


 _valeur : dernière valeur mesurée
 _etat : état courant du capteur

La variable _etat peut prendre uniquement :

 "DESACTIVE" : capteur hors service


 "ACTIVE" : capteur prêt à mesurer
 "EN_COURS" : mesure en cours

Fonctionnalités de capteur :

activer() :

 Met le capteur sous tension


 Change l’état du capteur vers "ACTIVE"
 Exemple : activation d’un capteur de température avant une mesure

desactiver() :

 Coupe le capteur
 Met l’état à "DESACTIVE"
 Exemple : arrêt du capteur lors d’un arrêt machine

lire_valeur() :

 Simule la lecture d’une grandeur physique


 Met à jour l’attribut _valeur
 Met l’état à "EN_COURS" pendant la lecture
 Exemple : lecture d’une température de 65°C

get_etat() :

 Retourne l’état actuel du capteur


 Exemple : vérifier si le capteur est actif avant de lire la valeur

est_valide() :

 Vérifie si la valeur mesurée est dans une plage acceptable


 Retourne un indicateur de validité
 Exemple : température comprise entre 0°C et 80°C

3
Classe Actionneur : Représenter un élément agissant sur le système mécatronique (moteur,
ventilateur, vérin).

Attributs

 _id : identifiant de l’actionneur


 _etat : état courant de l’actionneur

États possibles

 "DESACTIVE" : actionneur à l’arrêt


 "ACTIVE" : actionneur prêt à fonctionner
 "EN_COURS" : actionneur en action
 "DEFAUT" : dysfonctionnement détecté

Fonctionnalités d’un actionneur :

activer() :

 Alimente l’actionneur
 Change l’état vers "ACTIVE"
 Exemple : moteur prêt à démarrer

desactiver() :

 Arrête l’actionneur
 Met l’état à "DESACTIVE"
 Exemple : arrêt du moteur après un cycle

get_etat() :

 Retourne l’état actuel de l’actionneur


 Exemple : vérifier si un ventilateur est en fonctionnement

signaler_defaut() :

 Met l’actionneur en état "DEFAUT"


 Exemple : moteur bloqué ou surchauffé

Classe Controleur_Automate : Analyser les informations issues des capteurs et décider des
actions à exécuter.

Attributs

 _capteurs : liste des capteurs


 _actionneurs : liste des actionneurs
4
Fonctionnalités :

ajouter_capteur(capteur)

 Ajoute un capteur au système


 Exemple : ajout d’un capteur de température (list)

ajouter_actionneur(actionneur)

 Ajoute un actionneur au système


 Exemple : ajout d’un ventilateur (list)

analyser_capteurs()

 Lit les valeurs de tous les capteurs


 Détecte les situations anormales
 Exemple : détection d’une température élevée (si > 80 C)

etat_global()

 Fournit un résumé textuel de l’état du système :


 Si la température est comprise entre 0°C et 20 :
Message retourné : « Système en fonctionnement normal »
 Si la température est strictement supérieure à 20°C et inférieure ou égale à 60°C :
Message retourné : « Système en fonctionnement normal avec surveillance »
 Si la température est strictement supérieure à 60°C et inférieure ou égale à 80°C :
Message retourné : « Alerte : température élevée, système en état critique »

Travail demandé :
Implémenter en Python le système mécatronique décrit précédemment, en respectant l’ensemble
des contraintes de conception, des états définis et des règles de fonctionnement spécifiées

Vous aimerez peut-être aussi