ФИПИ · ЕГЭ · Информатика · Задание 15

Задание 15. Математическая логика

81 заданий открытого банка ФИПИ: впишите ответ, при затруднении — подсказка; после ответа — разбор по шагам.

0
Решено
0
Правильно
0%
Точность

Задания открытого банка ФИПИ «Задание 15. Математическая логика» (информатика). Ответ вписывается так же, как в бланк ЕГЭ: число, слово или цифры подряд, без пробелов; если в ответе два числа — через пробел, как в таблице ответа (по строкам).

Неофициальная копия. Условия заданий — из открытого банка заданий ФИПИ (fipi.ru); номер у каждого задания открывает его в банке ФИПИ. Ответы, подсказки, разборы и рисунки подготовлены reknow.ru. Нашли ошибку — нажмите «Сообщить об ошибке» у задания.

Серия: 0

О теме

Задание 15 ЕГЭ по информатике. Знание основных понятий и законов математической логики. На странице — 81 задание открытого банка ФИПИ: ответ проверяется сразу, есть подсказка и подробный разбор.

Примеры заданий

Это несколько заданий из тренажёра, остальные — в тренажёре в начале страницы.

ФИПИ № 027A9D ↗

Для какого наименьшего целого неотрицательного числа А выражение

 

(x + 2y < A) \/ (y > x) \/ (x > 20)

 

тождественно истинно, т.е. принимает значение 1 при любых целых неотрицательных x и y?

Показать ответ
Ответ: 61
Решение.
  1. Если y > x или x > 20, выражение уже истинно. Остаются пары с y ≤ x ≤ 20 — для них нужно x + 2y < A.
  2. Наибольшее x + 2y при y ≤ x ≤ 20 достигается при x = y = 20: 20 + 40 = 60.
  3. Значит, нужно 60 < A, наименьшее A = 61.
  4. Проверка программой:
    for A in range(200):
        if all(x + 2*y < A or y > x or x > 20
               for x in range(100) for y in range(100)):
            print(A); break
  5. Ответ: 61.
ФИПИ № 062AE0 ↗

Для какого наименьшего целого неотрицательного числа A выражение

 

(x < A) \/ (y < A) \/ (x + 2y > 50)

 

тождественно истинно, т.е. принимает значение 1 при любых целых неотрицательных x и y?

Показать ответ
Ответ: 17
Решение.
  1. Если x < A или y < A, выражение истинно. Остаются x ≥ A, y ≥ A — для них нужно x + 2y > 50.
  2. Наименьшее x + 2y при x, y ≥ A равно A + 2A = 3A. Нужно 3A > 50, т. е. A ≥ 17.
  3. Проверка: A = 16 не подходит (x = y = 16: 48 ≤ 50), A = 17 подходит (3 · 17 = 51 > 50).
  4. Программа:
    for A in range(100):
        if all(x < A or y < A or x + 2*y > 50
               for x in range(200) for y in range(200)):
            print(A); break
  5. Ответ: 17.
ФИПИ № 0808A0 ↗

Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m»; пусть на числовой прямой дан отрезок B = [60; 80].

Для какого наибольшего натурального числа А логическое выражение

 

ДЕЛ(x, A) \/ ((x ∈ B) → ¬ДЕЛ(x, 22))

 

истинно (т.е. принимает значение 1) при любом целом положительном значении переменной х?

Показать ответ
Ответ: 66
Решение.
  1. Выражение ДЕЛ(x, A) ∨ ((x ∈ B) → ¬ДЕЛ(x, 22)) ложно, только если x ∈ B, x делится на 22 и x не делится на A.
  2. Значит, A должно быть делителем каждого числа из B = [60; 80], кратного 22. Такое число в отрезке одно: 66.
  3. Наибольший делитель числа 66 — оно само, A = 66.
  4. Проверка программой:
    def ok(A):
        return all(x % A == 0 or not (60 <= x <= 80 and x % 22 == 0)
                   for x in range(1, 1000))
    print(max(A for A in range(1, 1000) if ok(A)))
  5. Ответ: 66.
ФИПИ № 08BA7A ↗

Для какого наименьшего целого неотрицательного числа А выражение

(x < A) \/ (y < A) \/ (x + 2y > 40)

тождественно истинно, т.е. принимает значение 1 при любых целых неотрицательных x и y?

Показать ответ
Ответ: 14
Решение.
  1. Выражение ложно, если x ≥ A, y ≥ A и x + 2y ≤ 40.
  2. Чтобы таких x, y не было, нужно, чтобы при x ≥ A, y ≥ A всегда x + 2y > 40: наименьшее значение x + 2y равно 3A, значит, 3A > 40, A ≥ 14.
  3. Проверка программой (перебор x, y в достаточном диапазоне):
    def ok(A):
        return all((x < A) or (y < A) or (x + 2*y > 40)
                   for x in range(0, 300) for y in range(0, 300))
    print(min(A for A in range(0, 1000) if ok(A)))
  4. Ответ: 14.