with Gada.Text_IO ;
procedure Mission1 is
package Txt renames GAda.Text_IO ;
procedure Tracer_Ligne (Long : Integer) is
begin
for Colonne in 1..Long loop
Txt.Put("#") ;
end loop ;
Txt.New_Line ;
end Tracer_Ligne ;
procedure Tracer_Rectangle (Largeur : Integer ; Hauteur : Integer) is
begin
Tracer_Ligne(Largeur) ;
for Ligne in 2..Hauteur - 1 loop
Txt.Put("#") ;
for Col in 2..Largeur - 1 loop
Txt.Put(" ") ;
end loop ;
Txt.Put("#") ;
Txt.New_Line ;
end loop ;
Tracer_Ligne(Largeur) ;
Txt.New_Line ;
end Tracer_Rectangle ;
procedure Tracer_Quadrillage (Largeur : Integer ; Hauteur : Integer) is
begin
for Ligne in 1..Hauteur loop
for Col in 1..Largeur loop
if (Ligne mod 2 = 1) or (Col mod 2 = 1) then
Txt.Put("#") ;
else
Txt.Put(" ") ;
end if ;
end loop ;
Txt.New_Line ;
end loop ;
Txt.New_Line ;
end Tracer_Quadrillage ;
procedure Tracer_Damier (Largeur : Integer ; Hauteur : Integer) is
begin
for Ligne in 1..Hauteur loop
for Col in 1..Largeur loop
if (Ligne + Col) mod 2 = 0 then
Txt.Put("#") ;
else
Txt.Put(" ") ;
end if ;
end loop ;
Txt.New_Line ;
end loop ;
Txt.New_Line ;
end Tracer_Damier ;
procedure Tracer_Gros_Damier (Largeur : Integer ; Hauteur : Integer) is
begin
for Ligne in 1..Hauteur loop
for Col in 1..Largeur loop
if ((Ligne-1)/2 + (Col-1)/2) mod 2 = 1 then
Txt.Put("#") ;
else
Txt.Put(" ") ;
end if ;
end loop ;
Txt.New_Line ;
end loop ;
Txt.New_Line ;
end Tracer_Gros_Damier ;
begin
Txt.Put_Line("Test de Tracer_Ligne : ") ;
Txt.New_Line ;
Tracer_Ligne(3) ;
Tracer_Ligne(8) ;
Tracer_Ligne(20) ;
Txt.New_Line ;
Txt.Put_Line("Test de Tracer_Rectangle : ") ;
Txt.New_Line ;
Tracer_Rectangle(5, 5) ;
Tracer_Rectangle(14, 2) ;
Tracer_Rectangle(4, 6) ;
Txt.New_Line ;
Txt.Put_Line("Test de Tracer_Quadrillage : ") ;
Txt.New_Line ;
Tracer_Quadrillage(19, 11) ;
Txt.New_Line ;
Txt.Put_Line("Test de Tracer_Damier : ") ;
Txt.New_Line ;
Tracer_Damier(18, 10) ;
Txt.New_Line ;
Txt.Put_Line("Test de Tracer_Gros_Damier : ") ;
Txt.New_Line ;
Tracer_Gros_Damier(18, 10) ;
end Mission1 ;