Задача 20 Урок 13

Урок 13.1

Пользователь передает целые положительные число N и M, выведете на экран
последовательность от 1 до N, так чтобы ширина "ёлочки" увеличивалась до M
чисел, то уменьшалась до 1. Например, для M=3 и N=19 получим:

123456--максимум три числа7891011121314--снова три числа1516171819.....
var n, m, c, d : integer;
    e : boolean;

begin
  c := 1; 
  writeln('Vvedite celoe polozhitelnoe chislo');
  readln(n);
  m := 1; 
  d := 0;
  e := true;
  if n > 0 then
  begin
    for c := 1 to n do
    begin
        write(c, ' ');
        d := d + 1;
        if d > (m - 1) then
        begin
          writeln();
          if e and (m = 3) then
            e := not e
          else if not e and (m = 1) then
            e := not e;
          if e then
            m := m + 1
          else if not e then
            m := m - 1;
          d := 0;
        end;
    end; 
  end
  else
    writeln ('Error!');
end.

КОНСОЛЬ

Vvedite celoe polozhitelnoe chislo
50
1 
2 3 
4 5 6 
7 8 
9 
10 11 
12 13 14 
15 16 
17 
18 19 
20 21 22 
23 24 
25 
26 27 
28 29 30 
31 32 
33 
34 35 
36 37 38 
39 40 
41 
42 43 
44 45 46 
47 48 
49 
50