Vous êtes sur la page 1sur 4

Ecole Supérieure Privée des Technologies de l’Information et de Management de Nabeul

Année Universitaire 2020-2021

Examen Session Principale


Janvier 2021
Semestre 1

Documents Autorisés : NON


Matière : Programmation Python
Calculatrice scientifique autorisée : NON
Classe : Info 3 Enseignante : Dhekra EL HAMDI
Durée : 2H Date : 22/01/2020
Nombre de page : 4

NB :
1. L’échange de clés USB, les connexions Internet et réseau ainsi que le partage de documents
sont strictement interdits durant toute l’épreuve.
2. Toute tentative de fraude aboutira à une note de zéro à l’examen.
3. La validation se fera sur place à la fin de l’épreuve avec l’un des enseignants présents.
4. L'étudiant est le seul responsable de sa machine et de son environnement de travail, en cas de panne
(soft ou bien hard) aucune assistance particulière ne sera fournie.
5. L'indentation des scripts Python écrits (fondement du langage) sera prise en considération dans le
barème

Exercice 1 :
On veut calculer la moyenne d'un étudiant. Pour ce faire notre programme permettra de:
- saisir n le nombre de matières.
- stocker dans le tuple TM les n différentes matières saisies tel que chacune est une
chaine alphabétique.
- stocker dans la liste LN les notes saisies des n matières tel que chacune est un réel
positif ou nul inférieur à 20.
- afficher pour chaque matière sa note sur une seule ligne, avec ':' entre eux
Exemple: "chimie:10.25"
"info:16.75"
.....

1/4
- stocker dans la liste LC les coefficients saisis des n matières tel que chacun est un
réel strictement positif.
- construire en compréhension la liste LNC qui est une liste de listes dont chaque
sous-liste contient la note et son coefficient.
Exemple: LNC=[[15.25,4.], [17.15,3.],......]
- calculer la moyenne de l'étudiant en utilisant la liste LNC.

Exercice 2 :

Dans cet exercice, on s’intéresse à la création des classes permettant de modéliser en partie la
gestion d’une société des transports. Elle souhaite mettre en place une application en Python
permettant d’automatiser la gestion de sa clientèle ainsi que les tarifs des tickets de transport
utilisés.

- Créer la classe Client selon le principe suivant :


 Définir le constructeur qui initialise les quatre attributs suivants :
 Cin : une chaine, qui représente le numéro de carte nationale du Client
 Nom : une chaine, qui représente le nom du Client
 Age : un entier, qui représente l’age du Client
 Tarif de base : un réel qui est égale à 0.650
Un client paie un ticket dont le tarif dépend de son âge et d’un tarif de base égal à
0.650

Formule de calcul du tarif des tickets selon l’âge de chaque client:


Si âge <=3 alors tarif = 0,

Si 3< âge <= 7 alors tarif = 0.3 * tarif de base,

Sinon tarif = le tarif de base

.
 Définir une méthode CalculTarif permettant de calculer le tarif du ticket du
client
 Définir une méthode Affichage, qui permet de faire apparaître les propriétés
présentes du client, c’est-à-dire son cin, son nom, son age et son tarif payé.

Exemples d’exécution:

>>>c1 = Client (08132456, ‘Imen’, 24 ans)


>>> c1.Affichage()
>>> c1.CalculTarif(4)

2/4
Exercice3 :

Le but de cet exercice est d’informatiser en partie la gestion d'un restaurant. Pour ce-là on
utilisera la liste Menu regroupant les entrées, les plats et les desserts qui sont représentés à
leur tour par un dictionnaire dont les clés sont les noms des produits servis et les valeurs sont
leurs prix.
Dans ce restaurant , après avoir lu le menu affiché par détail sur l'écran, les clients peuvent
commander une entrée, un plat et un dessert. Pour enregistrer une commande d’un client on
utilisera une liste C. Suite à une commande, notre programme affichera l'addition en détail.
Finalement, pour compter la recette d'une journée, dans une liste LC en retrouvera les totaux
des additions.

Ecrire un script python qui permet de :


- saisir la liste Menu qui contient trois dictionnaire : le premier représente les entrées et
leurs prix, le second représente les plats et leurs prix et le dernier représente les desserts et
leurs prix. Pour chaque dictionnaire la saisie s'arrête quand en tape un nom vide

Exemple:
Menu=[{saladetunisienne:2.500, omlette:200,..},{escalopegrillée:9500, pouletgrillé:7.500...},{gâteau :3.500,
jus:2.500...}]
- affecter à E le dictionnaire des entrées
- affecter à P le dictionnaire des plats
- affecter à D le dictionnaire des desserts

- afficher le Menu en détail comme le montre l'exemple suivant:


Exemple:
Entrées........................................................
salade tunisienne 2.500
omelette 2.000
brik 1.600
....
Plats.............................................................
escalope grillée 9.500
poulet grillé 7.500
.....
Desserts.......................................................
gâteau 3.500
jus 2.500
.....
Dans une journée et pour chaque commande:
- saisir une commande dans la liste C. La commande contient les noms des entrées ,
des plats et des desserts désirés . La saisie s'arrête si on tape un nom vide
Exemple: C=[omelette, poulet grillé, poulet grillé, jus]
- calculer l'addition et afficher l'imprimé de la commande en détail
Exemple:
1 x omelette 2.000
2 x poulet grillé 7.500
1 x jus 2.500

3/4
Total 19.500
- ajouter l'addition à la liste LC
- la journée se termine si on tape 0 à la question " journée terminée?" . et on ajoute
d'autres commandes si on tape 1.
- calculer et afficher la recette Rj de la journée

Bon courage

4/4

Vous aimerez peut-être aussi