plongee.ads
-- -- Cet acteur permet de connaitre les paliers a effectuer en fonction -- de la duree et de la profondeur de la plongee. -- package Plongee is -- Ignorez cette ligne 'pragma' (qui, pour information, permet d'initialiser la table automatiquement) pragma Elaborate_Body ; -- Ce type represente une profondeur comptee par intervalles de 10 mètres. -- La profondeur max est donc de 60 mètres. subtype T_Profondeur is Integer range 0..6 ; -- Ce type represente une duree comptee par intervalles de 10 minutes. -- La duree max est donc de 360 minutes. subtype T_Duree is Integer range 0..36 ; -- Sequence des paliers a effectuer a la remontee. -- (Le plongeur commence bien sur par le palier le plus profond) -- Si un palier vaut 0, c'est qu'il est inutile. -- La durée d'un palier est en minutes. type T_Sequence is record Trois : Natural ; Six : Natural ; Neuf : Natural ; Douze : Natural ; Quinze : Natural ; end record ; -- 'Definis' indique si la sequence de paliers est definie. -- Lorsque 'definis' est FAUX, c'est qu'il n'est pas autorise' de plonger -- a la profondeur indiquee pendant la duree indiquee. type T_Resultat is record Definis : Boolean ; Sequence : T_Sequence ; end record ; -- La table des paliers contient les séquences de paliers à effectuer -- en fonction de la profondeur de plongée et de la durée de plongée. type T_Paliers is array (Integer range <>, Integer range <>) of T_Resultat ; Table : T_Paliers (T_Profondeur, T_Duree) ; end Plongee ;




