IUT R&T - 1ère année - Informatique
Programmation et algorithmique 2
TP n°4
A la fin du TP, envoyer sur l'ENT le programme contenant une solution de l'exercice 1 ainsi que les algorithmes et tests associés (même principe que pour le TP1)
EXERCICE 1
On souhaite gérer avec des fichiers un parc de machines situées dans différentes salles.
Télécharger les fichiers tp4ORDIS.txt
et tp4SALLES.txt
, qui vous sont fournis avec ce sujet :
- Le fichier
tp4ORDIS.txt
contient une liste d'au plus 750 ordinateurs représentés dans ce fichier par leur numéro de MAC-address au format hexadécimal.
- Le fichier
tp4SALLES.txt
contient une liste d'au plus 30 noms de salles avec le nombre d'ordinateurs que chacune contient effectivement, avec au plus 25 ordinateurs par salle.
1. Définir en conséquence deux types structurés permettant de maintenir en mémoire une copie des deux fichiers tp4ORDIS.txt et tp4SALLES.txt :
- Un type
ListeOrdis
capable de mémoriser une liste d'ordinateurs représentés par leur MAC-address, et conservant le nombre total d'ordinateurs référencés par cette liste.
- Un type
ListeSalles
capable de mémoriser une liste de salles avec chacune leur nom et leur nombre d'ordinateurs installés, et conservant le nombre total de salles référencés par cette liste.
2. définir une variable tp4ordis
de type Listeordis
et une variable tp4salles
de type ListeSalles
.
3. Ecrire une fonction ChargerOrdis
qui charge dans la variable tp4ordis
le contenu structuré du fichier tp4ORDIS.txt. La fonction retournera le nombre d'ordinateurs lus dans le fichier ou (−1) s'il y a eu un problème de fonctionnement, après avoir mis à jour le nombre d'ordinateurs présents dans la structure.
N.B. Le nombre d'ordinateurs présents dans le fichier est dans l'intervalle [0..750].
4. Ecrire une fonction ChargerSalles
qui charge dans la variable tp4salles
le contenu structuré du fichier tp4SALLES.txt. La fonction retournera un code de bon fonctionnement après avoir mis à jour le nombre de salles présentes dans la structure.
N.B. Le nombre de salles présentes dans le fichier est dans l'intervalle [0..30].
5. Définir un type structuré Listeattrib
et une variable tp4attrib
de ce type qui mémorisera la répartition des ordinateurs dans les différentes salles. Chaque ordinateur d'une salle aura sa propre adresse IP. Les adresses IP, de la forme 192.168.1.y avec 1≤y≤250, seront attribuées par ordre croissant de valeur de y puis de x. Les paramètres de la première adresse IP non attribuée sera conservée en mémoire.
6. Ecrire une fonction Attribuer
qui effectue la répartition des ordinateurs dans les salles. La fonction retournera un code négatif s'il n'y a pas assez d'ordinateurs pour remplir les salles ou s'il n'y a plus d'adresse IP disponible.
6. Ecrire une fonction SauverAttribution
qui enregistre dans un fichier nommé tp4ATTRIB.txt
la répartition des ordinateurs dans les salles avec leurs MAC-address et leur adresses IP.
7. Le programme principal effectuera la gestion du parc informatique. Ce programme sera testé avec les fichiers fournis. Une copie du fichier tp4ATTRIB.txt sera placée en commentaire à la fin du compte-rendu.
8. A faire hors TP
Une fois les attributions créées pour remplir les salles, créer pour chaque salle, un fichier nomdelasalle.txt
. Chacun de ces fichiers contiendra la liste des ordinateurs (représentés par leur MAC-address) présents dans la salle et le numéro IP-V4 qui leur a été attribué lors de leur installation dans la salle.
9. A faire hors TP
Ecrire une fonction Journaliser
qui enregistre dans un fichier nommé tp4PBS.log
les pannes survenues sur les ordinateurs. Une dizaine de pannes seront créées aléatoirement à partir du numéro IP attribué. Chaque ligne du fichier sera de la forme : Salle IP MAC.
EXERCICE 2 A faire hors TP
Compléter le programme du TP n°1 (éventuellement modifié lors du TP n°2) avec une procédure sauvegardant dans un fichier nommé coursebateaux.txt
le résultat d'une course de bateaux. Chaque ligne du fichier correspondra à un participant avec son nom, puis ses notes successives de manches, puis son score, séparés par un espace. La procédure sera testée avec l'exemple donné dans le sujet du TP n°1.
EXERCICE 3 A faire hors TP
Compléter le programme du TP n°3 avec une procédure sauvegardant dans un fichier nommé championnatligue.txt
le résultat d'un championnat. Chaque ligne du fichier correspondra à une équipe avec son nom, puis ses résultats successifs de matchs, puis son score, séparés par un espace. La procédure sera testée avec l'exemple donné dans le sujet du TP n°3.