Énoncé
Saisir N avec 1 ≤ N ≤ 100 et remplir un tableau T de N entiers. Déterminer son minimum et son maximum sans fonction prédéfinie, puis les afficher. Utiliser les procédures Saisir, Remplir, Calculer et Afficher.
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.
Entrée
N = 5 t[0] = 8 t[1] = 3 t[2] = 5 t[3] = 3 t[4] = 1
Sortie attendue
1 8
Entrée
N = 3 t[0] = -8 t[1] = -1 t[2] = -5
Sortie attendue
-8 -1
Entrée
N = 1 t[0] = 4
Sortie attendue
4 4
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 minimum_maximum_tableau |
| 2 | debut |
| 3 | saisir(n) |
| 4 | remplir(t, n) |
| 5 | calculer(t, n, minimum, maximum) |
| 6 | afficher(minimum, maximum) |
| 7 | fin |
| 8 | |
| 9 | procedure saisir(@n : entier) |
| 10 | debut |
| 11 | repeter |
| 12 | ecrire("N = ") |
| 13 | lire(n) |
| 14 | jusqua 1 ≤ n ≤ 100 |
| 15 | fin |
| 16 | |
| 17 | procedure remplir(@t : tab, n : entier) |
| 18 | debut |
| 19 | pour i de 0 à n - 1 faire |
| 20 | ecrire("t[" + convch(i) + "] = ") |
| 21 | lire(t[i]) |
| 22 | fin_pour |
| 23 | fin |
| 24 | |
| 25 | procedure calculer(t : tab, n : entier, @minimum : entier, @maximum : entier) |
| 26 | debut |
| 27 | // compléter le traitement demandé dans l’énoncé. |
| 28 | fin |
| 29 | |
| 30 | procedure afficher(minimum : entier, maximum : entier) |
| 31 | debut |
| 32 | ecrire_nl(minimum, " ", maximum) |
| 33 | fin |
| 1 | algorithme minimum_maximum_tableau |
| 2 | debut |
| 3 | saisir(n) |
| 4 | remplir(t, n) |
| 5 | calculer(t, n, minimum, maximum) |
| 6 | afficher(minimum, maximum) |
| 7 | fin |
| 8 | |
| 9 | procedure saisir(@n : entier) |
| 10 | debut |
| 11 | repeter |
| 12 | ecrire("N = ") |
| 13 | lire(n) |
| 14 | jusqua 1 ≤ n ≤ 100 |
| 15 | fin |
| 16 | |
| 17 | procedure remplir(@t : tab, n : entier) |
| 18 | debut |
| 19 | pour i de 0 à n - 1 faire |
| 20 | ecrire("t[" + convch(i) + "] = ") |
| 21 | lire(t[i]) |
| 22 | fin_pour |
| 23 | fin |
| 24 | |
| 25 | procedure calculer(t : tab, n : entier, @minimum : entier, @maximum : entier) |
| 26 | debut |
| 27 | minimum ← t[0] |
| 28 | maximum ← t[0] |
| 29 | pour i de 1 à n - 1 faire |
| 30 | si t[i] < minimum alors |
| 31 | minimum ← t[i] |
| 32 | fin si |
| 33 | si t[i] > maximum alors |
| 34 | maximum ← t[i] |
| 35 | fin si |
| 36 | fin_pour |
| 37 | |
| 38 | fin |
| 39 | |
| 40 | procedure afficher(minimum : entier, maximum : entier) |
| 41 | debut |
| 42 | ecrire_nl(minimum, " ", maximum) |
| 43 | fin |
Méthode
- Initialiser les deux valeurs avec t[0].
- Comparer chaque valeur restante au minimum et au maximum.