Решить. pascalabc. даны два целых числа: a, b. проверить истинность высказывания: «ровно одно из чисел a и b нечетное».

Алимакдр Алимакдр    1   09.06.2019 20:20    2

Ответы
NekitGame225 NekitGame225  08.07.2020 13:34
Это сделает логическое выражение
(a mod 2)+(b mod 2) = 1
ОБЪЯСНЕНИЕ:
Оператор mod возвращает остаток от целочисленного деления операндов.
a mod 2 будет равно нулю, если a четное или единице, если а нечетное. То же верно и для b mod 2. Рассмотрим поведение суммы (a mod 2)+(b mod 2) при различных комбинациях a и b
1. Оба нечетных. Сумма равна 1+1, т.е. 2
2. Одно четное, другое нечетное. Сумма равна 1+ 0 (или 0+1), т.е. 1
3. Оба четных. Сумма равна 0+0, т.е. 0.
Следовательно, сумма равна единице тогда и только тогда, когда одно из чисел четное, а другое нечетное.
Оставшаяся часть выражения превращает его в логическое, проверяя условие 1=1.
Предлагаемое логическое выражение может быть использовано как в качестве правой части оператора присваивания, так и в качестве логичесвого выражения в операторах if-then-else или циклов while, repeat.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика