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.
La tenue de registres est une méthode essentielle pour organiser et gérer des informations de…
La critique littéraire est une approche qui consiste à analyser, interpréter et évaluer un texte…
La méthode de lecture Paul et Suzanne est une méthode syllabique qui repose sur un…
La logistique est le moteur silencieux derrière la réussite de tout événement ou projet. Bien…
La résolution de problèmes est une compétence essentielle dans divers contextes professionnels et personnels. Ce…
Le problème des files d’attente est courant dans de nombreux domaines (services clients, production, logistique)…
This website uses cookies.