Cours d’Algorithmique Dixième fiche de TD — Logique de Hoare (fin) Département Informatique, Réseaux et Multimédia Polytech Marseille — usage interne Année 2015-16 Semaine du 14/12/15 1 Calcul de la factorielle On souhaite écrire un programme permettant de calculer n!, on considère le programme ci-contre. Est-il possible de satisfaire la post-condition {f = n!} ? Corriger le programme. c = 1 ; f = 1 ; tantque c <> n faire f = f * c ; c = c + 1 fin tantque 2 Pour terminer ... Construire, pour le programme de gauche, la pré-condition correspondant à la postcondition {x = a|b| }. Quelle pré-condition obtient-on, pour le programme de droite (indépendant du premier programme), à partir de la post-condition {p = a × b} et qu’impose-t-elle quant à l’initialisation des variables ? x = 1 ; y = b ; si y < 0 y = -y fin si ; tantque y > 0 faire x = x * a ; y = y - 1 fin tantque deuxb = b+b ; y = b ; tantque c < a faire c = c + 2 ; p = p + deuxb fin tantque ; si c > a p = p - b fin si