package body file is procedure enfiler(f: in out MaFile; e : integer) is begin if filePleine(f) then raise Erreur_FilePleine; end if; f.data(f.queue) := e; f.queue := f.queue + 1; f.size := f.size + 1; if f.queue > maxsize_file then f.queue := 1; end if; end; procedure defiler(f: in out MaFile) is begin if fileVide(f) then raise Erreur_FileVide; end if; f.head := f.head + 1; f.size := f.size - 1; if f.head > maxsize_file then f.head := 1; end if; end; function tete(f: in MaFile) return integer is begin return f.data(f.head); end; function fileVide(f: in MaFile) return Boolean is begin return f.size = 0; end; function filePleine(f: in MaFile) return Boolean is begin return f.size = maxsize_file; end; end file;