Adloun

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

Plus faible précondition

Programmes justes : logique de Hoare et invariants · niveau 2

Énoncé

Calculer la plus faible précondition qui rend vrai chacun des triplets suivants (les variables sont entières).

  • y = x * x; x = y + 1;
  • if (x < 0) x = -x; x = x - 1;
  • s = s + T[k]; k = k + 1; . Que retrouve-t-on ?

Corrigé

  • Avant x = y + 1; : , soit . Avant y = x * x; : . Donc , c'est-à-dire ou .
  • Avant x = x - 1; : . Pour la conditionnelle (sans else) : , soit , c'est-à-dire .
  • Avant k = k + 1; : . Avant s = s + T[k]; : , c'est-à-dire . On retrouve l'invariant de la somme d'un tableau : le corps de boucle le conserve.

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 →