with Ada.Text_Io, Ada.Integer_Text_Io;
use Ada.Text_Io, Ada.Integer_Text_Io;
-- Affichage matrice identité
procedure Ex03a is
N : Natural;
begin
-- saisie
Put("Veuillez rentrer un nombre >= 2 : ");
Get(N);
-- Algo 1
Put_Line("*");
-- Traitement des lignes 2 à N - 1
for I in 2 .. N - 1 loop
Put('*');
-- affichage de I - 2 espaces
for J in 2 .. I - 1 loop
Put(' ');
end loop;
Put_Line("*");
end loop;
for J in 1 .. N loop
Put('*');
end loop;
New_Line; New_Line;
-----------------------------------------------------------------
-- Algo 2
-- Traitement des lignes
for I in 1 .. N loop
-- Traitement des colonnes
for J in 1 .. I loop
-- Si nous sommes sur le bord du triangle
-- J = 1 -> bord gauche
-- J = I -> bord droite
-- I = N -> base du triangle
if J = 1 or J = I or I = N then
Put('*');
else
Put(' ');
end if;
end loop;
New_Line;
end loop;
end;