Adloun

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 g et i, 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émenter i afin d'analyser cette valeur au tour suivant. L'invariant est préservé.

Exercices semblables

Le cours du chapitre · Tous les exercices du chapitre