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

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

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

Цикл и программа должны завершиться, когда число z станет отрицательным.
(в начале цикла, если первое введенное число не равно ни 55, ни 77, считаем, что мы должны увеличивать z на 1 пока не встретим 55 или 77, которые укажут на конкретные действия).

Пример работы в консоли:

	
--Polzovatel: 
12
Otvet: 6
--Polzovatel: 
12
Otvet: 7
--Polzovatel: 
90
Otvet: 8
--Polzovatel: 
55
Otvet: 7
--Polzovatel: 
100
Otvet: 6
--Polzovatel: 
123644
Otvet: 5
--Polzovatel: 
77
Otvet: 6
--Polzovatel: 
1
Otvet: 7
</blockquote>

Решение:

var s,z,t:integer;
begin
  z:=5;
  s:=77;
  t:=1;
  while z>=0 do
  begin
    writeln('--Polzovatel:');
    readln(s);
    if s=77 then
      t:=1;
    if s=55 then
      t:=0;
    if t=1 then
      z:=z+1
    else
      z:=z-1;
  writeln('Otvet: ',z);
  end;
  writeln('z < 0, Poka');
  readln();
end.

Консоль:

--Polzovatel:
12
Otvet: 6
--Polzovatel:
12
Otvet: 7
--Polzovatel:
90
Otvet: 8
--Polzovatel:
55
Otvet: 7
--Polzovatel:
100
Otvet: 6
--Polzovatel:
123644
Otvet: 5
--Polzovatel:
77
Otvet: 6
--Polzovatel:
1
Otvet: 7