Département d'Informatique
Maîtrise d'Informatique 2001/2002
Spécifications formelles, preuves
& construction de programmes
Travaux dirigés
Mercredi 10 octobre





Raisonner pour programmer





Où l'on cherche à énoncer un problème, puis à transformer cet énoncé en vue d'obtenir un programme impératif.



1 Quelques problèmes classiques

Pour chacun des problèmes suivants :
Utiliser les notations du cours en ce qui concerne les tableaux.


  1. Le plus petit nombre (x) d'un tableau t de n nombres.

  2. Le quotient (q) de la division euclidienne de 2 nombres entiers a et b.

  3. Le plus grand commun diviseur (p) d'un tableau t de n nombres.

  4. La racine carrée (r) d'un nombre carré n.

  5. Le tri d'un tableau t de n nombres (on nomme u le tableau trié).

2 "La plus petite somme"

Mêmes questions que précédemment pour le problème suivant: étant donné un tableau t de n nombres, le résultat (s) est la plus petite somme d'éléments consécutifs dans t.
Exemple: étant donné le tableau t suivant:

      0  1  2  3  4  5  6  7  8  9  10
t   [ 1 -2  3 -1 -5 -4  1  0 -2  5 -1 ]
La plus petite somme est (-1)+(-5)+(-4)+1+0+(-2) = -11.


This document was translated from LATEX by HEVEA.