Vous êtes sur la page 1sur 18

ACTIVITÉS

D’ LGORITHMIQUE
ET DE PROGRAMMATION
Chapitre 1
Les structures de
données

1
Exercice N°1 :
Quel est le rôle de ces trois programmes :
Programme 1 Programme 2 Programme 3
a = 20 a=20 a=20
b = 30 b=30 b=30
a,b = b,a a=a+b c=a
print ("A = ",a," b = ",b) b=a-b a=b
a=a-b b=c
print('a= ',a,' b= ',b) print('a= ',a,' b= ',b)
Après exécution A = et B= Après exécution A = et B= Après exécution A = et B=

e
Exercice N° 2 :
Exécuter les scripts python ci-dessous et donner les résultats trouvés
Instruction Résultat Conclusion Instruction Résultat Conclusion

an
a = 27 27 a = 15.45 15.45
b=5 5 b = 1.5 1.5
print (a,"+",b,"=",a + b) print (a,"+",b,"=",a + b)
print (a,"-",b,"=",a – b) print (a,"-",b,"=",a - b)
print (a,"*",b,"=",a * b) print (a,"*",b,"=",a * b)
print (a,"**",b,"=",a ** b) print (a,"**",b,"=",a ** b)
print (a,"/",b,"=",a / b) print (a,"/",b,"=",a / b)
print (a,"//",b,"=",a // b)
print (a,"%",b,"=",a % b)

Exercice N°3 : w
print (a,"//",b,"=",a // b)
print (a,"%",b,"=",a % b
ar
Réorganiser les lignes du code suivants pour que le programme affiche le montant à payer par un client qui a acheté
q cahiers, sachant que le prix d’un cahier est p=2500 et qu’il a une remise de 10% :
a) print("le montant a payé est" , m)
b) m= p*q
c) q=int(input(‘donner la quantité ‘))
M
d) r= (10*m)/100
e) p = 2500
f) m=m-r

Exercice N°4 :
Traduisez les instructions suivantes en Python, puis evaluez-les
ZI

a=7 b=5 c=2 d=9


w= -a * b div d mod c  ……………………………………
x= (a * b) div (d mod c)  ……………………………………
y = a-b * c + d  ……………………………………
z= (a-b) * c + d  ……………………………………
JA

Exercice N°5 :
Exécutez et interpréter les instructions suivantes :
Instruction Résultat Rôle
print(abs (-7))
print(fabs(-9,75))
print(pow(3,4))
print(round (2.45))
print(sqrt (16))
print(trunc (2.45))
print(int(6.7))
print(float(5))
print(round(5.76543, 2))
print(math.floor(6.66))

2
print(math.ceil(6.66))
print(randint(2,5))
print(uniform(0,5))

Exercice N°6 :
Compléter le tableau suivant en faisant les affectations nécessaires aux variable x et y. On commence par :
x=False
y=False
print(not(x))
x y not(x) x or y x and y
False False

e
False True
True False
True True

an
Exercice N°7 :
Soit les variable c1="bonjour" et c2= "sarra"
Exécuter les instructions et compléter le tableau suivant :
Instruction Résultat Observation
print(c1[0])

w
print(c2[0 :4])
print(c1[ :5])
print(c1[1 : ])
print(len(c1))
print(c1,’ ‘,c2)
ar
‘ma’ in c1
‘o’ not in c2
print(c1.find(‘o’))
print(c2.count(‘a’))
c3=c1.upper()
M
print(c3)
print(c3.lower())
print (c1*3)
print (c1.capitalize() )
c4=c1+’ ‘+c2
print (c4)
ZI

print(c4.split() )
c5= c2.replace(‘a’, ‘e’)
print(c5)
c6= ‘ ’ +c4+ ‘ ’
print(c6)
JA

print(c6.strip() )

Exercice N°8 :
Soit np= "Mehdi Tounsi"
Remplir le tableau ci-dessous par le résultat chaque instruction :
Instructions Résultats Instructions Résultats
print(np[0]) print(np[1:4])
print(np[1]) print(np[1:])
print(np[2]) print(np[:3])
print(np[-1]) print(np[:])
print(np[-2]) print(np[::-1])
print(np[-3])

3
Conclusion :
ch[nb]
ch[-1]
ch[-a]
ch[ a :b]
ch[ :a]
ch[a :]
ch[:]
ch[::-1]
a= ˮ0123456789ˮ
Exécuter a.isdigit()

e
Exécuter ″15.754″.isdigit()
Exécuter ″-1654″.isdigit()
Exécuter a [0] = ˮbˮ que remarque vous et comment corriger pour obtenir la chaine ˮb123456789ˮ

an
Exercice N°9 :
Soit ch une chaine non vide
Remplir le tableau ci-dessous
Instruction Résultat
ch="aZEaty"

w
ch2=ch*5
print(ch2)
print(ch.isupper())
print(ch.lower())
print(ch2.find('g'))
ar
print(ch2.count('a'))
ch3=ch2.replace('a','&&&&',4)
print(ch3)

Exercice N°10 :
M
1/Saisir le programme suivant : D’après ces programmes quel est le rôle des codes suivants :
t=[] Instruction Rôle
#ceci est un commentaire :)
t=[]
t.append(5)
#
t.append(7)
t.append(x)
t.append(5)
t.count(x)
ZI

print(t)
t.index(7)
2/Ajouter à ce programme les instructions t.pop())
suivantes : t.pop(i))
print(t.count(5)) t.sort()
print(t.index(7)) t.reverse()
JA

print(t.pop()) t.insert(i,x)
print(t.pop(1)) t.clear()
len(t)
3/ Ajouter à ce programme les instructions
type(t)
suivantes :
t=[5, 7, 5]
t.sort()
print(t)
t.reverse()
print(t)
t.insert(1,23)
print(t)
t.clear()
print(t)

4
print(len(t))
type(t)

Exercice N°11 :
Ecrire un programme qui affiche une liste de taille n contenant des nombres entre 1 et 10 tir ́es au hasard.

e
an
w
ar
M
ZI
JA

5
Chapitre 2

e
an
Les actions w
ar
élémentaires
M

simples
ZI
JA

6
Exercice n°1 :
Pour n € N donné, calculer le nombre de chiffres qui le composent.

Exercice n°2 :
Ecrire un programme qui permet de former puis d’afficher un entier R de quatre chiffres à partir de deux entiers à
deux chiffres M et N strictement positifs et ceci en intercalant le nombre N entre les deux chiffres de M.
Exemple : Si M = 56 et N = 21 alors l’entier R sera égal à 5216.

Exercice n°3 :
Ecrire un programme qui affiche la valeur de la surface colorée en bleu.

e
La seule donnée est le rayon r.

an
Exercice n°4 :
Ecrire un programme permettant de saisir un nombre N formé de trois chiffres (c'est-à-dire le nombre est compris

w
entre 100 et 999) puis on vous demander de calculer et afficher la racine carrée de la partie entière de la division du
nombre constitué par les chiffres des centaines et des unités de N, par le chiffre des dizaines (Non Nul) de n.
Exemple
N=569 59 /6 = 9.833 Racine(9) = 3.000
ar
N=327 37 /2 = 18.500 Racine(18) = 4.242

Exercice N°5
Ecrire un programme python qui saisit votre date de naissance sous la forme "jj/mm/aaaa" dans une variable dn puis
calcule et affiche la somme de jj, mm et aaaa
Exemple : si dn="12/06/2018" le programme affiche 12+06+2018 =2036
M

Exercice N°6
Ecrire un programme python qui permet d’inverser un entier n donné de trois chiffres.
Exemple : si n=528 le programme affichera : "528 inversé devient 825"

Exercice N°7
ZI

Ecrire un programme python qui permet de saisir une chaîne de caractères ch formée d’un nom et d’un prénom et
affiche les deux lettres initiales en majuscules et chaque lettre suivie par un point.
Remarque :
Le nom et le prénom doivent être non composés. Par conséquent, la chaîne ch ne comportera qu’un seul
espace qui ne figurera pas à son début.
JA

Exemple : si ch="Tounsi Mohamed" le programme affichera : "T.M."

Exercice N°8
Ecrire ensuite exécuter les instructions Python suivantes :
n="jazi" p="sinda"
print(‘Votre prénom est :’,p, ‘\n’, ‘votre nom est :’, ‘n’)
……………………………………………………………………………………………………………………………………………………………………………………..
print(‘Votre prénom est :’,p, ‘\t’, ‘votre nom est :’, ‘n’)
……………………………………………………………………………………………………………………………………………………………………………………..
print(‘l\’élève s\’appelle :’, p, ‘\t’, ‘n’)
……………………………………………………………………………………………………………………………………………………………………………………..
print("Mon prénom est :{0} et mon nom est : {1}".format(p,n))
……………………………………………………………………………………………………………………………………………………………………………………..

7
Exercice N°9
Un nombre est dit “palindrome” s’il se lit de la même façon de gauche à droite et de droite à gauche. Par exemple
12321 est palindrome.
Pour n € N donné, afficher True ou False selon que le nombre est palindrome ou pas. (on vous demande deux solutions
différentes)

e
an
w
ar
M
ZI
JA

8
e
Chapitre 3

an
w
Les structures de
ar
contrôle
M

conditionnelles
ZI
JA

9
Exercice N°1 :
On désire afficher avec la moyenne (moy) d’un élève, l’appréciation (app) :
Moyenne (Moy) Appréciation (app)
20 >= moy >18 Excellent
18 >= moy >16 Très Bien
16 >= moy > 14 Bien
14 >= moy >12 Assez Bien
12 >= moy >=10 Passable
moy < 10 Faible

Il s’agit de calculer la moyenne des trois notes n1, n2 et n3 de coefficients respectifs 2, 4 et 1.

e
Questions :
1) Analyser le problème nommé Bulletin
2) Ecrire l’algorithme correspondant

an
3) Traduire cet algorithme en Python.

Exercice N°2 :
Analyser le problème qui permet de saisir un entier et affiche si c’est un carré parfait* (sa racine est une valeur entière.
Ex : 16, 64)

Exercice N°3 :

w
Analyser le problème qui permet de saisir 3 réels a, b et c (a≠0), puis résout l’équation du second degré : ax²+bx+c=0.
(On demande deux solutions différentes)

Exercice N°4 :
ar
Analyser le problème qui permet de saisir le numéro d’un mois et affiche son nom.

Exercice N°5 :
Analyser le problème intitulé CLASSEMENT qui permet de saisir 3 entiers, les permute de façon à les classer par ordre
croissant puis affiche le résultat.
M

Exercice N°6 :
Soit (ABC) un triangle de côtés a, b et c. D'après le théorème de Pythagore, le triangle (ABC) est rectangle en
B, si et seulement si l'égalité a2 + b2 = c2 est vérifiée.
ZI
JA

Connaissant les longueurs des trois côtés, rédiger un programme permettant de déterminer si (ABC) est rectangle et si
oui, en quel point.

Exercice N°7 :
Faites l’analyse (Pré analyse, analyse, tableau de déclaration d’objets et algorithme) du problème qui permet de saisir
deux réels a et b et une opérande op et donne le résultat correspondant. (On demande deux solutions différentes)
Exemple :
a=5; b=2; op='/' alors le résultat est 2,5.

10
Exercice N°8 :
Un entier est dit cube (ou Armstrong) si la somme des cubes de ses chiffres est égale à lui-même.
Exemple : 153=13+53+33 153 est cube.
Analyser ce problème qui permet de saisir un entier de trois chiffres et affiche si cet entier est cube ou non.

Exercice N°9 :
Analyser le problème qui permet de lire un nombre d'articles (entier), le prix unitaire de l'article (réel), calcule le prix
total, tenant compte d'un taux de tva de 19,5% et d'une réduction de 20% si le montant hors taxe est supérieur à 10000
dinars, une réduction de 5% si le montant hors taxe est compris entre 5000 et 10000 dinars; si le montant est compris
entre 0 et 5000 dinars, il n'y a pas de réduction.

e
L'algorithme écrira le prix unitaire, le montant hors taxe, le montant toute taxe comprise réduction déduite !

Exercice N°10 :

an
Analyser le problème qui permet de saisir une heure sous la forme HH :MM :SS, puis indiquera s'il s'agit d'une heure
valide ou non.

Exercice N°11 :
Analyser le problème qui permet de demander 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

Exercice N°12 :
w
ar
Dans une entreprise, le calcul des jours de congés payés s’effectue de la manière suivante : si une personne est entrée
dans l’entreprise depuis moins d’un an, elle a droit à deux jours de congés par mois de présence, sinon à 28 jours au
moins. si c’est un cadre et s’il est âgé d’au moins 35 ans et si son ancienneté est supérieure à 3 ans, il lui est accordé 2
jours supplémentaires. S’il âgé d’au moins 45 ans et si son ancienneté est supérieure à 5 ans, il lui est accordé 4 jours
supplémentaires, en plus des 2 accordés pour plus de 35 ans.
M
Analyser le problème qui permet de calculer le nombre de jours de congés à partir de l’âge, l’ancienneté et sa nature
(cadre ou non).
ZI
JA

11
e
Chapitre 4

an
w
La saisie
ar
contrôlée
M
ZI
JA

12
1. Ecrire une structure de contrôle permettant de saisir un entier positif ou nul.
2. Ecrire une structure de contrôle permettant de saisir une lettre alphabétique.
3. Ecrire une structure de contrôle permettant de saisir un entier compris entre 1 et 10.
4. Ecrire une structure de contrôle permettant de saisir un réel compris entre 1 et 10.
5. Ecrire une structure de contrôle permettant de saisir un chiffre.
6. Ecrire une structure de contrôle permettant de saisir une voyelle.
7. Ecrire une structure de contrôle permettant de saisir un symbole.
8. Ecrire une structure de contrôle permettant de saisir l’heure en saisissant le nombre d’heure, le nombre de
minutes et le nombre de secondes.

e
an
w
ar
M
ZI
JA

13
Chapitre 5

e
an
Les structures
w
ar
M

de contrôle
ZI

itératives
JA

14
- On demande de donner l'algorithme et la traduction en Python pour chaque exercice.
- On utilisera certaines fonctions et procédures standard pour la résolution des problèmes proposés.

Exercice N°1 :
Ecrire un programme intitulé SOMME permettant d’additionner les N éléments d’un tableau T (NMAX=100).

Exercice N°2 :
Ecrire un programme qui saisit deux entiers positifs a et b (a<b) et affiche tous les nombres premiers de l'intervalle [a,
b].

Exercice N°3 :

e
Ecrire un programme qui saisit un entier n et le réécrit sous la forme d'un produit de nombres premiers,
Exemple: Si n = 60 -Le programme affichera "60 = 2 * 2 * 3 * 5",

an
Exercice N°4 :
Le couple (4,2178) vérifie la propriété suivante : 4*2178 = 8712 (8712 et 2178 sont inversés en écriture), Ecrire un
programme qui affiche, tous les couples (n,m) vérifiant cette propriété tels que n dans [2,10] et m dans [1,3276].

Exercice N°5 :
Ecrire un programme qui saisit une chaîne de caractères c représentant un code binaire de 8bits. Le programme
déterminera le code ASCII et le caractère qui correspondent à ce code.
Exemple: si c = "01011001" →le programme affichera: "89 : Y".

Code binaire
Code ASCII
0 1 0

w
→ Indication. : Pour cet exemple, on détermine le code ASCII comme suit:
1 1 0 0
0* 27 + 1 * 26 + 0 * 25 + 1 *24 + 1 * 23 +0 * 22 + 0 * 21 + 1 * 20
1
ar
Exercice N°6 :
Réaliser un programme qui saisit une chaîne de caractères m, efface les caractères répétés et affiche la nouvelle
chaîne.
Exemple :
M
Si m= "BbrbraRvrbAoo" →le programme affichera: "Bravo".

Exercice N°7 :
Un mot est dit palindrome lorsqu'il est lu de la même façon de droite à gauche ou inversement. Exemple: Aziza.
Réaliser un programme qui saisit un mot et affiche s'il est palindrome ou non en évitant la distinction entre les
majuscules et minuscules.
On demande pour cela deux solutions différentes : une solution sans structures itératives et une autre avec structures
ZI

itératives.

Exercice N°8 :
Ecrire un programme qui saisit deux chaînes de caractères m1 et m2 et affiche le nombre de répétitions et les positions
de m2 dans m1.
JA

Exemple: si m1 = "FOUroulou" et m2 = "ou"


→le programme affichera: "Répétitions: 2 ; Positions: 5- 8 -".

Exercice N°9 :
Ecrire un programme qui saisit un tableau T de n entiers compris entre 1 et 26 qui représentent des ordres
alphabétiques. Le programme affichera le mot composé des lettres qui correspondent à ces ordres en majuscules.
Exemple: pour n = 4 et :
T: 2 9 5 14
B I E N
→Le programme affichera: "Le mot associé est: BIEN".

15
Exercice N°10 :
Ecrire un programme qui saisit un tableau T de n caractères (n> 1) et affiche le caractère de plus grand code ASCII.

Exercice N°11 :
Ecrire un programme qui saisit un tableau T de n caractères et affiche si le tableau est symétrique ou non.

Exercice N°12 :
Ecrire un programme qui saisit un entier n et affiche tous les entiers de 1 à n qui contiennent le chiffre 6 et le nombre
des chiffres 6 contenus dans tous ces entiers.
Exemple :
Si n = 66 → Le programme affichera

e
"6 16 26 36 46 56 60 61 62 63 64 65 66 Le nombre de chiffres 6 est: 14"

Exercice N°13 :

an
Ecrire un programme qui saisit un tableau T de n chaîne de caractères et affiche la chaîne commune la plus longue.
Exemple : Si n = 3
T: réPéTition InTuiTion diSpArition
→ Le programme affichera: "La chaîne commune la plus longue est :ion"

w
ar
M
ZI
JA

16

Vous aimerez peut-être aussi