Ce guide propose une série d’exercices d’algorithme corrigés pour renforcer vos compétences en logique, programmation et résolution de problèmes. Les exercices couvrent des concepts de base et avancés, adaptés pour les débutants et les niveaux intermédiaires.
Écrivez un algorithme qui calcule la somme des N premiers entiers positifs. N est donné par l’utilisateur.
somme à 0.somme.def somme_entiers(N):
somme = 0
for i in range(1, N + 1):
somme += i
return somme
# Exemple d'utilisation
N = int(input("Entrez un entier N : "))
print("La somme des", N, "premiers entiers est :", somme_entiers(N))
Écrivez un algorithme qui vérifie si un nombre donné est pair ou impair.
def verifier_pair_impair(nombre):
if nombre % 2 == 0:
return "Pair"
else:
return "Impair"
# Exemple d'utilisation
nombre = int(input("Entrez un nombre : "))
print("Le nombre est :", verifier_pair_impair(nombre))
Écrivez un algorithme qui trouve le plus grand de trois nombres donnés.
def plus_grand(a, b, c):
if a >= b and a >= c:
return a
elif b >= a and b >= c:
return b
else:
return c
# Exemple d'utilisation
a = int(input("Entrez le premier nombre : "))
b = int(input("Entrez le deuxième nombre : "))
c = int(input("Entrez le troisième nombre : "))
print("Le plus grand nombre est :", plus_grand(a, b, c))
Écrivez un algorithme qui affiche la table de multiplication d’un nombre donné jusqu’à 10.
def table_multiplication(nombre):
for i in range(1, 11):
print(f"{nombre} x {i} = {nombre * i}")
# Exemple d'utilisation
nombre = int(input("Entrez un nombre : "))
table_multiplication(nombre)
Écrivez un algorithme qui vérifie si une chaîne donnée est un palindrome (elle se lit de la même façon à l’endroit et à l’envers).
def est_palindrome(chaine):
return chaine == chaine[::-1]
# Exemple d'utilisation
chaine = input("Entrez une chaîne : ").lower()
if est_palindrome(chaine):
print("C'est un palindrome.")
else:
print("Ce n'est pas un palindrome.")
Écrivez un algorithme qui calcule le factoriel d’un nombre entier non négatif donné.
factoriel à 1.def factoriel(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
# Exemple d'utilisation
n = int(input("Entrez un nombre entier : "))
print(f"Le factoriel de {n} est :", factoriel(n))
Écrivez un algorithme qui trouve tous les nombres premiers entre 1 et N.
def nombres_premiers(n):
premiers = []
for i in range(2, n + 1):
est_premier = True
for j in range(2, int(i ** 0.5) + 1):
if i % j == 0:
est_premier = False
break
if est_premier:
premiers.append(i)
return premiers
# Exemple d'utilisation
n = int(input("Entrez une borne supérieure : "))
print("Les nombres premiers jusqu'à", n, "sont :", nombres_premiers(n))
Écrivez un algorithme qui trie une liste de nombres dans l’ordre croissant.
def trier_liste(liste):
return sorted(liste)
# Exemple d'utilisation
liste = [5, 2, 9, 1, 5]
print("Liste triée :", trier_liste(liste))
Ces exercices couvrent différents concepts d’algorithme : logique conditionnelle, boucles, manipulations de chaînes, calculs mathématiques, et gestion de tableaux. Ils vous aideront à consolider vos bases et à développer des solutions efficaces.
Écrivez un algorithme qui calcule la somme de tous les multiples d’un nombre donné, compris dans un intervalle spécifié par l’utilisateur.
somme à 0.borne_inf à borne_sup : N, ajoutez-le à somme.somme.def somme_multiples(N, borne_inf, borne_sup):
somme = 0
for i in range(borne_inf, borne_sup + 1):
if i % N == 0:
somme += i
return somme
# Exemple d'utilisation
N = int(input("Entrez un nombre entier N : "))
borne_inf = int(input("Entrez la borne inférieure : "))
borne_sup = int(input("Entrez la borne supérieure : "))
resultat = somme_multiples(N, borne_inf, borne_sup)
print(f"La somme des multiples de {N} entre {borne_inf} et {borne_sup} est : {resultat}")
Ajoutez une condition pour que l’algorithme ignore les nombres négatifs dans l’intervalle ou les traite différemment (par exemple, afficher un avertissement si un intervalle contient des nombres négatifs).
Écrivez une fonction appelée est_premier qui détermine si un nombre donné est un nombre premier. Un nombre premier est un entier supérieur à 1 qui n’est divisible que par 1 et lui-même.
Ensuite, utilisez cette fonction pour afficher tous les nombres premiers dans un intervalle donné par l’utilisateur.
est_premier(n) : True si n est un nombre premier.False sinon.est_premier pour identifier les nombres premiers.est_premier : i entre 2 et la racine carrée de n : n est divisible par i, il n’est pas premier.def est_premier(n):
"""Vérifie si un nombre est premier."""
if n <= 1:
return False
for i in range(2, int(n ** 0.5) + 1):
if n % i == 0:
return False
return True
def nombres_premiers_dans_intervalle(borne_inf, borne_sup):
"""Trouve tous les nombres premiers dans un intervalle donné."""
premiers = []
for i in range(borne_inf, borne_sup + 1):
if est_premier(i):
premiers.append(i)
return premiers
# Exemple d'utilisation
borne_inf = int(input("Entrez la borne inférieure : "))
borne_sup = int(input("Entrez la borne supérieure : "))
resultat = nombres_premiers_dans_intervalle(borne_inf, borne_sup)
print(f"Les nombres premiers entre {borne_inf} et {borne_sup} sont : {resultat}")
est_premier(n) : False.nombres_premiers_dans_intervalle : est_premier pour vérifier.Demandez à l’utilisateur de spécifier la position k, puis modifiez la fonction pour trouver et afficher le k-ième nombre premier. Par exemple :
Écrivez un programme qui permet de :
tableau.taille).taille : max_val avec la première valeur.def calculer_moyenne(tableau):
"""Calcule la moyenne des valeurs d'un tableau."""
return sum(tableau) / len(tableau)
def trouver_maximum(tableau):
"""Trouve la valeur maximale dans un tableau."""
max_val = tableau[0]
for valeur in tableau:
if valeur > max_val:
max_val = valeur
return max_val
# Programme principal
taille = int(input("Entrez la taille du tableau : "))
tableau = []
# Entrée des valeurs
for i in range(taille):
valeur = float(input(f"Entrez la valeur {i + 1} : "))
tableau.append(valeur)
# Calcul de la moyenne et du maximum
moyenne = calculer_moyenne(tableau)
maximum = trouver_maximum(tableau)
# Affichage des résultats
print(f"La moyenne des valeurs est : {moyenne:.2f}")
print(f"La valeur maximale est : {maximum}")
sum() additionne toutes les valeurs, et on divise par la longueur du tableau pour obtenir la moyenne.Cet exercice vous permet de pratiquer la manipulation des tableaux (listes) dans un contexte réaliste et utile. Vous pouvez enrichir l’exercice en ajoutant des calculs ou des vérifications supplémentaires pour approfondir vos compétences.
Écrivez un programme qui gère un annuaire téléphonique en utilisant un dictionnaire. Le programme doit permettre de :
annuaire.1. Ajouter un contact 2. Rechercher un numéro 3. Supprimer un contact 4. Afficher tous les contacts 5. Quitter{'Alice': '123456789'}{}annuaire comme un dictionnaire vide.def afficher_menu():
print("\nMenu :")
print("1. Ajouter un contact")
print("2. Rechercher un numéro")
print("3. Supprimer un contact")
print("4. Afficher tous les contacts")
print("5. Quitter")
def ajouter_contact(annuaire):
nom = input("Entrez le nom : ")
numero = input("Entrez le numéro : ")
annuaire[nom] = numero
print(f"Contact ajouté : {nom} -> {numero}")
def rechercher_contact(annuaire):
nom = input("Entrez le nom à rechercher : ")
if nom in annuaire:
print(f"Numéro de {nom} : {annuaire[nom]}")
else:
print(f"{nom} n'est pas dans l'annuaire.")
def supprimer_contact(annuaire):
nom = input("Entrez le nom à supprimer : ")
if nom in annuaire:
del annuaire[nom]
print(f"{nom} a été supprimé.")
else:
print(f"{nom} n'existe pas dans l'annuaire.")
def afficher_contacts(annuaire):
if annuaire:
print("\nContacts :")
for nom, numero in annuaire.items():
print(f"{nom} : {numero}")
else:
print("L'annuaire est vide.")
# Programme principal
annuaire = {}
while True:
afficher_menu()
choix = input("Choisissez une option : ")
if choix == "1":
ajouter_contact(annuaire)
elif choix == "2":
rechercher_contact(annuaire)
elif choix == "3":
supprimer_contact(annuaire)
elif choix == "4":
afficher_contacts(annuaire)
elif choix == "5":
print("Au revoir !")
break
else:
print("Option invalide. Veuillez réessayer.")
annuaire : annuaire[nom] = numero pour ajouter une entrée.if nom in annuaire.del annuaire[nom].for nom, numero in annuaire.items().Cet exercice permet de pratiquer la manipulation des dictionnaires en Python dans un contexte réaliste.
Deux outils concrets pour piloter la qualité sans alourdir vos équipes Un système qualité n’avance…
Un chantier se gagne souvent avant même l’arrivée des équipes. Quand tout est clair dès…
Le mariage a du sens quand il repose sur une décision libre, mûrie et partagée.…
Une étude de cas réussie commence par une structure sûre. Ce modèle Word vous guide…
Les soft skills se repèrent vite sur une fiche, mais elles ne pèsent vraiment que…
Outil de comparaison et repérage des offres étudiantes Choisir des verres progressifs ressemble rarement à…
This website uses cookies.