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

Вложенные циклы

{13.1 — 21 Пользователь передает целые положительные число N и M,
выведете на экран последовательность от 1 до N,
так чтобы ширина "ёлочки" увеличивалась до M чисел, то уменьшалась до 1.
Например, для M=3 и N=17 получим:
1
23
456
78
9
10
}

var n,m,i,symbol,lenght: integer;
  branch_rise: boolean;
begin
  lenght:=1;
  writeln('wanna see tree? (write num)');
  readln(n);
  writeln('how long will the branches be?(write num)');
  readln(m);
  for i:=1 to n do
    begin
      write(i, ' ');
      symbol:=symbol+1;
      if (symbol=lenght) then
        begin
          if (lenght = m) then
            branch_rise:=false;
          if (lenght = 1) then
            branch_rise:=true;
          if (branch_rise) then
            lenght:=lenght+1
          else
            lenght:=lenght-1;
          writeln();
          symbol:=0;
        end;
    end;
  writeln('...');
  readln();
end.
//wanna see tree? (write num)
//18
//how long will the branches be?(write num)
//3
//1
//2 3
//4 5 6
//7 8
//9
//10 11
//12 13 14
//15 16
//17
//18 ...                  
vedro-compota's picture

if (lenght = m) then
            branch_rise:=false;
          if (lenght = 1) then
            branch_rise:=true;

-- могут ли в одном витке цикла оба условия оказаться верными

_____________
матфак вгу и остальная классика =)