Урок 14.1 Задача 6

Урок 14.1 Задача 6:

Пользователь по запросу программы вводит в цикле целые положительные числа, до тех пор пока не введет число большее 30. В ответ на каждое введенное пользователем число выводите все числа от 1 до этого введенного числа m.
При этом:

за выводит чисел от 1 до $m должна отвечать процедура
получение значения должно проходить в теле основной программы

var m: integer;              // глобальная переменная

procedure vivod(a: integer); // принимаем значение m в локальную переменную a
var i: integer;              // счетчик цикла в процедуре
begin
  for i:=1 to a do           // цикл от 1 до а (в которой значение m)
    write(i, ' ');           // выводим значение счетчика на экран
    writeln();
end;

begin
  while (m <= 30) do //будет запрос ввода, пока пользователь не введет число, больше 30
  begin
    write('Введите положительное число: ');
    readln(m);
      if (0 < m) and (m <= 30) then
        vivod (m);            // передаем значение m в процедуру
  end;
  readln();
end. 

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

Введите положительное число: 5
1 2 3 4 5
Введите положительное число: 4
1 2 3 4
Введите положительное число: -3
Введите положительное число: 0
Введите положительное число: 7
1 2 3 4 5 6 7
Введите положительное число: 54