with Gada.Text_IO ;
with Gada.Integer_Text_IO ;
procedure Mission1 is
package Txt renames Gada.Text_IO ;
package ITxt renames Gada.Integer_Text_IO ;
Entier_Lu : Integer := 1 ;
Somme : Integer := 0 ;
Cardinal : Integer := 0 ;
Le_Min : Integer := Integer'Last ; Le_Max : Integer := Integer'First ;
begin
Txt.Put_Line("Bonjour, entrez des nombres et terminez par 0.") ;
Txt.New_Line ;
while (Entier_Lu /= 0) loop
Txt.Put("Votre nombre ? ") ;
Entier_Lu := ITxt.Fget ;
if Entier_Lu /= 0 then
Somme := Somme + Entier_Lu ;
Cardinal := Cardinal + 1 ;
if Entier_Lu > Le_Max then
Le_Max := Entier_Lu ;
end if ;
if Entier_Lu < Le_Min then
Le_Min := Entier_Lu ;
end if ;
end if ;
end loop ;
Txt.New_Line ;
Txt.Put_Line("Moyenne de vos nombres : " & Float'Image( Float(Somme) / Float(Cardinal) )) ;
Txt.Put_Line("Valeur maximale : " & Integer'Image(Le_Max)) ;
Txt.Put_Line("Valeur minimale : " & Integer'Image(Le_Min)) ;
end Mission1 ;