Algorithmique II
Série 1 :
Exercice 1 :
Algorithme qui lit N entiers dans un tableau T de taille maximale 100 et les affiche.
NB : N est saisi au clavier
Exercice 2 :
Algorithme qui lit N entiers dans un tableau T et calcule ensuite leur somme S.
Exemple :
Taille maximale = 50 ; N = 3 ; T 17 -5 6 …
0 1 2 49
Résultat : S : 18
Exercice 3 :
Soit l’algorithme suivant :
N, i, k, T[100]
Début
Faire
Ecrire ( Nombre d’éléments )
Lire (N)
Tant que (N>100 OU N<=0)
Pour i ← 0 à N-1 Pas = 1
Ecrire ( Elément T ,i)
Lire (T[i])
Fin Pour
Pour i ← 0 à N-2 Pas = 1
k ← T[(i+1) mod N]
T[(i+1) mod N] ← T[i]
T[i] ← k
Fin Pour
Fin
Que contiendra le tableau T à la fin de l’algorithme si on a :
N = 5 et les éléments saisis sont : 7, 13, 4, 10, 19
Exercice 4 :
Algorithme qui lit N entiers dans un tableau T, lit un entier X et calcule le nombre
d’occurrences de X dans T
Exemple :
N = 10 ; X = 16 ; T 9 4 1 8 -1 1 3 7 16 16
6
0 1 2 3 4 5 6 7 8 9
Résultat : Oc : 3
Exercice 5 :
Algorithme qui lit N entiers dans un tableau T et détermine le maximum et le minimum.
Exemple :
N = 10 ; T 9 4 1 8 -1 1 3 7 16 16
6
0 1 2 3 4 5 6 7 8 9
Résultat : Max : 16 ; Min : -1
Exercice 6 :
Algorithme qui lit N entiers dans un tableau T, lit un entier X et détermine l’indice de la
première occurrence de X dans T.
Exemple :
N = 10 ; T 9 4 1 8 0 1 3 7 16 16
6
0 1 2 3 4 5 6 7 8 9
X : 16 ; Résultat : 16 existe dans la case 2
X : 20 ; Résultat : 20 n’existe pas
Exercice 7 :
Algorithme qui lit N entiers dans un tableau T, détermine le maximum et son nombre
d’occurrences.
Exemple :
N = 10 ; T 9 4 1 8 0 1 3 7 16 16
6
0 1 2 3 4 5 6 7 8 9
Résultat : Max : 16 ; Oc : 3
Exercice 8 :
Algorithme qui lit N entiers dans un tableau T, et décale d’un pas à gauche toutes les cases et
stocke la première valeur à la fin du tableau.
Exemple :
N=5;T 7 9 6 8 1
0 1 2 3 4
Résultat : N=9; T 9 6 8 1 7
0 1 2 3 4
Entier T[100], i, N, K
Début
\\ Contrôle de saisie de N
\\ Remplissage du tableau T
K = T[0]
Pour i de 0 à N-2 pas = 1
T[i] = T[i+1]
Fin Pour
T[N-1] = K
Fin
Exercice 9 :
Algorithme qui lit N entiers dans un tableau T et un indice k (0≤k≤N-1). On doit supprimer la
valeur se trouvant dans la case d’indice k.
Exemple :
N = 10 ; k = 3 ; T 9 4 1 8 0 1 3 7 11 13
6
0 1 2 3 4 5 6 7 8 9
Résultat : N=9; T 9 4 16 0 1 3 7 11 13
0 1 2 3 4 5 6 7 8
Algorithme SupprimerElement
Entier i, N, k, T[100]
Début
// Lire N
// Lire le tableau
// Lire l'indice k de l'élément à supprimer :
Répéter
Afficher "Entrez l'indice k (0 ≤ k ≤ ", N-1, ") :"
Lire k
Jusqu'à (k >= 0 ET k <= N-1)
// Supprimer l'élément à l'indice k
Pour i de k à N-2 Faire
T[i] = T[i+1] // Décaler les éléments vers la gauche
Fin Pour
// Réduire la taille du tableau
N=N-1
// Afficher le tableau après suppression
Afficher "Tableau après suppression :"
Pour i de 0 à N-1 Faire
Afficher T[i]
Fin Pour
Fin
Exercice 10 :
Algorithme qui lit N entiers dans un tableau T, un entier X et un indice k (0≤k≤N-1). On doit
insérer X dans la case d’indice k.
Exemple :
9 7 8 0 1 3 10
N = 7 ; X = 17; k = 2 ; T 0 1 2 3 4 5 6
9 7 17 8 0 1 3 10
0 1 2 3 4 5 6 7
Résultat : N=8; T
Algorithme InsererElement
Entier T[100], i, N, k, X
Début
// Lire la taille du tableau N
Faire
Ecrire (" Donnez la taille du tableau")
Lire N
Tant que N<=0 OU N>100
// Lire les éléments du tableau
Pour i de 0 à N-1 Faire
Afficher "Entrez l'élément T[", i, "] :"
Lire T[i]
Fin Pour
// Lire la valeur X à insérer
Afficher "Entrez la valeur X à insérer :"
Lire X
// Lire l'indice k où insérer X
Répéter
Afficher "Entrez l'indice k (0 ≤ k ≤ ", N-1, ") :"
Lire k
Jusqu'à (k >= 0 ET k <= N-1)
// Décaler les éléments vers la droite à partir de l'indice k
Pour i de N-1 à k (pas -1) Faire
T[i+1] = T[i] // Décaler l'élément vers la droite
Fin Pour
// Insérer X à l'indice k
T[k] = X
// Augmenter la taille du tableau
N=N+1
// Afficher le tableau après insertion
Afficher "Tableau après insertion :"
Pour i de 0 à N-1 Faire
Afficher T[i]
Fin Pour
Fin
Exercice 11 :
Algorithme qui lit N entiers dans un tableau T et calcule le nombre d’occurrences de chaque
valeur du tableau.
Exemple :
N = 12; T 3 7 5 7 7 3 5 6 1 7 3 1
0 1 2 3 4 5 6 7 8 9 10 11
Résultat :
Entier Occurrences
3 3
7 4
5 2
6 1
01 2
Réponse :
Algorithme CompterOccurrences
Variables
Entier T[50], N , i, j, valeur, compteur
Début
// Contrôle de saisie
Faire
Afficher "Entrez la taille du tableau N :"
Lire N
Tant que N <=0 Ou N>50
// Lire les éléments du tableau // Remplissage
Pour i de 0 à N-1 Faire
Afficher "Entrez l'élément T[", i, "] :"
Lire T[i]
Fin Pour
// Parcourir le tableau pour compter les occurrences
Pour i de 0 à N-1 Faire
valeur = T[i]
compteur = 1 // Initialiser le compteur
// Vérifier si la valeur a déjà été comptée
Pour j de 0 à i-1 Faire
Si T[j] = valeur Alors
compteur = 0 // La valeur a déjà été comptée, on ignore
Sortir de la boucle // Pas besoin de continuer
Fin Si
Fin Pour
// Si la valeur n'a pas déjà été comptée, compter ses occurrences
Si compteur = 1 Alors
Pour j de i+1 à N-1 Faire
Si T[j] = valeur Alors
compteur = compteur + 1
Fin Si
Fin Pour
// Afficher le résultat
Afficher "La valeur ", valeur, " apparaît ", compteur, " fois."
Fin Si
Fin Pour
Fin
Exercice 12 :
Algorithme qui lit un tableau T de N entiers classés dans l’ordre croissant et un entier X. On
doit insérer X en conservant le tri des éléments.
Exemple :
N = 9 ; X = 15 ; T 7 9 10 13 17 20 23 30 40
0 1 2 3 4 5 6 7 8
Résultat : T 7 9 1 13 15 17 20 23 30 40
0
0 1 2 3 4 5 6 7 8 9
// Lire la valeur X à insérer
Afficher "Entrez la valeur X à insérer :"
Lire X
// Trouver la position où insérer X
position = 0
Tant que (position < N ET T[position] < X) Faire
position = position + 1
Fin Tant que
// Décaler les éléments à droite pour faire de la place
Pour i de N-1 à position (pas -1) Faire
T[i+1] = T[i]
Fin Pour
// Insérer X à la bonne position
T[position] = X
// Augmenter la taille du tableau
N=N+1
// Afficher le tableau après insertion
Afficher "Tableau après insertion :"
Pour i de 0 à N-1 Faire
Afficher T[i]
Fin Pour
Fin
Exercice 13 :
Algorithme qui lit un tableau T de N entiers qui doivent être saisis dans l’ordre croissant.
NB : Chaque case lue doit être supérieure à la précédente.
Exercice 14 :
Algorithme qui lit un tableau T de N entiers et un entier X. On doit supprimer toutes les
occurrences de X.
Exemple :
N = 11 ; X = 7 ; T 3 7 9 7 7 7 4 0 7 5 10
Résultat : N = 6 ; T 3 9 4 6 5 10
Pour i de 0 à N-1
Si T[i] = X Alors
Pour j de i à N-2
T[j] = T[j+1]
Fin Pour
N = N - 1 // Réduire la taille du tableau
i=0 // Réinitialiser l'indice i
Fin Si
Fin Pour
Exercice 15 :
Algorithme qui lit un tableau T de N entiers et détermine l’entier qui se répète le plus dans le
tableau.
Exemple :
N = 10 ; T 3 4 3 5 5 4 5 2 5 3
Résultat : 5
Corrigé :
Entier T[100] , valq_max, N, i, occ, occ_max=1
Début
// Contrôle de saisie de N
// Remplissage du tableau
// Main
Pour i ← 0 à N – 1 Pas = 1
Occ ← 1
Pour j ← i+1 à N – 1 Pas = 1
Si T[j] = T[i] Alors
Occ ← Occ + 1
Fin Si
Fin Pour
Si Occ > Occ_max Alors
Val_max ← T[i]
Occ_max ← Occ
Fin Si
Fin Pour