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

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

Пользователь вводит первое целое число-ограничитель m. А затем начинает вводить целые числа по одному, пока не введёт число большее числа-ограничителя.
Если очередное целое число больше 1, то в ответ на каждое такое число программа должна выводить все целые числа от единицы до этого числа.
Примечание: это задача на вложенные циклы, в качестве внешнего надо использовать while, а в качестве внутреннего можно использовать или for или while.

var m, n, i: integer;
begin
  write('Введите число-ограничитель: ');
  readln(m);        //считываем число-ограничитель
  while (1=1) do    //делаем бесконечный внешний цикл
  begin
    write('Введите число: ');
    readln(n);    //во внешнем цикле считываем последующее число, введенное пользователем
    if (n>m) then //если последующее число больше, чем число-ограничитель
      break       //выходим из цикла
    else if (n>=1) then   //если нет, и не меньше единицы
        for i:=1 to n do  //заходим во вложенный цикл со счетчиком от 1 до этого числа
        write(i,' ');     //выводим значение счетчика цикла на экран
    writeln();            //переходим на новую строку
  end;
  readln();
end.   

Вывод в консоли:

Введите число-ограничитель: 18
Введите число: 5
1 2 3 4 5
Введите число: 4
1 2 3 4
Введите число: -3
Введите число: 8
1 2 3 4 5 6 7 8
Введите число: 45