
TD Algorithmique et Structures de Données II ISAAS, 2013/2014
Page 5/22
Avec l’utilisation de variables globales, ce n’est pas nécessaire de définir et utiliser des
paramètres pour les deux procédures ; une variable globale est manipulée librement et de la
même manière aussi bien par le programme principal que pour tout sous-programme de ce
programme principal. Toutefois, cette solution reste limitée quant à la réutilisabilité des sous-
programmes ; les sous-programmes définis ne peuvent pas être librement utilisables par
d’autres programmes.
Exercice 4
Écrire un sous-programme permettant de calculer une puissance A
B
. Proposez une solution
avec une fonction et une autre avec une procédure.
Exemple : 5
4
= 5 × 5 × 5 × 5 = 625.
Exercice 5
On souhaite définir un algorithme qui manipule un tableau d’une manière modulaire, en
utilisant des sous-programmes. Le programme principal de cet algorithme se limite à déclarer
un tableau T de taille 50, et de saisir une valeur N (1≤ N ≤ 50) qui précise le nombre
d’éléments que l’on veut manipuler. Puis, il fait appel aux sous-programmes suivants :
♦
♦♦
♦ Saisie : qui permet de remplir le tableau T par N réels différents de 0. Tout élément de T
ne peut apparaître que trois fois au maximum.
♦
♦♦
♦ Décalage : qui permet de supprimer les répétions par un décalage à gauche, et de
remplacer toute valeur supprimée par 0.
♦
♦♦
♦ Tri : qui permet de trier le tableau T après la suppression des répétitions.
♦
♦♦
♦ Affichage : qui permet d’afficher le tableau T après le Tri.
Quel est le problème majeur de ce programme : Le problème majeur se situe au niveau de la
déclaration d’un tableau de 50 éléments (50 @dresses mémoires sont réservées) ; Si N = 3, 47
@dresses mémoires sont réservées sans être exploitées. Aussi, les @adresses des éléments
supprimés doivent normalement être libérés.
Comment peut-on optimiser les traitements de Tri et d’Affichage en agissant sur la variable
N : Après la suppression des répétitions, on doit changer le nombre N d’éléments manipulés ;
plusieurs solutions sont possibles.
Exercice 6
Proposer des sous-programmes à votre choix pour montrer les intérêts des sous-programmes,
à savoir la factorisation, la réutilisation, la lisibilité et la structuration.