WITH Ada.Text_IO; WITH File_D; PROCEDURE Exercice06 IS -- Type pour les lettres de l'alphabet SUBTYPE Lettre IS Character RANGE 'a'..'z'; -- Instancier le package générique File_D pour qu'il opère sur des lettres PACKAGE FileCaracteres IS NEW File_D(Lettre); f : FileCaracteres.File; c : Lettre; i : Natural; BEGIN -- Créer la file FileCaracteres.Creer_File(f); -- La file devrait logiquement être vide... Ada.Text_IO.Put_Line("Apres Creer_File, File_Vide : " & Boolean'Image(FileCaracteres.File_Vide(f))); -- Enfiler des valeurs FOR c IN Lettre LOOP FileCaracteres.Enfiler(f, c); END LOOP; -- La file devrait logiquement ne pas être vide... Ada.Text_IO.Put_Line("Apres Enfiler ('a'..'z'), File_Vide : " & Boolean'Image(FileCaracteres.File_Vide(f))); -- Défiler au maximum 10 valeurs i := 0; WHILE NOT FileCaracteres.File_Vide(f) AND i < 10 LOOP Ada.Text_IO.Put_Line("Avant Defiler, Premier : " & FileCaracteres.Premier(f)); FileCaracteres.Defiler(f, c); Ada.Text_IO.Put_Line("Element " & c & " defile"); i := i + 1; END LOOP; -- La file devrait logiquement ne pas être vide... Ada.Text_IO.Put_Line("Apres Defiler (10 valeurs), File_Vide : " & Boolean'Image(FileCaracteres.File_Vide(f))); -- Détruire la file, alors qu'elle contient encore des noeuds pour s'assurer que ça marche! FileCaracteres.Detruire_File(f); Ada.Text_IO.Put_Line("Apres Detruire_File"); -- Pause Ada.Text_IO.Skip_Line; END Exercice06;