Задача 16 Урок 11

Задача 16 Урок 11:

У вас есть число z=5. Пользователь вводит числа в цикле, если за последние 4 попытки ввода было хотя бы одно число больше или равно 15, то увеличивайте число z на 1 в ответ на каждое введенное число, а если такого числа не было, то уменьшайте на 1 в ответ на каждый ввод.
Цикл и программа должны завершиться, когда число z станет отрицательным.

Решение:

var z, p, ch : integer;
begin
  z := 5;
  p := 0;

  while (z >= 0) do
  begin
    writeln('vvedite chislo:');
    readln(ch);

    if(ch >= 15) then
      p := 4
    else
      p := p - 1;

    if (p > 0) then
      z := z + 1
    else
      z := z - 1;

    writeln ('z=', z);
  end;
end.       

Консоль:

vvedite chislo:
2
z=4
vvedite chislo:
2
z=3
vvedite chislo:
15
z=4
vvedite chislo: