Information

Author(s) Vincent Branders, Pierre Dupont
Deadline No deadline
Submission limit No limitation

Sign in

[TP.01] Acqua alta: top3

Chaque année entre l'automne et le début du printemps a lieu à Venise ce qu'on appelle l'acqua Alta. Il s'agit d'un phénomène de pics de marées qui provoque l'inondation de la zone urbaine insulaire.

Le Centre de prévisions et de signalisation des mouvements des marées abrité dans le Palais Cavalli dispose des relevés du niveau d'eau dans la lagune à un intervalle régulier de 10 minutes. Etant donné une séquence de mesures, on souhaite pouvoir déterminer les trois pics les plus importants (les trois mesures les plus élevées) pour une séquence de mesures spécifique.


Question 1: [Validation] Un exemple simple

Quel serait le résultat de la fonction top3 sur le relevé de mesures suivant :

mesures = [10, 0, 5, 10, 30, 10, 20, 30]
Question 2: Top 3

Vous êtes chargés d'implémenter la fonction suivante en Python. Pour préparer votre code, vous pouvez télécharger le fichier top3.py qui contient la signature de la fonction et quelques exemples de tests.

Note: Lorsqu'il vous est demandé d'implémenter une fonction, vous êtes invités à ne remplir que le corps de la fonction à implémenter.

def top3(mesures):
    '''
    Etant donne une sequence de mesures espacees de 10 minutes, identifie les trois mesures les plus élevées.

    pre: - mesures est un tableau (list)
         - len(mesures) >= 3
    post: renvoie un tableau t de longueur 3 tel que mesures[t[i]] correspond à la i^eme mesure la plus elevee. Si plusieurs mesures identiques sont raportées, les indices de ses mesures sont ordonnés.
    '''