Corrig Des Tests

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 3

Corrigés des tests Python IPEIN 2016/2017

Corrigés des tests Python

Sommaire
Test1 pour ST2 : .......................................................................................................................................................1
Corrigé : ...............................................................................................................................................................1
Test2 pour SM5 et ST3 :...........................................................................................................................................2
Corrigé : ...............................................................................................................................................................2
Test3 pour ST5 : .......................................................................................................................................................2
Corrigé : ...............................................................................................................................................................2
Test4 pour SM4 et ST1 :...........................................................................................................................................3
Corrigé : ...............................................................................................................................................................3

Test1 pour ST2 :

Définissez une classe Domino() qui permette d'instancier des objets simulant les pièces d'un jeu de
dominos. Le constructeur de cette classe initialisera les valeurs des points présents sur les deux
faces A et B du domino (valeurs par défaut = 0). Deux autres méthodes seront définies :
• une méthode affiche_points() qui affiche les points présents sur les deux faces ;
• une méthode valeur() qui renvoie la somme des points présents sur les 2 faces.
Exemples d'utilisation de cette classe :
1. >>> d1 = Domino(2,6)
2. >>> d2 = Domino(4,3)
3. >>> d1.affiche_points()
4. face A : 2 face B : 6
5. >>> d2.affiche_points()
6. face A : 4 face B : 3
7. >>> print("total des points :", d1.valeur() + d2.valeur())
8. total des points : 15

Corrigé :
1. class Domino:
2. def __init__ (self, A=0, B=0):
3. self.Face_A = A
4. self.Face_B = B
5. def affiche_points(self):
6. print("face A : {0} face B : {1}"\
7. .format(self.Face_A, self.Face_B))
8. def valeur(self):
9. return self.Face_A + self.Face_B

K. GHALI Page 1 sur 3


Corrigés des tests Python IPEIN 2016/2017

Test2 pour SM5 et ST3 :


Définissez une classe CompteBancaire(), qui permette d'instancier des objets tels que compte1,
compte2, etc. Le constructeur de cette classe initialisera deux attributs d'instance nom et solde, avec
les valeurs par défaut 'Ali' et 1000.
Trois autres méthodes seront définies :
- depot(somme) permettra d'ajouter une certaine somme au solde
- retrait(somme) permettra de retirer une certaine somme du solde
- affiche() permettra d'afficher le nom du titulaire et le solde de son compte.
Exemples d'utilisation de cette classe :
1. >>> compte1 = CompteBancaire('Salah', 800)
2. >>> compte1.depot(350)
3. >>> compte1.retrait(200)
4. >>> compte1.affiche()
5. Le solde du compte bancaire de Salah est de 950 dinars.
6. >>> compte2 = CompteBancaire()
7. >>> compte2.depot(25)
8. >>> compte2.affiche()
9. Le solde du compte bancaire de Ali est de 1025 dinars.

Corrigé :
1. class CompteBancaire():
2. def __init__ (self, Nom="Ali", Solde=1000):
3. self.nom = Nom
4. self.solde = Solde
5. def depot(self, somme):
6. self.solde += somme
7. def retrait(self, somme):
8. self.solde -= somme
9. def affiche(self):
10. print("Le solde du compte bancaire de {0} est de {1}
dinars." .format(self.nom, self.solde))

Test3 pour ST5 :


Définissez une classe Voiture() qui permette d'instancier des objets reproduisant le comportement
de voitures automobiles. Le constructeur de cette classe initialisera les attributs d'instance suivants,
avec les valeurs par défaut indiquées : marque = 'Ford', couleur = 'rouge', pilote = 'personne', vitesse
= 0. Lorsque l'on instanciera un nouvel objet Voiture(), on pourra choisir sa marque et sa couleur,
mais pas sa vitesse, ni le nom de son conducteur. Les méthodes suivantes seront définies :
- choix_conducteur(nom) permettra de désigner (ou changer) le nom du conducteur.
- accelerer(taux, duree) permettra de faire varier la vitesse de la voiture. La variation de vitesse
obtenue sera égale au produit : taux x duree. Par exemple, si la voiture accélère au taux de 1,3 m/s2
pendant 20 secondes, son gain de vitesse doit être égal à 26 m/s. Des taux négatifs seront acceptés
(ce qui permettra de décélérer). La variation de vitesse ne sera pas autorisée si le conducteur est
'personne'.
- affiche_tout() permettra de faire apparaître les propriétés présentes de la voiture, c'est-à-dire sa
marque, sa couleur, le nom de son conducteur, sa vitesse.

Corrigé :

K. GHALI Page 2 sur 3


Corrigés des tests Python IPEIN 2016/2017

1. class Voiture():
2. def __init__ (self, marque = 'Ford', couleur = 'rouge'):
3. self.marque = marque
4. self.couleur = couleur
5. self.pilote = 'personne'
6. self.vitesse = 0.
7. def choix_conducteur(self, nom):
8. self.pilote = nom
9. def accelerer(self, taux, duree):
10. if self.pilote == 'personne':
11. print("Cette voiture n'a pas de conducteur!")
12. else:
13. self.vitesse += taux * duree
14. def affiche_tout(self):
15. print("{0} {1} pilotée par {2}, vitesse = {3} m/s."\
16. .format(self.marque, self.couleur, self.pilote,
self.vitesse))

Test4 pour SM4 et ST1 :

1) Ecrire une classe Cercle qui permet de manipuler des objets de type cercle caractérisé
chacun par un rayon « r ». La classe contiendra:
• Un constructeur
• Une méthode « surface » qui calcule la surface du cercle
• Une méthode « perim » qui calcule le périmètre du cercle
2) Ecrire les commandes python permettant de :
• Créer deux cercles « cl » et « c2 » de rayons respectifs 4 et 6
• Et de calculer et d'afficher la surface et le périmètre de cl et c2

Corrigé :

1. from math import pi


2. class Cercle:
3. def __init__ (self, r):
4. self.r = r
5. def surface(self):
6. return pi*self.r**2
7. def perim(self):
8. return 2*pi*self.r
9.
10. >>> c1 = Cercle(4)
11. >>> c2 = Cercle(6)
12. >>> print("La surface de c1 est: {0} \nLe périmètre de c1 est:
{1}".format(c1.surface(), c1.perim()))
13. La surface de c1 est: 50.26548245743669
14. Le périmètre de c1 est: 25.132741228718345
15. >>> print("La surface de c2 est: {0} \nLe périmètre de c2 est:
{1}".format(c2.surface(), c2.perim()))
16. La surface de c2 est: 113.09733552923255
17. Le périmètre de c2 est: 37.69911184307752

K. GHALI Page 3 sur 3

Vous aimerez peut-être aussi