27 августа, 09:41

Почему пишет, что операция '=' не применима к типу 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.

+1
Ответы (2)
  1. 27 августа, 10:08
    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. 27 августа, 10:40
    0
    Именно потому и пишет, что операция '=' не применима к типу boolean. Переменные этого типа могут принимать значения True и False, и как можно сравнивать их с единицей?
Знаете ответ?
Сомневаетесь в ответе?
Найдите правильный ответ на вопрос ✅ «Почему пишет, что операция '=' не применима к типу boolean в программе? Ошибка здесь: if ((x=1) or (y=1)) then Вся программа: program pr1; ...» по предмету 📘 Информатика, а если вы сомневаетесь в правильности ответов или ответ отсутствует, то попробуйте воспользоваться умным поиском на сайте и найти ответы на похожие вопросы.
Смотреть другие ответы