Разбор задач
Задача 1
Условие:
Три сигнала A, B, C ∈ {0,1}.
Доступ открывается, если выполняется: (A ИЛИ B) И НЕ(B И C).
Сколько наборов (A, B, C) открывают доступ?
Разбор решения:
Условие состоит из двух частей:
-
(A ИЛИ B) — должен быть активен хотя бы один из A или B.
Это сразу исключает случаи, когда A=0 и B=0 (неважно, какой C). -
НЕ(B И C) — запрещено, чтобы B=1 и C=1 одновременно.
То есть если B=1, то C обязан быть 0. Если B=0 — ограничение не мешает.
Теперь просто считаем удобным способом — по B.
Случай 1: B = 0
Тогда запрет “B и C” вообще не срабатывает (потому что B=0, значит B∧C=0).
Остаётся требование: A ИЛИ 0 = A, то есть A должен быть 1.
-
A=1, B=0, C=0 — подходит
-
A=1, B=0, C=1 — подходит
Итого при B=0 получаем 2 набора.
Случай 2: B = 1
Тогда (A ИЛИ B) автоматически истинно (потому что B=1).
Но включается запрет: нельзя B=1 и C=1, значит C должен быть 0.
-
A=0, B=1, C=0 — подходит
-
A=1, B=1, C=0 — подходит
Итого при B=1 получаем 2 набора.
Проверка “в лоб”: всего 8 наборов. Запрещаются:
-
A=0,B=0,C=0 (потому что A∨B = 0)
-
A=0,B=0,C=1 (потому что A∨B = 0)
-
A=0,B=1,C=1 (потому что B∧C = 1, а это запрещено)
-
A=1,B=1,C=1 (то же самое)
Остаётся 4 разрешённых.
Ответ: 4.
Задача 2
Условие:
5 рабочих за 5 часов выкапывают 5 метров траншеи.
Сколько рабочих нужно, чтобы выкопать 100 метров за 100 часов?
Разбор решения:
Главная идея: работа зависит от “человеко-часов”.
5 рабочих × 5 часов = 25 человеко-часов дают 5 метров.
Значит 1 человеко-час даёт:
5 метров / 25 человеко-часов = 0,2 метра на человеко-час.
Теперь цель: 100 метров за 100 часов.
Если рабочих x, то человеко-часов будет:
x × 100.
И объём работы:
0,2 × (x × 100) = 100.
Считаем:
0,2 × 100 = 20, значит 20x = 100, отсюда x = 5.
Ответ: 5.
Задача 3
Условие:
Все стажёры проходят обучение. Анна — стажёр.
Следует ли, что Анна проходит обучение?
Разбор решения:
Это классическая логика “все → значит любой конкретный”.
Фраза “все стажёры проходят обучение” означает:
для любого человека, если он стажёр — он проходит обучение.
Анна стажёр, значит она попадает под это правило.
Следовательно, Анна проходит обучение.
Ответ: да.
Задача 4
Условие:
Все аналитики знают SQL. Некоторые разработчики — аналитики.
Следует ли, что некоторые разработчики знают SQL?
Разбор решения:
Разберём по цепочке:
-
“Все аналитики знают SQL” — любой аналитик знает SQL.
-
“Некоторые разработчики — аналитики” — существует хотя бы один человек, который одновременно разработчик и аналитик.
Берём этого “некоторого” разработчика-аналитика:
он аналитик ⇒ он знает SQL.
Значит существует хотя бы один разработчик, который знает SQL.
То есть “некоторые разработчики знают SQL” — верно.
Ответ: да.
Задача 5
Условие:
Некоторые менеджеры — программисты. Все программисты умеют писать код.
Следует ли, что некоторые менеджеры умеют писать код?
Разбор решения:
Тут почти то же самое, что в задаче 30:
- “Некоторые менеджеры — программисты” — есть хотя бы один человек, который и менеджер, и программист.
- “Все программисты умеют писать код” — любой программист умеет писать код.
Берём того самого менеджера-программиста:
он программист ⇒ он умеет писать код.
Значит существует хотя бы один менеджер, который умеет писать код.
То есть утверждение верное.
Ответ: да.