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

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

var
  z,i,p:integer;
begin
  z:=5;
  p:=77;
  writeln('Vvedite chislo!');
  readln(i);
  while (z>=0) do
  begin
    if (i=55) then p:=i
    else if (i=77) then p:=i;

    if (p=55) then z:=z-1
    else if (p=77) then z:=z+1;

    writeln('z=', z);

    readln(i);

  end;
  readln();
  end.

Консоль

Vvedite chislo!
12
z=6
12
z=7
23
z=8
55
z=7
65
z=6
67
z=5
87
z=4
9090
z=3
898
z=2
77
z=3
6
z=4
5
z=5