Решение №3 из главы 15 . есть массив чисел от 1 до 17, выведете его на экран "елочкой"

Задача №3

У вас есть массив чисел от 1 до 17, выведете его на экран, обходя в цикле таким образом:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
16 17

program pascal_array_string;
var i , l , k : integer;
    arr: array [1..17] of integer;
procedure ArrDigits(var arr: array of integer);
var min, max: integer; // начало тела процедуры
begin
randomize(); // вызов  процедуры иницилизации случ.чисел
min := 0; //   левая граница
max := 20; // правая граница

for  i:=low(arr) to high(arr) do // обходим массив и иницилизируем случ.числами
   arr[i] := min + random(max - min + 1);
end; // конец тела процедуры

begin // начало тела основной программы

ArrDigits(arr); // вызов процедуры и передача переменной аrr по ссылке
l := 0; // сколько выведено  символов с последнего переноса строки
k := 1; // сколько будет выведено в однoй строке
for i:=low(arr) to high(arr) do // обходим наш массив
begin
  write( arr[i] ,' ' );
  l+=1; // имеем ввиду , что вывели один символ
  if ( l >= k ) then  // пора переносить на новую строку
  begin
    writeln( ); // переносим
    l := 0 ; // обнуляем в новом витке
    k+=1; // увеличиваем длину елочки в новой строке
  end;

end;

readln(); // удерживаем консоль
end. // конец тела программы