Задача 19 Урок 13.1

Задача 19 Урок 13.1:

Пользователь передает целое положительное число N, выведете на экран последовательность из единиц в количестве N "ёлочкой", например для N=18:

1
1 1
1 1 1
1 1 1 1
1 1 1 1 1
1 1 1

ПРИМЕЧАНИЕ: эту задачу можно решить, как вложенными циклами, так и вообще одним циклом (что более изящно).
Решите указанными двумя способами.

Вер1(вложенный цикл)

program task19v1;
var i,a,m,n: integer;
begin
  writeln('vvedite chislo n');
  readln(n);
  a:=1;
  m:=1;
  while (a<=n) do
  begin
    for i:=1 to m do
    begin
      if (a<=n)then
        write(1,' ');
      a:=a+1;
    end;
    m:=m+1;
    if (a<=n)then
      writeln();
  end;
  readln();
end.  

Вер2(1 цикл)

program task19v2;
var a,b,n: integer;
begin
  writeln('vvedite chislo n');
  readln(n);
  while (n>0) do
  begin
    if (a<=b) then
    begin
      write(1,' ');
      a:=a+1;
      n:=n-1;
    end
    else              //переходим на новую строку
    begin
      writeln();
      b:=b+1;         //кол-во строк
      a:=0;           //кол-во символов
    end;
  end;
  readln();
end.