next up previous contents
suivant: Structures de données monter: Structures de données, Entrées/sorties précédent: Structures de données, Entrées/sorties   Table des matières

Fonctionnalités d'entrées/sorties

Un des premiers problèmes se posant est celui de la saisie des données. Une solution immédiate serait de réaliser des fenêtres permettant de créer tâches, buffers et opérations. Cependant deux autres problèmes en découlent. Tout d'abord comment gérer la saisie d'une instance du problème, et comment rendre cela le moins pénible possible ? Ensuite, comment stocker cette instance entre deux exécutions ? L'utilisation de l'application serait encore plus fastidieuse s'il était nécessaire de tout ressaisir à chaque lancement du programme !


Une façon de résoudre ce problème serait de lire chaque instance dans un fichier. La saisie pourrait alors s'effectuer sous n'importe quel éditeur de texte, et il suffirait à chaque lancement du programme de passer en paramètre le nom du fichier contenant le script. Voici la spécification générale de ce script :

#tasks $n$

#buffers
$1(T_{i_{1}}, T_{j_{1}}, w_{1})$
$2(T_{i_{2}}, T_{j_{2}}, w_{2}) \\
\cdots \\
k(T_{i_{k}}, T_{j_{k}}, w_{k}) ...
...al{\vert B\vert}}}, T_{j_{\mathcal{\vert B\vert}}}, w_{\mathcal{\vert B\vert}})$

#operations
$1(b(o_{1}^{1}),b( o_{1}^{2}), \ldots, b(o_{1}^{n_{1}}))$
$2(b(o_{2}^{1}), b(o_{2}^{2}), \ldots, b(o_{2}^{n_{2}}))$
$\ldots$
$k^{\prime}(b(o_{k^{\prime}}^{1}), b(o_{k^{\prime}}^{2}), \ldots, b(o_{k^{\prime}}^{n_{k^{\prime}}}))$
$\ldots$
$n(b(o_{n}^{1}), b(o_{n}^{2}), \ldots, b(o_{n}^{n_{n}}))$


Pour des raisons liées à l'implémentation, on indice à partir de $0$.


Par exemple, l'instance suivante :


$\left\lbrace\begin{array}{l}
\mathcal{T} = \lbrace T_{1}, T_{2} \rbrace
\\
...
...2}^{4}) = b_{2}, b(o_{2}^{5}) = b_{2}, b(o_{2}^{6}) = b_{3})
\end{array}\right.$


se code :

#tasks $3$

#buffers
$0(0, 1, 6)\\
1(0, 1, 4)\\
2(1, 0, 7)$

#operations
$0( 0, 2, 1, 2, 0, 2)$
$1( 2, 0, 0, 1, 1, 2)$


next up previous contents
suivant: Structures de données monter: Structures de données, Entrées/sorties précédent: Structures de données, Entrées/sorties   Table des matières
Alexandre 2009-05-14