Série de Révision
Algorithmique & Python
La solution de chaque exercice en algorithmique et Python
Exercice 1 : Écrire un algorithme(programme) qui demande à l’utilisateur de saisir un message puis
afficher le message.
Exercice 2 : Écrire un algorithme(programme) qui permet d'échange le contenu de deux entiers A et B
saisis par l'utilisateur. Et afficher ces entiers après l’échange.
Exercice 3 : Écrire un algorithme(programme) qui permet d'évaluer une note saisie au clavier (si la
note supérieure à 10 alors il affiche validé sinon non validé (NB : la note comprise entre 0 et 20).
Exercice 4 : Écrire un algorithme(programme) qui permet de calculer la moyenne de trois entiers
saisis par l'utilisateur.
Exercice 5 : Le centre de photocopie facture 0,25 DH pour les 10 premières photocopies, 0,20 DH les
vingt suivantes et 0,10 DH au-delà. Ecrire un algorithme(programme) qui demande à l’utilisateur de
saisir le nombre de photocopies effectuées et qui affiche la facture correspondante.
Exercice 6 : Écrire un algorithme(programme) permettant d’afficher le mois en lettre selon le numéro
saisi au clavier. ( Si l’utilisateur tape 1 le programme affiche janvier, si 2 affiche février, si 3 affiche
mars...)
Exercice 7 : Écrire un algorithme(programme) qui permet d'afficher le message "Bonsoir" 10 fois.
Utilisant la boucle Tant Que (While en python).
Exercice 8 : Écrire un algorithme(programme) permettant de calculer la somme S=1+2+3+...+ N, où
N saisi par l’utilisateur. Utilisant la boucle Tant Que (While en python).
Exercice 9 : Écrire un algorithme(programme) qui permet de calculer le nombre de chiffres d'un
entier N saisi par l'utilisateur. Exemple N = 10843, le nombre de chiffres est : 5
Exercice 10 : Écrire un algorithme(programme) qui permet d'inverser les chiffres d'un entier N saisi
par l'utilisateur. par exemple N=35672 le résultat affiché doit être 27653
Exercices sur les tableaux (Algorithmique)
Exercice 1 : Ecrire un algorithme qui permet de tester l'égalité entre deux tableaux d'entiers (tailles
10). Le programme affiche VRAI si les composants des deux tableaux sont correspondus position par
position, sinon il affiche FAUX.
Exercice 2 : Écrire un algorithme qui recherche un élément donné dans un tableau d'entiers et affiche
son indice s'il est trouvé, sinon affiche "Non trouvé".
Exercice 3 : Écrire un algorithme qui ajoute un élément donné d'un tableau d'entiers
Exercice 4 : Écrire un algorithme qui supprime un élément donné d'un tableau d'entiers s'il existe,
sinon affiche "Élément non trouvé".
Exercice 5 : Écrire un algorithme qui calcule et affiche la médiane d'un tableau d'entiers (si le tableau
a un nombre impair d'éléments, la médiane est l'élément du milieu, sinon elle est la moyenne des
deux éléments du milieu).
Exercices sur les listes (Python)
Exercice 1 : Écrire un programme qui demande à l’utilisateur de donner une taille de liste et remplir la
liste et afficher la liste.
Exercice 2 : Écrire un programme qui crée la liste L d’entiers et qui effectue successivement les
actions suivantes :
Echanger la valeur du premier élément et la valeur du dernier élément.
Trier la liste L.
Inverser la liste avec deux manières.
Ajouter l’élément 18 à la liste L.
Ajouter l’élément 8 à l’indice 3.
Supprimer l’élément de l’indice 4.
Exercice 3 : Écrire une fonction recherche_element qui prend en entrée une liste et un élément, et
retourne True si l'élément est présent dans la liste, sinon False.
Exercice 4 : Écrire une fonction suppression_pairs qui prend en entrée une liste d'entiers et
supprime tous les éléments pairs de la liste.
Exercice 5 : Écrire une fonction intersection_listes qui prend en entrée deux listes et retourne une
nouvelle liste contenant les éléments communs aux deux listes (intersection).
Exemple de QCM (Python):
Exercice 1 :
C’est quoi le résultat ce programme en Python ?
a = 10
b=5
c=a+b
print(c)
a) "a + b"
b) "c"
c) 15
Exercice 2 :
C’est quoi le résultat ce programme en Python ?
liste = [1, 2, 3, 4, 5]
print(liste[2])
a) 2
b) 3
c) 4
d) erreur
Exercice 3 :
Que fait ce programme en Python ?
liste = [1, 2, 3, 4, 5]
[Link]()
print(liste)
a) Affiche la liste sans modification
b) Inverse la liste et l'affiche
c) Trie la liste par ordre croissant
d) Trie la liste par ordre décroissant
Exercice 4 :
C’est quoi le résultat de ce programme en Python ?
mot = "Python"
print(len(mot))
a) "Python"
b) 6
c) "n"
d) "6"
Exercice 5 :
C’est quoi le résultat de ce programme en Python ?
mot = "Bonjour"
print(mot[2:5])
a) "Bou"
b) "jou"
c) "njo"
d) "njo" et "Bou"
Exercice 6 :
Que fait ce programme en Python ?
liste = [1, 2, 3, 4, 5]
nouvelle_liste = [x * 2 for x in liste]
print(nouvelle_liste)
a) Affiche les éléments de liste en ajoutant 2 à chaque élément
b) Affiche les éléments de liste en doublant chaque élément
c) Crée et afficher une nouvelle liste avec les éléments de liste multipliés par 2
d) Crée et afficher une nouvelle liste avec les éléments de liste divisés par 2
Exercice 7 :
C’est quoi le résultat de ce programme en Python ?
def carre(x):
return x * x
resultat = carre(5)
print(resultat)
a) 5
b) 25
c) erreur
d) le carré de 5
Exercice 8 :
C’est quoi le résultat de ce programme en Python ?
def maximum(a, b):
if a > b:
return a
else:
return b
resultat = maximum(10, 5)
print(resultat)
a) 10
b) 5
c) Erreur
d) 10+5
Exercice 9 :
C’est quoi le résultat de ce programme en Python ?
liste = [1, 2, 3, 4, 5]
nouvelle_liste = [x * x for x in liste if x % 2 == 0]
print(nouvelle_liste)
a) [1,4,9,16,25]
b) [4,16]
c) [4,16,25]
d) [2,3,4,5,6]
Exercice 10 :
C’est quoi le résultat de ce programme en Python ?
liste = [5, 2, 8, 4, 10,7, 3, 6, 1]
liste[1:3] = [10, 20]
print(liste)
print(liste[:-2:2])
a) [5, 10, 20, 20, 10, 7, 3, 6, 1]
[5, 20, 10, 3]
b) [5, 10, 20, 4, 10, 7, 3, 6, 1]
[5, 20, 10, 3]
c) [5, 10, 20, 4, 10, 7, 3, 6, 1]
[5, 20, 10, 3, 1]
d) [5, 2, 10, 20, 10, 7, 3, 6, 1]
[5, 20, 10, 3]
Exemple de QCM (Algorithmique):
Exercice 1 :
Quelle est l'erreur dans cet algorithme ?
Algorithme Calcul_Moyenne
Variables tableau T[20] : Entier
somme, i : Entier
Début
somme ← 0
Pour i allant de 0 à 19 faire
somme ← somme + T[i]
Fin Pour
moyenne ← somme / 20
Ecrire(moyenne)
Fin
a) L'algorithme n’affiche pas la moyenne
b) Il n'y a pas d'erreur, l'algorithme fonctionne correctement
c) L'opération de division est incorrecte
d) Il manque une variable pour stocker la moyenne
Exercice 2 :
Quelle est l'erreur dans cet algorithme ?
Algorithme MontantNetAvecRemise
Variable montant, montant_net : Réel
Début
Ecrire ("Entrez le montant : ")
Lire (montant)
Si ((montant >= 2000) ET (montant <= 5000)) Alors
montant_net ← montant - (montant * 0.01)
Sinon
Si (montant > 5000) Alors
montant_net ← montant - (montant * 0.02)
Sinon
montant_net ← montant
FinSi
Ecrire ("Le montant net après remise est : ", montant_net)
Fin
a) Il n'y a pas d'erreur, l'algorithme fonctionne correctement \
b) Le calcul de montant_net ne change pas avec la condition
c) Le manque de Finsi
d) Le manque de Sinon
Exercice 3 :
Quelle est l'erreur dans cet algorithme ?
Algorithme PlusPetiteValeur
Variable valeur1, valeur2, valeur3, plus_petite : Entier
Début
Ecrire ("Entrez les 3 valeurs : ")
Lire (valeur1,valeur2,valeur3)
plus_petite ← valeur1
Si (valeur2 < plus_petite) Alors
plus_petite ← valeur2
Sinon
Si (valeur3 < plus_petite) Alors
plus_petite ← valeur3
FinSi
FinSi
Ecrire ("La plus petite valeur parmi ", valeur1, ", ", valeur2, " et ", valeur3, " est : ", plus_petite)
Fin
a) La lecture des 3 valeurs ensemble
b) L’instruction Sinon Si pour la comparaison avec valeur3.
c) Il n'y a pas d'erreur, l'algorithme fonctionne correctement
d) Il manque une FinSi
Corriger cet algorithme.
Exercice 4 :
Quelle est l'erreur dans cet algorithme ?
Algorithme Calcul_Somme
Variables n, S, i : Entier
Début
S←0
i←0
Tant Que i < n faire
S←S+i
Fin Tant Que
Retourner S
Fin
a) L'algorithme calcule correctement la somme \
b) Il n'y a pas d'erreur, l'algorithme fonctionne correctement \
c) La condition de la boucle Tant Que est incorrecte \
d) Il manque une instruction pour incrémenter la variable i
Exercice 5 :
C’est quoi le résultat de cet algorithme
Algorithme ProduitNegatifPositifNul
Variable nombre1, nombre2, nombre3, p : Réel
Début
nombre1 ← 7
nombre2 ← 9
nombre3 ← nombre1 – nombre2
Si ((nombre1 == 0) OU (nombre3 == 0)) Alors
p ← nombre1 * nombre3
Ecrire ("Le produit est nul.")
Sinon
Si (((nombre1 > 0) ET (nombre3 > 0)) OU ((nombre1 < 0) ET (nombre3 < 0))) Alors
p ← nombre1 * nombre3
Ecrire ("Le produit est positif.")
Sinon
p ← nombre1 * nombre2
Ecrire ("Le produit est négatif.")
FinSi
FinSi
Fin
a) "Le produit est positif."
b) 63
c) "Le produit est négatif."
d) -14
Exercice 6 :
Que fait cet algorithme :
Algorithme DemanderNombre
Variable nombre : Entier
Debut
Faire / Répéter
// Demander à l'utilisateur d'entrer un nombre
Écrire ("Veuillez entrer un nombre entre 1 et 3 : ")
Lire (nombre)
Tant que (nombre < 1 OU nombre > 3)
Fin
a) Afficher le message "Veuillez entrer un nombre entre 1 et 3 : " 3 fois
b) Répéter l’affichage du message "Veuillez entrer un nombre entre 1 et 3 : " jusqu’à la saisi
d’un nombre dans l’intervalle [1,3]
c) Répéter l’affichage du message "Veuillez entrer un nombre entre 1 et 3 : " jusqu’à la saisi
d’un nombre n’est pas dans l’intervalle [1,3]
d) Afficher le nombre saisi par l’utilisateur entre 1 et 3 fois
Exercice 7 :
Corriger l’algorithme :
Algorithme NombresPremiers
Variable nombre, diviseur : Entier
Debut
Pour nombre allant de 0 à 100 faire
est_premier ← Faux
// Vérifier si le nombre est égal à 0 ou 1
Si nombre = 1 Alors
est_premier ← Faux
Sinon
Si nombre = 2 alors
est_premier ← Faux
Sinon
// Vérifier si le nombre est divisible par un diviseur autre que 1 et lui-même
Pour diviseur allant de 2 à (nombre - 1) faire
Si (nombre mod diviseur = 0) Alors
est_premier ← Faux
Quitter la boucle
FinPour
FinSi
// Si le nombre est premier, l'afficher
Si (est_premier = Faux) Alors
Écrire (nombre)
FinSi
FinPour
Fin