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 - ddevientk - 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]devientT[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 premier100 % gratuit
La suite du chapitre est sur Adloun
- 12 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.