Помогите решить. PascalABC.Даны два целых числа: A, B. Проверить истинность высказывания:...

0 голосов
78 просмотров

Помогите решить. PascalABC.
Даны два целых числа: A, B. Проверить истинность высказывания: «Ровно одно из чисел A и B нечетное».


Информатика | 78 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Это сделает логическое выражение
(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.

(142k баллов)