with Tapis ;
with Outil_De_Mesure ;
procedure Mission7 is
Somme : constant Float := 340.8 ;
package OM renames Outil_De_Mesure ;
function Dimensions_OK return Boolean is
Resultat : Boolean ;
begin
Resultat := OM.Dim(1) + OM.Dim(2) + OM.Dim(3) <= Somme ;
return Resultat ;
end Dimensions_OK ;
procedure Piloter_Tapis is
Err : Integer ;
A_Jeter : Boolean ;
begin
Err := 0 ;
while (not Tapis.Est_Vide) and Err < 5 loop
if Tapis.Produit_Dans_Zone then
if Dimensions_OK then
A_Jeter := False ;
Err := 0 ;
else
A_Jeter := True ;
Err := Err + 1 ;
end if ;
Tapis.Aiguiller_Produit (Recyclage => A_Jeter) ;
else
Tapis.Avancer ;
end if ;
end loop ;
end Piloter_Tapis ;
begin
Piloter_Tapis ;
end Mission7 ;