Урок 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
var a, z: integer;
  x: boolean; // переключатель
begin
  x:= true;  // исходное положение переключателя
  z:=5;
  while (1 = 1) do // делаем бесконечный цикл
  begin
    write('Пользователь: ');
    readln(a);    //считываем число, введенное пользователем
    if (a = 77) then  // условие для первого положения переключателя
      x:= true    // первое положение переключателя
    else if (a = 55) then // условие для второго положения переключателя
        x:= false;  // второе положение переключателя
    if (x = true) then // если переключатель в первом положении
      z:= z + 1   // прибавляем 1
    else begin    // если нет, т.е., если переключатель во втором положении  
      z:= z - 1; // вычитаем 1
      if (z < 0) then // проверяем z на отрицательность
        break;  // прерываем цикл, когда z становится отрицательным
    end;
    writeln ('Ответ: ', z); // выводим значение z
  end;
  readln();
end. 

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

Пользователь: 54
Ответ: 6
Пользователь: 3
Ответ: 7
Пользователь: 55
Ответ: 6
Пользователь: 3
Ответ: 5
Пользователь: 77
Ответ: 6
Пользователь: 4
Ответ: 7
Пользователь: 55
Ответ: 6
Пользователь: 3
Ответ: 5
Пользователь: 335
Ответ: 4
Пользователь: 5
Ответ: 3
Пользователь: 6666
Ответ: 2
Пользователь: 3345
Ответ: 1
Пользователь: 3
Ответ: 0
Пользователь: 5

vedro-compota's picture

засчитано

_____________
матфак вгу и остальная классика =)