Vous êtes sur la page 1sur 5

Office de la formation Professionnelle et de la promotion du travail

DRPS/ISGI LAAYOUNE

Le 04/02/2021

Module : Programmation structurée

Filière : Techniques de Développement Informatique TDI1


Langage de programmation Python

Travaux Dirigés 2
Formateur A BENDAOUD
Exercice 1 :
Ecrire le programme python qui affiche la somme de 1/1+1 /2+1/3+…………+1/n

La valeur de n est donnée par l’utilisateur

Exercice 2 :

Ecrire le programme python qui calcule l’expression suivante pour un valeur de n donnée

Exercice 3:
Ecrire le programme python qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse
convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et
inversement, « Plus grand ! » si le nombre est inférieur à 10.

Exercice 4 :
Ecrire le programme python qui demande un nombre de départ, et qui ensuite affiche les dix nombres
suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27.

Exercice 5:
Ecrire le programme python qui demande un nombre de départ, et qui calcule sa factorielle. NB : la
factorielle de 8, notée 8 !, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

TD2 (exercices Python) Module :Programmation Structurée Page 1 sur 5


Exercice 6:
Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client. Calculer la somme qu’il
doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes "10 Euros", "5
Euros" et "1 Euro" autant de fois qu’il y a de coupures de chaque sorte à rendre.

Exercice 7:
Écrire le programme python qui permette de connaître ses chances de gagner au tiercé, quarté, quinté et
autres impôts volontaires. On demande à l’utilisateur le nombre de chevaux partants, et le nombre de
chevaux joués. Les deux messages affichés devront être : Dans l’ordre : une chance sur X de gagner Dans
le désordre : une chance sur Y de gagner X et Y nous sont donnés par la formule suivante, si n est le
nombre de chevaux partants et p le nombre de chevaux joués (on rappelle que le signe ! sig nifie
"factorielle") :

X = n ! / (n - p) !

Y = n ! / (p ! * (n – p) !)

NB : cet algorithme peut être écrit d’une manière simple, mais relativement peu performante. Ses
performances peuvent être singulièrement augmentées par une petite astuce. Vous commencerez par
écrire la manière la plus simple, puis vous identifierez le problème, et écrirez une deuxième version
permettant de le résoudre.

Exercice 8:
Ecrire une fonction python longueur_chaine(ch)qui recoit en argument une chaine de caractères ch, et
qui retourne sa taille.

Exercice 9:
Ecrire une fonction python getIndice(ch,e) qui reçoit en argument une chaine de caractères ch et un
caractère e, la fonction retourne l'indice positif de la première occurrence du caractère e s'il existe dans la
chaine ch sinon elle retourne -1

Exercice 10:
Ecrire une fonction python compare_chaine(ch1,ch2) qui reçoit en argument deux chaine de
caractères ch1 et ch2, la fonction compare ch1 et ch2et retourne :
• 1 si ch1 > ch2
• 0 si ch1 = ch2
• -1 si ch1<ch2

Exercice 11:
Ecrire une fonction python saisir_liste_chaine(n) qui reçoit en argument un entier n et qui retourne une
liste de nchaines de caractères

TD2 (exercices Python) Module :Programmation Structurée Page 2 sur 5


Exercice 12:
Ecrire une fonction python trier_liste_chaine(L,n) qui recoit en argument une liste L de n chaines de
caractères alphabétiques, la fonction trie et retourne la liste Ltriée suivant l'order alphabétique

Exercice 13:
Ecrire une fonction python Inverser_chaine(mot) qui reçoit en argument une chaines de caractères
alphabétiques mot, la fonction retourne le mot inverse
exemple : Inverser_chaine(‘salam’) retourne ‘malas’

Exercice 14:
Ecrire la fonction python qui calcule la somme des N premiers terme d’une série harmonique

Exercice 15:
L'alphabet français compte six voyelles graphiques, à savoir : A, E, I, O, U et Y

a- Écrire une fonction python nommée estVoyelle examinant si un caractère fourni en paramètre
est une voyelle et fournissant un résultat de type booléen.
b- Ecrivez un algorithme qui demande une phrase à l’utilisateur et qui affiche à l’écran le nombre
de voyelles contenues dans cette phrase.

Exercice 16:
Ecrire une fonction python chaine_chiffres(ch) qui recoit en argument une chaine de caractères ch, la
fonction retourne True si la chaine ch contient seulement des caractères chiffres sinon elle
retourne False.

Exercice 17:
Ecrire une fonction supp_espace(ch) qui reçoit en argument une chaine de caractères ch, la fonction
retourne la chaine ch après avoir supprimé tous les caractères espaces s'ils existent au début de cette
chaine.

Exercice 18 :(devoir à la maison)


Demain est un autre jour. Nous supposerons que l'utilisateur ne rentre que des entiers strictement
positifs.

1) Définir le type date basé sur un dictionnaire permettant de représenter une date comportant le
numéro du jour, le numéro du mois et l'année date1={‘jour’ :12,’mois’ :12,’annee’ :2020}.

TD2 (exercices Python) Module :Programmation Structurée Page 3 sur 5


2) Écrire la fonction estBissextile(date1) qui renvoie 1 si l'année est bissextile; 0 sinon. Nous rappelons
qu'une année est bissextile si elle est divisible par 4 mais pas par 100, elle est aussi bissextile si elle est
divisible par 400.

3) Écrire la fonction dateJuste(date1) qui renvoie 1 si une date saisie est juste, 0 sinon

4) Écrire la fonction jourdulendemain(date1) qui à partir d'une donnée de type date détermine la date du
lendemain.

5) Écrire une fonction comparedate(date1,date2) qui renvoie 1 si une date d1 est plus grande qu'une date
d2, 0 si elles sont égales, et -1 si la date d2 est plus grande que la date d1

6) Écrire une fonction ecartjour(date1,date2) qui retourne le nombre de jours qui séparent deux dates.

Exercice 19 :(devoir à la maison)


Le but est de créer un ensemble de fonction de gestion des nombres complexes. On rappelle que les
nombre complexes d’écrivent comme suit : x=a+ib, où a et b sont des nombres entiers, i*i=-1.

1- Définir la structure de données nécessaires pour manipuler les nombres complexes.


pour python définir un Dictionnaire z={‘x’ :1,’y’ :3}

2- Ecrire une fonction permettant de prendre deux nombres complexes et de retourner un nombre
complexe représentant la somme. Rappel si x=a+ib et y=c+id alors z=x+y=a+c+i(b+d)

3- Ecrire une fonction permettant de prendre deux nombres complexes et de retourner un nombre
complexe représentant le produit. Rappel si x=a+ib et y=c+id alors z=x*y= (ac-bd)+i*(ad+bd)

4- Ecrire une fonction permettant d’afficher un nombre complexe affiche(z) sous la forme ’ 1+3i’.

Exercice 20 :(devoir à la maison)

TD2 (exercices Python) Module :Programmation Structurée Page 4 sur 5


➢ Pour simplifier l’algorithme, nous travaillons avec un seul groupe TDI,c'est-à-dire le champ
Filière=’’TDI’’.
➢ CodeMatière est un champ auto incrémenté. La valeur initiale est 1, le pas d’incrémentation est 1.
➢ Le coefficient est un entier entre 1 et 5.

➢ La note est comprise entre 0 et 20


➢ Les champs codeInscription et codeMatière doivent être valides (existe déjà dans les deux tables
Stagiaire et Matière).

Travail à faire :

Ecrire un algorithme qui permet de :

1- Saisir les informations de tous les stagiaires


2- Saisir les informations de toutes les matières
3- Saisir les notes de tous les stagiaires pour toutes les matières.
4- Afficher le majorant de la classe.
5- Afficher le bulletin des notes d’un stagiaire dont le code d’inscription est saisi au clavier.
6- Afficher la liste des stagiaires avec leurs moyennes générales.

Pour le langage Python utiliser les Dictionnaires a la place des structures pour enregistrer les
informations.

TD2 (exercices Python) Module :Programmation Structurée Page 5 sur 5

Vous aimerez peut-être aussi