Adloun

algorithmique (école d'ingénieur) · Chapitre 11 · Exercice de TD

Variantes du pplstc

Programmes justes : logique de Hoare et invariants · niveau 2

Énoncé

On reprend la fonction pplstc du cours et l'invariant .

  • La modifier pour qu'elle retourne le dernier plus long sous-tableau croissant. Quelle implication de la progression change ?
  • La modifier pour qu'elle retourne le premier plus long sous-tableau strictement croissant. Quelle implication change ?
  • Donner les résultats sur .

Corrigé

  • L'invariant devient « est le dernier plus long sous-tableau croissant du -préfixe ». Seule change la comparaison des longueurs : le suffixe devient le meilleur s'il est au moins aussi long, . Dans le programme, k - j > f - d devient k - j >= f - d.
  • Le suffixe strictement croissant est cassé par une égalité : la condition de prolongement devient , et l'implication de remise à zéro s'applique dès que . Dans le programme, T[k-1] > T[k] devient T[k-1] >= T[k].
  • Le dernier plus long sous-tableau croissant est ; le premier plus long sous-tableau strictement croissant est .

nom : T
valeurs : 3 2 1 1 2 4 1 2 2 4
colorier : 2..5
vert : 6..9
zone : 2..5 premier
zone : 6..9 dernier
legende : T[2:6] et T[6:10], de longueur 4 : avec ≥, le dernier l'emporte

nom : T
valeurs : 3 2 1 1 2 4 1 2 2 4
vert : 3..5
zone : 3..5 strictement croissant
legende : les égalités cassent la croissance stricte : T[3:6] est le premier

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →