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

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

Если Вы хотите заместо логических значений 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

Именно поэтому и пишет, что операция '=' не применима к типу boolean. Переменные этого типа могут принимать значения True и False, и как можно сравнивать их с единицей?

Bocheljuk Ksenija
Это понятно, но я не разумею, приношу извинения за тавтологию, как по иному оформить опретор if.
Алиса Сньозик
Условие задачи приведите стопроцентно.
Игорь Фаломов
Поэтому что ее смысла в целом я не понимаю. Если Вы xor пытаетесь без помощи других воплотить (а для чего, если в Паскаль есть x xor y стандартно?), то все равно ошибочно это делаете.
Тимур Пьянченко
Напишите функцию bool Xor (bool x, bool y) (C/C++), function _Xor (x, y:boolean): boolean (Pascal), def xor(x, y):(Python) реализующую функцию "Исключающее Либо" 2-ух логических переменных x и y. Функция Xor должна возвращать true, если ровно один из ее доводов x либо y, но не оба сразу равны true.
Заворовский Геннадий
Тупость полная - воплотить xor на языке, в котором есть xor.
Мирослава Исаченкова
Реализация очень проста: _Xor=(x<>y);
Бебякина Ира
Т.е. в Паскаль будет _Xor := x <> y;
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт