Up Next

1.2.1  Arbre programmatique

Un arbre programmatique se décompose en trois éléments: l’entête, le corps du programme et entre les deux une table des déclarations locales. L’arbre complet est tracé dans la figure 1.4. Examinons séparément les trois éléments.

1.2.1.1  Entête pour notre problème

Seule cette entête est nécessaire à connaître pour pouvoir utiliser ce programme dans d’autres programmes. La lecture de l’entête de l’arbre (figure 1.2) nous apprend


{demande et lit un nombre, affiche le carré du nombre}


Figure 1.2: entête de l’arbre pour la spécification 1


  1. que le programme se nomme affiche_carre
  2. que affiche_carre ne prend pas d’argument
  3. qu’il ne fournit pas de résultat

1.2.1.2  Corps du programme

Le corps du programme est représenté (figure 1.3).


Figure 1.3: corps de l’arbre pour la spécification 1

Il y a trois sous-problèmes à traiter successivement et dans l’ordre, c’est ce que signifie la flèche dans un cercle:

  1. demander et lire un entier, on voit que le résultat, il y en a un, est nommé x
  2. calculer le carré de x, le résultat est nommé y
  3. afficher x et y

1.2.1.3  Tables des déclarations locales

Dans l’écriture du corps du programme, les résultats intermédiaires ont été nommés pour pouvoir être réutilisés ensuite. Ces déclarations sont uniquement locales, les noms x et y ne sont pas connus à l’extérieur du programme affiche_carré. La table des déclarations locales est:

x:int, y:int


Il faut spécifier le type des valeurs qui sont nommées, ici nous nommons des entiers.

1.2.1.3.1  Arbre complet

{demande et lit un nombre, affiche le carré du nombre}
Figure 1.4: arbre pour la spécification 1


Up Next