100 Exercices Corrigés En Algorithme avec les Organigrammes – Partie 4
La meilleure façon d’apprendre quelque chose est de pratiquer des exercices. Nous avons préparer ces exercices corrigés pour les personnes (débutantes ou intermédiaires) qui sont familières avec les algorithmes et programmation. Nous espérons que ces exercices vous aideront à améliorer vos compétences sur les algorithmes et programmation. Les exercices corrigés suivantes sont actuellement disponibles, nous travaillons dur pour ajouter plus d’exercices. Bon apprentissage!
Vous pouvez lire notre tutoriel sur les algorithmes avant de résoudre les exercices suivants.
51. Écrire un algorithme qui convertit une température en degrés Celsius en degrés Fahrenheit. Utilisez les variables « celsius », « fahrenheit » et la formule de conversion pour effectuer le calcul.
Formule: Fahrenheit (°F) = (Température en degrés Celsius (°C) * 9/5) + 32
Exemple de sortie:
Entrez la température en degrés Celsius: 45 La température en Fahrenheit est: 113
Algorithme CelsiusToFahrenheit
Variables fahrenheit,celsius: entiers
Début
fahrenheit ← 0 // Initialise la température Fahrenheit à 0
Ecrire("Entrez la température en degrés Celsius:")
Lire(celsius) // Lit la température saisie en degrés Celsius
// Convertit la température de Celsius en Fahrenheit
fahrenheit ← (celsius * (9 div 5)) + 32
// Affiche la température convertie
Ecrire("La température en Fahrenheit est:",fahrenheit)
Fin
52. Écrire un algorithme qui permute ou échange deux nombres saisis par l’utilisateur, mais avec seulement deux variables N1 et N2 sans utiliser une variable temporaire.
Exemple de sortie:
Entrer le nombre N1 : 10 Entrer le nombre N2 : 5 ------permutation------ N1 = 5 N2 = 10
Algorithme Permuter2Nbr
Variables N1,N2 :entiers
Début
Ecrire("Entrer le nombre N1:")
Lire(N1) // Lit le premier nombre
Ecrire("Entrer le nombre N2:")
Lire(N2) // Lit le deuxième nombre
// Stocke temporairement la somme des deux nombres dans N1
N1 ← N1 + N2
// Récupère l'ancienne valeur de N1 et la place dans N2
N2 ← N1 - N2
// Récupère l'ancienne valeur de N2 et la place dans N1
N1 ← N1 - N2
Ecrire("N1 = ",N1) // Affiche la nouvelle valeur de N1
Ecrire("N2 = ",N2) // Affiche la nouvelle valeur de N2
Fin
53. Écrire un algorithme qui permute et affiche les valeurs des trois nombres (N1, N2 et N3) saisis par l’utilisateur, en ordre croissant c’est-à-dire (N1 < N2 < N3).
Exemple de sortie:
Entrer le nombre N1 : 10 Entrer le nombre N2 : 1 Entrer le nombre N3 : 5 ------permutation------ N1 = 1 N2 = 5 N3 = 10
Algorithme Echange3Nbr
Variables N1,N2,N3,tmp: Entiers
Début
Ecrire("Entrer le nombre N1 :")
Lire(N1) // Lit le premier nombre
Ecrire("Entrer le nombre N2 :")
Lire(N2) // Lit le deuxième nombre
Ecrire("Entrer le nombre N3 :")
Lire(N3) // Lit le troisième nombre
Si(N1 > N2) alors // Vérifie si N1 est supérieur à N2
tmp ← N1 // Sauvegarde temporairement N1
N1 ← N2 // Place N2 dans N1
N2 ← tmp // Place l'ancienne valeur de N1 dans N2
FinSi
Si(N1 > N3) alors // Vérifie si N1 est supérieur à N3
tmp ← N1 // Sauvegarde temporairement N1
N1 ← N3 // Place N3 dans N1
N3 ← tmp // Place l'ancienne valeur de N1 dans N3
FinSi
Si(N2 > N3) alors // Vérifie si N2 est supérieur à N3
tmp ← N2 // Sauvegarde temporairement N2
N2 ← N3 // Place N3 dans N2
N3 ← tmp // Place l'ancienne valeur de N2 dans N3
FinSi
Ecrire("N1 =",N1) // Affiche le plus petit nombre
Ecrire("N2 =",N2) // Affiche le nombre intermédiaire
Ecrire("N3 =",N3) // Affiche le plus grand nombre
Fin
54. Écrire un algorithme qui place les zéro vers la fin du tableau, en maintenant l’ordre des éléments.
Exemple de sortie:
Entrée: 8 0 6 0 1 6 0 0 2 3 Sortie: 8 6 1 6 2 3 0 0 0 0
Algorithme ZéroALaFin
Variables i,j,T[10],tmp: Entiers
Début
Pour i de 1 jusqu’à 10 faire
Lire(T[i]) // Lit les 10 éléments du tableau
FinPour
Pour i de 1 jusqu’à 10 faire
Ecrire(T[i]) // Affiche le tableau avant la modification
FinPour
// Parcourt le tableau pour rechercher les zéros
Pour i de 1 jusqu’à 9 faire
// Vérifie si l'élément actuel est égal à 0
Si(T[i] = 0) alors
// Commence la recherche d'un élément non nul après le zéro
j ← i + 1;
// Cherche le prochain élément différent de 0
TantQue(T[j]=0 et j<9) faire
j ← j + 1 // Passe à la position suivante
FinTantQue
tmp ← T[i] // Sauvegarde temporairement le zéro
T[i]← T[j] // Place l'élément non nul à la position du zéro
T[j]← tmp // Place le zéro à la position de l'élément déplacé
FinSi
FinPour
// Parcourt le tableau après les déplacements
Pour i de 1 jusqu’à 10 faire
// Affiche le tableau avec les zéros déplacés à la fin
Ecrire(T[i])
FinPour
Fin
55. Écrire une procédure qui affiche si le nombre passé en paramètre est pair ou impair.
Exemple de sortie:
3 est impair. 2 est pair.
Procédure checkNbr(N:entier)
Début
// Vérifie si le reste de la division de N par 2 est égal à 0
Si(N mod 2 = 0) alors
Ecrire(N," est impair.") // Affiche que N est impair
Sinon
Ecrire(N," est pair.") // Affiche que N est pair
FinSi
FinProcédure
56. Écrire une fonction qui retourne le nombre de caractères dans une chaîne de caractères passée en paramètre.
Exemple de sortie:
Entrez une chaîne de caractères: Hello Le nombre de caractères est: 5
Fonction strSize(str[]: tableau de caractères): entier
Variables size: entier
size ← 0 // Initialise le compteur à 0
// Parcourt le tableau jusqu'au caractère de fin '\0'
Tant que(str[size] ≠ '\0') faire
// Incrémente le compteur pour chaque caractère trouvé
size ← size + 1
FinTantque
retourner size // Retourne le nombre de caractères de la chaîne
FinFonction
57. Écrire une procédure qui initialise un tableau. Cette procédure prend un tableau d'entier, sa taille et la valeur à insérer.
Procédure initialiser(T[]: tableau d❛entier, taille:entier, val:entier)
Variables i :entier;
Début
// Parcourt toutes les positions du tableau
Pour i de 1 jusqu❛à taille faire
// Affecte la valeur val à la position i du tableau
T[i] = val
finPour
fin
finProcédure
58. Écrire une fonction qui permet de calculer la valeur absolue d’un nombre donné.
Fonction nbrAbsolue(N : réel): réel
Début
Si(N > 0) alors // Vérifie si le nombre est positif
retourner N // Retourne directement N s'il est positif
Sinon
retourner -N // Retourne l'opposé de N s'il est négatif
FinFonction
59. Écrire une fonction qui trouve le nombre de fois un caractère se trouve dans une chaîne de caractères. La fonction prend en paramètre le caractère à trouver et la chaîne de caractères.
Fonction countChar(string[]:tableau de caractères, c:caractère): entier
Début
Variables nbrChar,i:entiers
nbrChar ← 0 // Initialise le compteur de caractères à 0
i ← 0 // Commence le parcours de la chaîne à la première position
// Parcourt la chaîne jusqu'au caractère de fin '\0'
Tantque (string[i] ≠ '\0') faire
// Vérifie si le caractère actuel correspond au caractère recherché
Si (string[i] = c)
// Incrémente le compteur lorsqu'une correspondance est trouvée
nbrChar ← nbrChar + 1
FinSi
// Passe au caractère suivant de la chaîne
i ← i + 1
FinTantque
// Retourne le nombre total d'occurrences trouvées
retourner nbrChar
Fin
60. Écrire une procédure qui permet d'afficher la table de multiplication d’un nombre N.
Procedure getMultiplication(N: entier)
Variables i: entier
Début
// Parcourt les multiplicateurs de 1 à 10
Pour i de 1 à 10 faire
// Calcule et affiche N multiplié par i
Ecrire(N," x ",i," = ",N*i)
FinPour
Fin











merci pour ces exercises