0% ont trouvé ce document utile (0 vote)
66 vues3 pages

TP2 Python

Informatique

Transféré par

ranabergaoui433
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)
66 vues3 pages

TP2 Python

Informatique

Transféré par

ranabergaoui433
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

École nationale d'ingénieurs de Monastir Année universitaire 2022-2023

TP2 :Les structures conditionnelles et itératives,


Fonction, Classes
Enseignante : Ameni Aloui

Exercice 1 :
Pour les trois scripts suivants, dire ce qui est affiché et combien de fois.

For i in range(3) : For i in range(3) :


For i in range(3) :
Print (‘Bienvenue’) Print (‘Bienvenue’)
Print (‘Bienvenue’)
For i in range(4) : For i in range(4) :
Print (‘Au revoir’)
Print (‘Au revoir’) Print (‘Au revoir’)

Exercice 2 :
Réaliser un programme [Link] qui teste si une variable a (de type entier) est un nombre pair
ou impair et affiche les messages adéquats
Exercice3 :
Écrire un script qui, connaissant la taille (en mètres) et la masse (en kg) d’un individu, lui
renvoie sa masse IMC avec un petit commentaire :
• si l’indice IMC est supérieur à 25, le commentaire pourra être : «Vous êtes en
surpoids»
• si l’indice IMC est inférieur à 18.5, le commentaire pourra être : «Voues êtes trop
maigre»
• sinon le commentaire pourra être : «Vous avez une corpulence normale».

Cet algorithme utilisera 3 variables : masse, taille et IMC= masse /taille×taille .


Exercice 4:
On veut écrire un script qui demande à l’utilisateur de deviner un nombre entre 1 et 100 qui a
été choisi aléatoirement. Si la réponse de l’utilisateur est fausse, le programme indique si sa
réponse est trop grande ou trop petite et l’utilisateur peut à nouveau faire une proposition. Le
programme ne doit se terminer que si la bonne réponse est donnée.

1. Proposer un script
2. Modifier le script précédent de sorte que le programme affiche à la fin le nombre de
réponses nécessaires pour trouver le juste prix.
3. Comment modifier le programme pour qu’il s’arrête à partir de dix mauvaises
réponses ?

Exercice 5 :
Écrire trois procédures qui permettraient de réaliser les trois affichages suivants, avec comme
paramètres le nombre de lignes et ou de colonnes, ainsi que le choix du caractère.
On rappelle que le caractère de fin de ligne est ’\n’ et que le caractère «espace» est ’ ’.

Exercice 6 : (Modules et fichiers)


Écrire un module de calcul des racines du trinôme réel : ax²+bx +c.

Le module définit une fonction trinôme avec les trois paramètres du trinôme, a, b et c. La fonction
doit retourner un tuple dont le premier élément est le nombre de racines du trinôme (0, 1 ou 2), et
les autres éléments sont les racines éventuelles. Testez votre fonction avec les trois jeux de valeurs
suivantes : 1,−3, 2, 1,−2, 1 et 1, 1, 1.

Exercice 7 :
Définir une classe MaClasse possédant les attributs suivants :

données : deux attributs de classes : x = 23 et y = x + 5.

méthode : une méthode affiche contenant un attribut d’instance z = 42 et les affichages de y


et de z.

Dans le programme principal, instanciez un objet de la classe MaClasse et invoquez la méthode


affiche.

2. Définir une classe Vecteur2D avec un constructeur fournissant les coordonnées par défaut d’un
vecteur du plan (par exemple : x = 0 et y = 0).

Dans le programme principal, instanciez un Vecteur2D sans paramètre, un Vecteur2D avec ses deux
paramètres, et affichez-les.

3. Enrichissez la classe Vecteur2D précédente en lui ajoutant une méthode d’affichage et une
méthode de surcharge d’addition de deux vecteurs du plan.

Dans le programme principal, instanciez deux Vecteur2D, affichez-les et affichez leur somme.

Exercice 8 :
1. Définir une classe Rectangle avec un constructeur donnant des valeurs (longueur et largeur) par
défaut et un attribut nom = "rectangle", une méthode d’affichage et une méthode surface renvoyant
la surface d’une instance.

Définir une classe Carre héritant de Rectangle et qui surcharge l’attribut d’instance : nom = "carré".

Dans le programme principal, instanciez un Rectangle et un Carre et affichez-les.

2. Définir une classe Point avec un constructeur fournissant les coordonnées par défaut d’un point du
plan (par exemple : x = 0.0 et y = 0.0).

Définir une classe Segment dont le constructeur possède quatre paramètres : deux pour l’origine et
deux pour l’extrémité. Ce constructeur définit deux attributs : orig et extrem, instances de la classe
Point. De cette manière, vous concevez une classe composite : La classe Segment est composée de
deux instances de la classe Point.

Ajouter une méthode d’affichage.


Enfin écrire un auto-test qui affiche une instance de Segment initialisée par les valeurs 1, 2, 3 et 4.

3. Définir une fonction fabrique creer_plus renvoyant une fonction fermeture plus. ▹ cree_plus a un
argument ajout. Son code ne renferme que la fonction plus qui, elle aussi, possède un argument
increment et dont le code se contente de renvoyer la somme : (ajout + increment).

Dans le programme principal, créez deux fonctions, par exemple p = creer_plus(23) et p =


creer_plus(42), puis affichez les valeurs données par p(100) et q(100).

4. Écriture d’une fonction fabrique renvoyant une instance de classe.

▹ Définir une classe CasNormal contenant une méthode uneMethode qui affiche "normal".

Définir une classe CasSpecial contenant une méthode uneMethode qui affiche "spécial".

Enfin définir la fonction fabrique casQuiConvient avec un paramètre estNormal initialisé par défaut à
True. Si le paramètre est vérifié, le corps de la fonction renvoie une instance de la classe CasNormal,
sinon il renvoie une instance de la classe CasSpecial. Dans le programme principal, créez l’instance
que vous désirez grâce à la fabrique, puis vérifiez son type en appelant dessus la méthode
uneMethode.

Vous aimerez peut-être aussi