🔝 Recherche du Maximum : Cours & Principes

📖 1. Définition

La recherche du maximum dans un tableau est un traitement séquentiel qui consiste à examiner l’ensemble des valeurs numériques pour déterminer la plus grande d’entre elles.

⚙️ 2. Principe de l’algorithme

Le fonctionnement repose sur les étapes clés suivantes :

  • Stocker le premier élément du tableau dans une variable de garde (Mx ou max).
  • Parcourir le reste du tableau à l’aide d’une boucle itérative.
  • Comparer chaque élément courant T[i] avec le maximum provisoire.
  • Mettre à jour le maximum dès qu’une valeur strictement supérieure est rencontrée, puis retourner le résultat final.

⚠️ Note très importante :

L’utilisation de la fonction prédéfinie en Python max() est strictement hors programme dans le cadre des épreuves d’informatique. Vous devez obligatoirement implémenter la logique algorithmique du parcours itératif et des comparaisons.

📊 Simulation Visuelle & Algorithme Animé

Parcours d’un tableau pour identifier la valeur maximale et son indice.

📊 Espace de simulation

Suivi de l’exécution :

i Générez ou lancez la simulation…
mx –

Algorithme & TDOL :

Fonction Recherche_Max(T: Tab, n: Entier) : Entier
Début
    mx ← T[0]
    Pour i de 1 à n-1 Faire
        Si T[i] > mx Alors
            mx ← T[i]
        FinSi
    FinPour
    Retourner mx
Fin.

TDOL

Objet Type
i Entier
mx Entier

💻 Traduction en Python

def recherche_max(t, n):
    mx = t[0]
    for i in range(1, n):
        if t[i] > mx:
            mx = t[i]
    return mx

📝 3. Exercice d’application

Situation : Lors d’une étude météorologique, les températures maximales enregistrées chaque jour de la semaine dans une ville doivent être analysées pour identifier le jour le plus chaud.

Écrire un programme modulaire permettant de saisir les températures, de rechercher la valeur maximale à l’aide d’une fonction, et d’afficher le pic de température.

Donner la solution sous forme d’algorithme et sa traduction en programme Python.

Correction détaillée

💻 Programme Principal (Algorithme)

Algorithme Station_Meteo_Maximum
DEBUT
  SaisieTaille(N)
  RemplirTableau(Temperatures, N)
  MaxVal ← Recherche_Max(Temperatures, N)
  AfficherResultat(MaxVal)
FIN

📋 Tableaux de Déclaration (TDNT & TDOG)

TDNT

Type Structure
Tab Tableau de 50 entiers

TDOG (avec les noms des modules)

Objet Type / Nature
Temperatures Tab
N, MaxVal Entier
SaisieTaille Procédure
RemplirTableau Procédure
Recherche_Max Fonction
AfficherResultat Procédure

⚙️ Liste des Modules et TDOL

1. Procédure SaisieTaille

Procedure SaisieTaille(@n: Entier)
DEBUT
  Répéter
    Ecrire("Donner le nombre de jours (entre 2 et 50) : ")
    Lire(n)
  Jusqu'à n dans [2..50]
FIN

TDOL : Aucun objet local.

2. Procédure RemplirTableau

Procedure RemplirTableau(@t: Tab, n: Entier)
DEBUT
  Pour i de 0 à n-1 Faire
    Ecrire("Température jour ", i+1, " : ")
    Lire(t[i])
  Fin Pour
FIN

TDOL : i (Entier)

3. Fonction Recherche_Max

Fonction Recherche_Max(t: Tab, n: Entier) : Entier
DEBUT
  mx ← t[0]
  Pour i de 1 à n-1 Faire
    Si t[i] > mx Alors
      mx ← t[i]
    FinSi
  Fin Pour
  Retourner mx
FIN

TDOL : i, mx (Entiers)

4. Procédure AfficherResultat

Procedure AfficherResultat(valMax: Entier)
DEBUT
  Ecrire("La température maximale enregistrée est : ", valMax)
FIN

TDOL : Aucun objet local.

🐍 Version Python (Traduction complète)

def saisie_taille():
    n = int(input("Nombre de jours (2-50) : "))
    while not (2 <= n <= 50):
        n = int(input("Erreur. Nombre de jours (2-50) : "))
    return n

def remplir_tableau(n):
    return [int(input(f"Température jour {i+1} : ")) for i in range(n)]

def recherche_max(t, n):
    mx = t[0]
    for i in range(1, n):
        if t[i] > mx:
            mx = t[i]
    return mx

def afficher_resultat(val_max):
    print("La température maximale enregistrée est :", val_max)

# Programme Principal
N = saisie_taille()
Temperatures = remplir_tableau(N)
MaxVal = recherche_max(Temperatures, N)
afficher_resultat(MaxVal)