§18 ГДЗ Семакин 10 класс (Информатика)
2. Что такое предикат? Приведите примеры.
3. Запишите на языке алгебры логики логические функции, которые будут принимать значение ИСТИНА, если справедливы следующие утверждения, и ЛОЖЬ — в противном случае:
а) все числа X, У, Z равны между собой;
б) из чисел X, У, Z только два равны между собой;
в) каждое из чисел X, У, Z положительно;
г) только одно из чисел X, У, Z положительно;
д) значения чисел X, У, Z упорядочены по возрастанию.
4. Все формулы, полученные при решении предыдущей задачи, запишите в виде логических выражений на Паскале.
5. Постройте таблицу истинности для логической формулы:
—X&YvX&Z.
Пояснение: в таблице истинности должны быть вычислены значения формулы для всех вариантов значений логических переменных: X, У, Z. Следовательно, таблица будет содержать 23 = 8 строк и 4 столбца: значения X, У, Z и результат. В таблицу можно добавить дополнительные столбцы, содержащие результаты промежуточных операций.
6. Вычислите значения следующих логических выражений, записанных на Паскале:
а) К mod 7 = К div 5-1 при К = 15;
б) odd(trune(10*P)) при P = 0,182;
в) not odd(n) при n = 0;
г) t and (P mod 3=0) при t = true, P = 10101;
д) (x*y < > 0) and (y > x) при x = 2, у = 1;
е) a or not b при a = false, b = true.
Пояснения: odd(x) — логическая функция определения четности аргумента, равна true, если х — нечетное, и равна false, если х — четное; trunc(x) — целочисленная функция от вещественного аргумента, возвращающая ближайшее целое число, не превышающее х по модулю.
1. При вычислении отношения или неравенства между числами получается логическая величина: истинно или ложно.
2. Предикат — это логическая функция от числовых аргументов, то есть выражение, которое при подстановке чисел принимает значение $$\text{ИСТИНА}$$ или $$\text{ЛОЖЬ}$$. Например: $$F(x,y)=(x^2+y^2<1)$$.
3. Запишем логические функции:
- а) все числа $$X, Y, Z$$ равны между собой: $$ (X=Y)\land(Y=Z) $$;
- б) из чисел $$X, Y, Z$$ только два равны между собой: $$((X=Y)\land(Y\ne Z))\lor((X=Z)\land(Z\ne X))\lor((Y=Z)\land(Z\ne X))$$;
- в) каждое из чисел $$X, Y, Z$$ положительно: $$ (X>0)\land(Y>0)\land(Z>0) $$;
- г) только одно из чисел $$X, Y, Z$$ положительно: $$((X>0)\land(Y>0)\land(Z<0))\lor((X>0)\land(Y<0)\land(Z>0))\lor((X<0)\land(Y>0)\land(Z>0))$$;
- д) значения чисел $$X, Y, Z$$ упорядочены по возрастанию: $$ (X<Y)\land(Y<Z) $$.
4. Запишем эти формулы на Паскале:
- а) (X = Y) and (Y = Z);
- б) ((X = Y) and (Y <> Z)) or ((X = Z) and (Z <> X)) or ((Y = Z) and (Z <> X));
- в) (X > 0) and (Y > 0) and (Z > 0);
- г) ((X > 0) and (Y > 0) and (Z < 0)) or ((X > 0) and (Y < 0) and (Z > 0)) or ((X < 0) and (Y > 0) and (Z > 0));
- д) (X < Y) and (Y < Z).
5. Построим таблицу истинности для формулы $$\neg X \land Y \lor X \land Z$$. Сначала вычислим промежуточные значения.
| X | Y | Z | $$\neg X$$ | $$\neg X \land Y$$ | $$X \land Z$$ | $$\neg X \land Y \lor X \land Z$$ |
|---|---|---|---|---|---|---|
| 0 | 0 | 0 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0 | 1 | 1 | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 1 | 0 | 0 | 1 | 1 |
| 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 0 | 0 | 1 | 1 |
6. Вычислим значения выражений:
- а) $$K \bmod 7 = K \div 5 — 1$$ при $$K=15$$: $$15 \bmod 7 = 1,\quad 15 \div 5 — 1 = 3 — 1 = 2$$, значит $$1=2$$ — FALSE;
- б) $$\operatorname{odd}(\operatorname{trunc}(10\cdot P))$$ при $$P=0{,}182$$: $$10\cdot 0{,}182=1{,}82,\quad \operatorname{trunc}(1{,}82)=1$$, число 1 нечётное, значит — TRUE;
- в) $$\operatorname{not}\ \operatorname{odd}(n)$$ при $$n=0$$: число 0 чётное, значит $$\operatorname{odd}(0)=\text{FALSE}$$, тогда результат — TRUE;
- г) $$t \land (P \bmod 3 = 0)$$ при $$t=\text{true},\ P=10101$$: $$10101 \bmod 3 = 0$$, значит выражение истинно — TRUE;
- д) $$(x\cdot y \ne 0)\land(y>x)$$ при $$x=2,\ y=1$$: $$x\cdot y=2\ne 0$$ — истина, но $$1>2$$ — ложь, значит всё выражение — FALSE;
- е) $$a \lor \operatorname{not} b$$ при $$a=\text{false},\ b=\text{true}$$: $$\operatorname{not} b=\text{false}$$, значит результат — FALSE.
Ответ
1) Логическая величина.
2) Предикат — логическая функция от числовых аргументов; пример: $$F(x,y)=(x^2+y^2<1)$$.
3) Формулы записаны выше.
4) Формулы на Паскале записаны выше.
5) Значения формулы по строкам таблицы: $$0, 0, 1, 1, 0, 1, 0, 1$$.
6) а) FALSE; б) TRUE; в) TRUE; г) TRUE; д) FALSE; е) FALSE.