Série N° 1
Exercice N° 1 :
Ecrire un algorithme et sa traduction en Python qui permet de saisir deux entiers a et b (formé de deux
chiffres) d’afficher un entier r de quatre chiffres en intercalant a entre les deux chiffres de b.
Exemple :a=54 et b=36 donc r=3546
Algorithme exercice1
Début
TDO
Afficher ("Saisir un entier de deux chiffres:")
Lire (n1)
Objet Type
Afficher ("Saisir un autre entier de deux chiffres:")
Lire (n2) n1 Entier
a n1 // 10 n2 Entier
b n1 % 10 a Entier
n a * 1000 + n2 * 10 + b b Entier
Afficher ("le résultat final = ", n)
Fin
n1 = int(input("Saisir un entier de deux chiffres:"))
n2 = int(input("Saisir un autre entier de deux chiffres:"))
a = n1 // 10
b = n1 % 10
n = a * 1000 + n2 * 10 + b
print('entier de quatres chiffres = ',n)
Exercice N° 2:
Pour chacune des propositions ci-dessous, cocher la bonne réponse :
1- La syntaxe correcte est :
Exercice N° 3:
Ecrire un programme qui permet de saisir un nombre puis déterminer s’il appartient à un intervalle
donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur.
Solution :
a = int(input("saisir [a :"))
b = int(input("saisir b]:"))
val = int(input("saisir une valeur :"))
if a <= val <= b:
print(val, "appartient a l'intervalle [", a, ", ", b, "]")
else:
print(val, "n'appartient pas a l'intervalle [", a, ", ", b, "]")
Exercice N° 4:
Ecrire un programme qui demande deux nombres à l’utilisateur et l’informe ensuite si leur produit est
négatif ou positif. Attention toutefois on ne doit pas calculer le produit des deux nombres.
Solution :
a = int(input("saisir a : "))
b = int(input("saisir b : "))
if a > 0 and b > 0 or a < 0 and b < 0:
print("le produit est positif")
else:
print("le produit est négatif")
Exercice N° 5:
Ecrire un programme qui permet de calculer le montant des heures supplémentaires d’un employé,
sachant le prix unitaire d’une heure, selon le barème suivant :
Les 39 premières heures sans supplément,
De la 40ième à la 44ième heure sont majorées de 50%,
De la 45ième à la 49ième heure sont majorées de 75%,
De la 50ième heure ou plus, sont majorées de 100%.
Solution :
nbheures = int(input("saisir le nombre d heures"))
prix = float(input("saisir le prix unitaire d une heure"))
montant = 0
if nbheures <= 39:
montant = 0
elif nbheures < 45:
montant = (nbheures-39)*(prix*1.5)
elif nbheures < 50:
montant = (5*prix*1.5)+(nbheures-44)*(prix*1.75)
else:
montant = (5*prix*1.5)+(5*prix*1.75)+(nbheures-49)*(prix*2)
print("le montant des heures supplementaires est : ", montant)
Exercice N° 6:
Ecrivez un programme qui lira au clavier l’heure et les minutes, et il affichera l’heure qu’il sera une
minute plus tard.
Par exemple, si l'utilisateur tape 21 puis 32, le programme doit répondre : "Dans une minute, il sera 21
heure(s) 33".
NB : on suppose que l'utilisateur entre une heure valide. Pas besoin donc de la vérifier.
Solution :
heure=int(input("saisir l heure : "))
minutes=int(input("saisir les minutes : "))
if heure<23 :
if minutes==59 :
heure+=1
minutes=0
else :
minutes+=1
else :
if minutes==59 :
heure=0
minutes=0
else :
minutes+=1
print(" après une minute l'heure est ",heure,":",minutes)
Exercice N° 7:
Ecrire un programme qui à partir d’une note affiche la mention correspondante ?
Solution :
note=float(input("saisir une note : "))
if note<10 :
print("non admis")
elif note<12 :
print("passable")
elif note<14 :
print("assez bien")
elif note<16 :
print("bien")
elif note<=20 :
print("tres bien")
else :
print("saisir une note valide")
Exercice N° 8:
Écrire un algorithme qui demande l’âge d’un enfant à l’utilisateur. Ensuite, il l’informe de sa
catégorie :
« Poussin » de 6 à 7 ans
« Pupille » de 8 à 9 ans
« Minime » de 10 à 11 ans
« Cadet » après 12 ans
Solution :
Solution 1
Algorithme categorie_enfant :
Début
Afficher ("Saisir l'age: ") ;
Lire(age) ;
SI age < 6 ALORS
Afficher ("Saisir un age supérieur ou égal 6")
SINON SI age <=7 ALORS
Afficher ("Poussin")
SINON SI age <=9 ALORS
Afficher ("Pupille")
SINON SI age <=11 ALORS
Afficher ("Minime")
SINON
Afficher ("Cadet")
FIN SI
Fin
Solution 2
Algorithme categorie_enfant :
Début
Afficher ("Saisir l'age: ") ;
Lire(age) ;
SI age < 6 ALORS
Afficher ("Saisir un age supérieur ou égal 6")
SINON SI age >=6 ET age <=7 ALORS
Afficher ("Poussin")
SINON SI age >=8 ET age <=9 ALORS
Afficher ("Pupille")
SINON SI age >=10 ET age <=11 ALORS
Afficher ("Minime")
SINON
Afficher ("Cadet")
FIN SI
Fin
Exercice N° 9:
Écrire un algorithme qui à partir d’un nombre compris entre 1 et 7 affiche le jour correspondant ?
Solution :
Algorithme jour_semaine :
Début
Afficher ("Saisir un jour : ") ;
Lire(nb) ;
SI jour=1 ALORS
Afficher ("Lundi")
SINON SI jour=2 ALORS
Afficher ("Mardi")
SINON SI jour=3 ALORS
Afficher ("Mercredi")
SINON SI jour=4 ALORS
Afficher ("Jeudi")
SINON SI jour=5 ALORS
Afficher ("Vendredi")
SINON SI jour=6 ALORS
Afficher ("Samedi")
SINON SI jour=7 ALORS
Afficher ("Dimanche")
SINON
Afficher ("jour invalide")
FIN SI
Fin
Solution 2:
Algorithme jours_semaine :
Début
Afficher ("Saisir une valeur : ") ;
Lire(jour) ;
SELON jour faire
1 : Afficher ("Lundi")
2 : Afficher ("Mardi")
3 : Afficher ("Mercredi")
4 : Afficher ("Jeudi")
5 : Afficher ("Vendredi")
6 : Afficher ("Samedi")
7 : Afficher ("Dianche")
SINON : Afficher ("Jour invalide")
Fin SELON
Fin
Exercice N° 10:
Écrire un algorithme permettant d’échanger les valeurs de deux variables A et B, et ce quel que soit
leur contenu préalable.
Solution :
Algorithme echange
Début
Ecrire("Saisir la valeur de A : ")
Lire(a)
Ecrire("Saisir la valeur de B : ")
Lire(b)
c<- a
a<- b
b <- c
Ecrire("a = ",a," b=",b)
Fin
Exercice N° 11:
Écrire un algorithme qui permet de calculer et afficher le salaire brut d’un ouvrier connaissant le
nombre d’heure et le tarif d’horaire?
Solution :
Algorithme salaire_brut :
Début
Ecrire("Saisir le tarif horaire : ")
Lire(tarif)
Ecrire("Saisir le nombre d'heures : ")
Lire(nb_heures)
salaire <- tarif * nb_heures
Ecrire("le salaire brut = ",salaire)
Fin
Exercice N° 12:
Ecrire l’algorithme qui permet de saisir les paramètres d’une équation du second degré et de calculer
son discriminant delta.
Solution :
Algorithme discriminant
Début
Ecrire("Saisir a : ")
Lire(a)
Ecrire("Saisir b : ")
Lire(b)
Ecrire("Saisir c : ")
Lire(c)
delta <- (b * b) - 4 * a * c
Ecrire("delta = ",delta)
Fin
Exercice N° 13:
Ecrire un programme qui à partir d'une date divisée en ses composantes (J, M, A) et affiche la date du
lendemain. Tenir compte du cas ou la date saisie est la date du dernier jour du mois ou celle du dernier
jour de l'année
Remarque : prendre 28 comme nombre de jours du mois de février.
Solution :
A = int(input("saisir une annee :"))
M = int(input("saisir le mois : "))
J = int(input("saisir le jour : "))
if M > 12 or J > 31:
print("la date est invalide")
else:
if M == 12:
if J < 31:
J += 1
else:
J = 1
M = 1
A += 1
elif M == 2:
if J > 28:
print("jour invalide")
elif J == 28:
J = 1
M += 1
else:
J += 1
else:
if M == 1 or M == 3 or M == 5 or M == 7 or M == 8 or M == 10:
if J == 31:
J = 1
M += 1
else:
J += 1
else:
if J == 30:
J = 1
M += 1
else:
J += 1
print("la date de lendemain est ", A, "-", M, "-", J)
Exercice N° 14:
Pour calculer les moyens de ses étudiants, un professeur calcule deux moyennes ; la moyenne
arithmétique et la moyenne de la mauvaise et la meilleure des notes de trois notes. Il choisira par la
suite la meilleure des deux moyennes calculées.
Ecrire un programme qui saisit les trois notes d'un étudiant et affiche la moyenne finale accordée.
Exemple :
Si les trois notes d'un étudiant sont : 12, 8, 14 alors :
Moyenne arithmétique=(12+8+14)/3 = 34/3 =11,34
Moyenne de la mauvaise et de la meilleure : (14+8)/2=22/2=11
Le professeur choisira la première moyenne.
Solution :
N1 = float(input("saisir la premiere note :"))
N2 = float(input("saisir la deuxieme note :"))
N3 = float(input("saisir la troisieme note :"))
M1 = (N1+N2+N3)/3
if N1 <= N2 <= N3 or N3 <= N2 <= N1:
M2 = (N1+N3)/2
elif N2 <= N1 <= N3 or N3 <= N1 <= N2:
M2 = (N3+N2)/2
else:
M2 = (N1+N2)/2
if M1 > M2:
print("la meilleure note est : ", M1)
else:
print("la meilleure note est : ", M2)
Exercice N° 15: