Exercices sur le tri

Durée estimée: 30 min

Dans cet exercice, on travaille de façon générale avec des séquences. Mais, sans perdre en généralité et par commodité, vous pourrez vous limiter aux listes si vous le souhaitez.

Exercice 1: Trop simple ?

On souhaite proposer un prédicat est_triee_croissant() qui prend en paramètre sequence, une séquence, et qui retourne True si cette séquence est triee dans l’ordre croissant et False sinon.

a) Proposer un jeu de tests pour cette fonction.

b) Écrire en Python une fonction qui répond aux critères imposés.

Correction ?

Exercice 2: Plus difficile … ou pas !

On souhaite proposer cette fois deux fonctions montees() et descentes() qui permettent de déterminer le nombre de montées respectivement de descentes dans une séquence donnée.

Dans un séquence, deux éléments consécutifs placés dans l'ordre croissant (respectivement décroissant) définit une montée (respectivement une descente).

Voici un jeu de tests possibles pour ces deux fonctions:

>>> liste = [1, 5, 3, 4, 2 ,0]
>>> montees(liste)
2
>>> descentes(liste)
3

Explications: dans la liste donnée, 1<5 et 3<4. Il y a donc 2 montées.

Écrire en Python les deux fonctions demandées.

Correction ?