Задать вопрос
15 апреля, 17:21

Почему пишет, что операция '=' не применима к типу boolean в программе?

Ошибка здесь: if ((x=1) or (y=1)) then

Вся программа:

program pr1;

function _Xor (x, y:boolean) : boolean;

begin

if ((x=1) or (y=1)) then

_Xor:=1

else

_Xor:=0;

end;

begin

readln (x, y);

writeln (_Xor (x, y));

end.

+2
Ответы (2)
  1. 15 апреля, 18:54
    0
    Если Вы хотите вместо логических значений True и False использовать 1 и 0, то можно сделать так:

    program pr1;

    function _Xor (x, y:byte) : byte;

    begin

    if x+y=1 then

    _Xor:=1

    else

    _Xor:=0;

    end;

    var x, y: byte;

    begin

    readln (x, y);

    writeln (_Xor (x, y));

    end.

    Пример:

    1 0

    1
  2. 15 апреля, 19:06
    0
    Именно потому и пишет, что операция '=' не применима к типу boolean. Переменные этого типа могут принимать значения True и False, и как можно сравнивать их с единицей?
Знаешь ответ?
Не уверен в ответе?
Найди верный ответ на вопрос ✅ «Почему пишет, что операция '=' не применима к типу boolean в программе? Ошибка здесь: if ((x=1) or (y=1)) then Вся программа: program pr1; ...» по предмету 📙 Информатика, а если ответа нет или никто не дал верного ответа, то воспользуйся поиском и попробуй найти ответ среди похожих вопросов.
Искать другие ответы