0% ont trouvé ce document utile (0 vote)
11 vues2 pages

Gestion des Émissions TV en Python

Transféré par

Imane Rachid
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)
11 vues2 pages

Gestion des Émissions TV en Python

Transféré par

Imane Rachid
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

TD2-Programmation orientée Objet en Python

Exercice 1
L’objectif de ce TD est de développer pour une chaîne de télévision une application
permettant de gérer la programmation journalière d’émissions télévisuelles. Pour simplifier le
problème, toutes les heures ou les durées des émissions sont représentées par des valeurs
entières (13, 15, 22…).
Une émission peut être de trois types : divertissement, fiction et reportage.
Une émission de type divertissement :
• Dure obligatoirement 2 heures
• Possède un nom
• Et est systématiquement présentée par un animateur.
Une fiction se définit par :
• Le nom du film,
• L’année de sa réalisation,
• Le nom du réalisateur,
• Durée
• Et s’il s’agit ou non d’une rediffusion.
Enfin un reportage est défini par :
• Un nom,
• Un thème (fixé parmi les trois thèmes : information, animalier, culturel),
• Et une durée.
Questions :
1) Créer un module media qui va contenir les différentes émissions possibles
2) Proposer une solution fondée sur les héritages entre classe pour représenter toutes les
émissions possibles. Donner pour chaque classe, la liste de ses attributs et les
paramètres de ses constructeurs (la méthode init).
Comment coderiez-vous le fait que le thème d’un reportage soit prédéfini et partagé
par toute les instances de la classe reportage ?
3) Redéfinir pour chaque classe la methode str qui permet de retourner les informations
de chaque type d’émission (fait appel à str du classe mère si nécessaire)
4) La programmation d’une émission dans la journée dépend du type d’émission mais se
traduit par le fait de lui fixer une heure de début de diffusion et de calculer l’heure de
fin.
• Les divertissements durent systématiquement 2 heures, mais on ne peut les
programmer qu’entre 18h et 23h.
• Les fictions qui ne sont pas des rediffusions ne se programment qu’en début de
soirée, c’est-à-dire à 21h, alors qu’une rediffusion peut se programmer
n’importe quand dans la journée.
• Enfin, les reportages ne se programment qu’à des heures creuses (14h –18h et
0h-6h) et s’ils ont une durée inférieure, égale à 1heure.
a) Créer une fonction boolean programmer(self,heureDebut) fondée sur la notion
de classe abstraite et de polymorphisme permettant de décrire la programmation ou
non de n’importe quelle émission à une heure de début donnée.

5) Dans un autre module broadcast,


a) Créer une classe emission_calendar qui a un attribut de type Emission avec
startTime et endTime
b) Ajouter la fonction str qui retourne les informations d’un objet emission_calendar
c) Créer une classe DailyBroadcast qui a comme attribut une Liste de type
emission_calendar et une date de diffusion.
d) Créer une fonction qui rajoute la programmation d’une émission
e) Créer une fonction permettant d’annuler la programmation d’une émission.
f) Créer une fonction boolean programee(self,emission) permettant de retourner l’état
d’une émission(programmée ou non)
g) Ajouter la fonction str qui retourne le programme de la journée trié par l’heure
début de chaque émission.
h) Créer un programme de test permettant d’ajouter un ensemble d’émission de
différents types et de les programmer.
i) Afficher heure par heure les émissions programmées pour une journée de votre
choix

Exercice 2 :
- Créer une classe personne qui contient les informations d’une personne comme Cin,
nom, prénom, Age, fonction avec la méthode init et la méthode str.
- Créer une classe Parent qui contient : père, mère et une liste des enfants
- Ajouter les différents constructeurs ainsi que la méthode str()
- Ajouter une méthode boolean addEnfant(Personne) permettant d’ajouter un enfant à la
liste des enfants tout en respectant les contraintes suivantes :
▪ L’âge de l’enfant ne doit pas être supérieur à l’âge de sa mère ou son père
▪ La différence de l’âge entre l’enfant et ses parent (père et mère) doit être >18
▪ L’objet enfant ne doit pas égale à l’un des objets qui joues le rôle de son père
ou sa mère (penser à redéfinir les fonctions de comparaison en se basant sur
CIN pour faire la différence)
Si toutes ces contraintes sont vérifiées, l’enfant est ajouté à la liste des enfants
- Créer une classe de test permettant d’ajouter un objet parent avec la liste des enfants et
puis afficher ce parent.

Vous aimerez peut-être aussi