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

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

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

program lesson11_15;
var
    b, c : boolean;
    z, a : integer;
begin
    z := 5;
    b := false;
    c := false;
    while z >= 0 do
    begin
        writeln('enter number a');
        readln(a);
        if (a = 77) or (b and (a <> 55)) then
        begin
            b := true;
            c := false;
            z := z + 1
        end
        else if (a = 55) or (c and (a <> 77)) then
        begin
            c := true;
            b := false;
            z := z - 1
        end
        else
            z := z + 1;
        if z >= 0 then
            writeln('z = ', z)
    end;
    readln()
end.
program lesson11_15;
var
    b : boolean;
    z, a : integer;
begin
    z := 5;
    b := true;
    while z >= 0 do
    begin
        writeln('enter number a');
        readln(a);
        if (a = 77) then
            b := true
        else if (a = 55) then
            b := false;

        if b then
            z := z + 1
        else
            z := z - 1;
        if z >= 0 then
            writeln('z = ', z)
    end;
    readln()
end. 
vedro-compota's picture

Решение засчитано

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