Задать вопрос
5 декабря, 15:50

Почему пишет, что операция '=' не применима к типу 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. 5 декабря, 17:47
    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. 5 декабря, 19:49
    0
    Именно потому и пишет, что операция '=' не применима к типу boolean. Переменные этого типа могут принимать значения True и False, и как можно сравнивать их с единицей?
Знаете ответ на вопрос?
Не уверены в ответе?
Правильный ответ на вопрос 👍 «Почему пишет, что операция '=' не применима к типу boolean в программе? Ошибка здесь: if ((x=1) or (y=1)) then Вся программа: program pr1; ...» по предмету 📗 Информатика. Развернутая система поиска нашего сайта обязательно приведёт вас к нужной информации. Как вариант - оцените ответы на похожие вопросы. Но если вдруг и это не помогло - задавайте свой вопрос знающим оппонентам, которые быстро дадут на него ответ!
Искать готовые ответы