Énoncé
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Saisir un entier Cible. Écrire une fonction Compter qui retourne le nombre d’occurrences de Cible dans T, puis afficher ce nombre.
Exemples et cas limites
Saisissez ces valeurs dans la console pour vérifier votre résultat :
Saisir N, puis les N entiers t[0] à t[N − 1], un par un. Les données de l’exemple sont un essai : choisissez vos propres valeurs dans le terminal. Saisir ensuite Cible.
Entrée
N = 5 t[0] = 8 t[1] = 3 t[2] = 5 t[3] = 3 t[4] = 1 Cible = 3
Sortie attendue
2
Entrée
N = 4 t[0] = 7 t[1] = -2 t[2] = 7 t[3] = 7 Cible = 7
Sortie attendue
3
Entrée
N = 2 t[0] = 8 t[1] = 2 Cible = 9
Sortie attendue
0
Complétez les modules marqués par un commentaire dans le code de départ. Les modules déjà écrits permettent de saisir vos données. Exécutez les cas de test et comparez la sortie attendue, ou ouvrez directement l’onglet Correction.
Code algorithmique
| 1 | algorithme compter_occurrences |
| 2 | debut |
| 3 | saisir(n) |
| 4 | remplir(t, n) |
| 5 | saisircible(cible) |
| 6 | nombre ← compter(t, n, cible) |
| 7 | afficher(nombre) |
| 8 | fin |
| 9 | |
| 10 | procedure saisir(@n : entier) |
| 11 | debut |
| 12 | repeter |
| 13 | ecrire("N = ") |
| 14 | lire(n) |
| 15 | jusqua 1 ≤ n ≤ 100 |
| 16 | fin |
| 17 | |
| 18 | procedure remplir(@t : tab, n : entier) |
| 19 | debut |
| 20 | pour i de 0 à n - 1 faire |
| 21 | ecrire("t[" + convch(i) + "] = ") |
| 22 | lire(t[i]) |
| 23 | fin_pour |
| 24 | fin |
| 25 | |
| 26 | procedure saisircible(@cible : entier) |
| 27 | debut |
| 28 | ecrire("Cible = ") |
| 29 | lire(cible) |
| 30 | fin |
| 31 | |
| 32 | fonction compter(t : tab, n : entier, cible : entier) : entier |
| 33 | debut |
| 34 | // compléter le traitement demandé dans l’énoncé. |
| 35 | retourner 0 |
| 36 | fin |
| 37 | |
| 38 | procedure afficher(resultat : entier) |
| 39 | debut |
| 40 | ecrire_nl(resultat) |
| 41 | fin |
| 1 | algorithme compter_occurrences |
| 2 | debut |
| 3 | saisir(n) |
| 4 | remplir(t, n) |
| 5 | saisircible(cible) |
| 6 | nombre ← compter(t, n, cible) |
| 7 | afficher(nombre) |
| 8 | fin |
| 9 | |
| 10 | procedure saisir(@n : entier) |
| 11 | debut |
| 12 | repeter |
| 13 | ecrire("N = ") |
| 14 | lire(n) |
| 15 | jusqua 1 ≤ n ≤ 100 |
| 16 | fin |
| 17 | |
| 18 | procedure remplir(@t : tab, n : entier) |
| 19 | debut |
| 20 | pour i de 0 à n - 1 faire |
| 21 | ecrire("t[" + convch(i) + "] = ") |
| 22 | lire(t[i]) |
| 23 | fin_pour |
| 24 | fin |
| 25 | |
| 26 | procedure saisircible(@cible : entier) |
| 27 | debut |
| 28 | ecrire("Cible = ") |
| 29 | lire(cible) |
| 30 | fin |
| 31 | |
| 32 | fonction compter(t : tab, n : entier, cible : entier) : entier |
| 33 | debut |
| 34 | nombre ← 0 |
| 35 | pour i de 0 à n - 1 faire |
| 36 | si t[i] = cible alors |
| 37 | nombre ← nombre + 1 |
| 38 | fin si |
| 39 | fin_pour |
| 40 | retourner nombre |
| 41 | fin |
| 42 | |
| 43 | procedure afficher(resultat : entier) |
| 44 | debut |
| 45 | ecrire_nl(resultat) |
| 46 | fin |
Méthode
- Initialiser un compteur à 0.
- Incrémenter le compteur pour chaque égalité.