Introduction
Les applications de ce chapitre cherchent à illustrer les nombreux
concepts de programmation présentés dans cette partie.
La première application est la construction d'une bibliothèque de
composants graphiques, appelée Upi (Une Petite Interface).
On l'appliquera à la réalisation d'un convertisseur
Francs/Euros. Les composants décrits ici réagissent aux interactions
d'un utilisateur en déclenchant des fonctions de traitement. Bien que
la difficulté algorithmique de cette application reste simple, son
intérêt est de montrer la communication entre composants grâce aux
fermetures. En effet les différentes fonctions de traitement partagent
certaines valeurs dans leur environnement. Il est nécessaire de
connaître la bibliothèque de base Graphics pour apprécier la
construction de la bibliothèque Upi (voir chapitre
5, page ??).
La deuxième application est une recherche du chemin de moindre coût
dans un graphe orienté. Elle suit l'algorithme de Dijkstra qui
calcule tous les chemins de moindre coût d'un sommet source vers tous
les autres sommets atteignables à partir de cette source. Pour
accélérer les recherches demandées, on implante un mécanisme de cache
qui conserve les recherches déjà effectuées en utilisant un tableau de
pointeurs faibles (voir page ??). Le GC peut
libérer des éléments de ce tableau, mais ils sont toujours
recalculables en cas de besoin. La visualisation d'un graphe utilise
les boutons simples de la bibliothèque Upi pour la sélection
des sommets origine et destination du parcours demandé. On compare
l'efficacité d'exécution entre les versions avec et
sans cache. Pour faciliter les mesures de temps de ces
différentes versions, on passe en argument de l'application le fichier
de description du graphe ainsi que l'origine et la destination du
parcours recherché. On dotera le programme de recherche d'<< une
petite interface graphique >>.