UNIVERSITÉ DE SHERBROOKE
DÉPARTEMENT D’INFORMATIQUE
CQP 112
Laboratoire/Devoir #7 : Classes en Python
Hiver 2017
Le but de ce laboratoire est de vous familiariser avec la lecture et l’écriture de scripts Python,
utilisant les classes.
Ce laboratoire devra être complété avant le 13 avril 2017 à 12h00.
Chaque groupe doît m’envoyer par courriel à [email protected], les fi-
chiers générés au cours de ce laboratoire.
Exercice 1 : classe Pile
Les piles et les files sont des structures de données classiques permettant de stocker des éléments
pour les retirer ensuite dans un ordre dépendant de l’ordre de stockage. Une pile fonctionne suivant
le principe LIFO (Last In First Out), ce qui signifie que les derniers éléments ajoutés seront les
premiers à être retirés de la pile. À l’opposé, une file fonctionne suivant le principe FIFO (First In
First Out), ce qui signifie que les premiers éléments ajoutés seront aussi les premiers à être retirés.
Par exemple, si pest une objet de type pile, que les valeurs 1, puis 2, puis 3, sont stockées dans
p, alors le premier élément retiré de psera 3. Si après avoir retiré 3, on stocke la valeur 4dans p,
alors pcontiendra les valeurs 1,2et 4, et le prochain élément retiré de psera 4.
Si lest une objet de type liste, que les valeurs 1, puis 2, puis 3, sont stockées dans l, alors le premier
élément retiré de lsera 1. Si après avoir retiré 1, on stocke la valeur 4dans l, alors lcontiendra les
valeurs 2,3et 4, et le prochain élément retiré de lsera 2.
1. Écrire un programme pile.py dans lequel est définie une classe Pile contenant les attributs
et méthodes suivants :
elements : liste d’entiers.
ajouter_element(elem) : méthode permettant d’ajouter l’entier elem au début de la
liste d’entiers.
retirer_element() : méthode retirant le premier élément de la liste d’entiers et retour-
nant la valeur de l’élément retiré.
taille() : méthode retournant le nombre d’éléments contenus dans la liste d’entiers.
ajouter_Pile(autre_pile) : méthode retirant les éléments de autre_pile pour les
ajouter au fur et à mesure dans l’objet Pile appelant.
1
2. Récupérer le programme utilisation_pile.py à partir du site Web du cours et le placer
dans le même répertoire que le programme pile.py, puis exécuter le script
utilisation_pile.py en écrivant le résultat dans un fichier sortie_pile.txt.
Pour faire cela, taper au terminal la commande python utilisation_pile.py > sortie_pile.txt
3. Copier votre programme pile.py dans un fichier file.py et modifier le programme file.py pour
définir une classe File contenant les attributs et méthodes suivants :
elements : liste d’entiers.
ajouter_element(elem) : méthode permettant d’ajouter l’entier elem à la fin de la liste d’en-
tiers.
retirer_element() : méthode retirant le premier élément de la liste d’entiers et retournant la
valeur de l’élément retiré.
taille() : méthode retournant le nombre d’éléments contenus dans la liste d’entiers.
ajouter_File(autre_file) : méthode retirant les éléments de autre_file pour les ajouter au
fur et à mesure dans l’objet File appelant.
4. Récupérer le programme utilisation_file.py à partir du site Web du cours et le placer dans
le même répertoire que le programme file.py, puis exécuter utilisation_file.py en écrivant le
résultat dans un fichier sortie_file.txt.
Pour faire cela, taper au terminal la commande python utilisation_file.py > sortie_file.txt
Exercice 2 : Classe Rationnel
Un nombre rationnel est un nombre qui peut s’exprimer sous la forme d’un fraction n
dnet
dsont des nombres entiers (avec dnon nul), nappelé le numérateur et dle dénominateur.
1. Récupérer le programme rationnel.py à partir du site Web du cours et y définir une classe
Rationnel contenant les attributs et méthodes suivants :
num : entier.
den : entier.
additioner(autre_Rationnel) : méthode réalisant l’addition de l’objet Rationnel ap-
pelant avec autre_Rationnel, et stockant le résultat de l’addition dans l’objet Rationnel
appelant. Rappel : a
b+c
d=a×d+c×b
b×d.
multiplier(autre_Rationnel) : méthode réalisant la multiplication de l’objet Rationnel ap-
pelant avec autre_Rationnel, et stockant le résultat de la multiplication dans l’objet Rationnel
appelant. Rappel : a
b×c
d=a×c
b×d.
simplifier() : méthode réalisant la simplification de l’objet Rationnel appelant. Rappel : a
b=
a
pgcd(|a|,|b|)
b
pgcd(|a|,|b|)
. La fonction pgcd est déjà définie dans le programme rationnel.py.
2. Récupérer le programme utilisation_rationnel.py à partir du site Web du cours et le
placer dans le même répertoire que le programme rationnel.py, puis exécuter
utilisation_rationnel.py en écrivant le résultat dans un fichier sortie_rationnel.txt.
Pour faire cela, taper au terminal la commande python utilisation_rationnel.py > sortie_rationnel.txt
Exercice 3 : Soumission
1. Créer une archive nommée Labo7_NomEtudiant.tgz (remplacer NomEtudiant par votre
nom) contenant tous les fichiers générés au cours de ce laboratoire :
pile.py,file.py,rationnel.py,sortie_pile.txt,sortie_file.txt,sortie_rationnel.txt
2. M’envoyer l’archive par courriel à l’adresse [email protected].
2
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !