informatique (tronc commun des prépas scientifiques) · Chapitre 10 · Exercice de TD
Le drapeau tricolore, preuve totale intégrale
Prouver et analyser : la boîte à outils formalisée · niveau 3 (difficile)
Énoncé
Rédiger la preuve de conservation pour le tri en un parcours du drapeau tricolore.
Corrigé
L'invariant structure le tableau en quatre zones : Examinons la conservation selon la valeur de :
- Si : On échange avec (qui contient un 1 ou est égal à ). Le 0 est ainsi correctement placé à la fin de la zone des 0. En incrémentant
geti, l'invariant est préservé. - Si : On se contente d'avancer
i. Le 1 intègre naturellement la fin de la zone des 1. L'invariant est préservé. - Si : On l'échange avec et on décrémente
d. Le 2 est correctement placé au début de la zone des 2. Cependant, la valeur ramenée en position (qui provient de ) est inconnue. On ne doit pas incrémenteriafin d'analyser cette valeur au tour suivant. L'invariant est préservé.