2 маленьких несложных задания в 1 строку - Free Pascal
Формулировка задачи:
Ув., столкнулся с проблемой: не могу решить 2 оставшихся примера. Знаю,что решение каждого в 1 строчку, но все,что я пробовал - было неверно.
Помогите пожалуйста, кто знает:
№1. a и b - логические переменные. Выражение, эквивалентное (a > b)=a записанное с использованием только логических операций, на Паскале имеет вид...
№2. Оператор присваивания логической переменной t значения выражения "среди чисел x,y,z имеется только два равных" имеет вид...
п.с. я пробовал в 1 писать так: a xor b = a, вроде бы верно, если подставить значения: 1>0=1, 0>1=0, но если 1>1=1 - ошибка...
ко 2 я пытался подобным способом: t:=(x and y) xor ( y and z) xor (x and z), но опять же, сработало если бы у нас 2 скобки были верны, только 1 верна, ни 1 , но если все будут верны, то выведет true, а не false
Решение задачи: «2 маленьких несложных задания в 1 строку»
textual
Листинг программы
not (a and b)
Объяснение кода листинга программы
aиb- это две переменные, которые должны быть логическими (boolean), т.е. иметь значения true или false.- Операция
and(логическое И) возвращает true только в том случае, если оба операнда (aиb) равны true. - Операция
not(логическое отрицание) возвращает false, если операнд (a and b) равен true, и true, если операнд (a and b) равен false. - Таким образом, выражение
not (a and b)возвращает true, если хотя бы одно из условий (aилиb) равно false. - Если оба условия (
aиb) равны true, то выражениеnot (a and b)вернет false. - Если
aравно true, аbравно false, то выражениеnot (a and b)вернет true. - Если
aравно false, аbравно true, то выражениеnot (a and b)вернет true. - Если оба условия (
aиb) равны false, то выражениеnot (a and b)вернет true.