Главная Проекты Номер 15. ЕГЭ по информатике

Номер 15. ЕГЭ по информатике

15 номер егэ информатика

Задача №1 (арифметические выражения)

Укажите наименьшее целое значение А, при котором выражение
(xy < 3A) ∨ (x ≥ 31) ∨ (x < 5y)

истинно для любых целых положительных значений x и y.

Оформление функции

В задаче указаны две переменные, х и у, поэтому определим функцию f(x, y, a) в соответствии с условием задачи.

ВАЖНО: чтобы не думать нужны ли дополнительные скобки, лучше всегда выделять скобками отдельные выражения.

def f(x, y, a):

    return (x * y < 3 * a) or (x >= 31) or (x < 5 * y)

Задача №2 (работа с делимостью)

Обозначим через ДЕЛ(n, m) утверждение «натуральное число n делится без остатка на натуральное число m». Для какого наибольшего натурального числа А формула
¬ДЕЛ(x, А) → (¬ДЕЛ(x, 21) ∧ ¬ДЕЛ(x, 35))

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

Оформление функции 

По условию запись «ДЕЛ (х, А)» означает, что х делится на А без остатка. Если х делится на А без остатка, то функция ДЕЛ (х, А) – истинна, то есть равна единице. Если х не делится на А, то функция ложна, равна нулю. Например, для чисел (25; 5) функция ДЕЛ(25; 5) истинна, а для чисел (11; 3) – ложна, так как 11 не делится на 3.

Напишем функцию f(x, a) в соответствии с условием задачи, она будет принимать на вход число х и вычислять для него значение логического выражения из условия задачи.

ДЕЛ (n, m) – это проверка, что число n делится на число m без остатка. Для записи в Python используется знак «%», остаток от деления.

Если перед «ДЕЛ» стоит отрицания, то можно записать выражение как (not (n%m==0)), но короче использовать обозначение «!=», не равно. Например:

Записываем импликации, используя «<=», внимательно расставляем скобки, так, чтобы все части функции выполнялись в правильном порядке:

def f(x, a):

    return (x % a != 0) <= ((x % 21 != 0) and (x % 35 != 0))

Также можно завести отдельную функцию для подсчета значения ДЕЛ.

def del(x, a):

  return x % a == 0

def f(x, a):

    return (not del(x, a)) <= (not del(x, 21) and not del(x, 35))

Задача 3 (поразрядная конъюнкция)

Введём выражение M & K, обозначающее поразрядную конъюнкцию M и K (логическое «И» между соответствующими битами двоичной записи). Определите наименьшее натуральное число A, такое что выражение
(X & 53 = 0) → ((X & 19 ≠ 0) → (X & A ≠ 0))

тождественно истинно (то есть принимает значение 1 при любом натуральном значении переменной X)?

Оформление функции

В Python поразрядная конъюнкция, записывается так же, через знак & (Shift + 7).

Определим функцию f(x, a) в соответствии с условием задачи, правильно записывая все операции, с помощью соответствующих символов:

def f(x, a):

    return (x & 53 == 0) <= ((x & 19 != 0) <= (x & a != 0))

Задача 4 (работа с отрезками)

На числовой прямой даны три отрезка: P = [106; 218], Q = [132; 388] и R = [183; 256]. Укажите наименьшую возможную длину такого отрезка A, что формула

(¬((x ∈ Q) → ((x ∈ P) ∨ (x ∈ R)))) → (¬(x ∈ A) → ¬(x ∈ Q))

тождественно истинна, то есть принимает значение 1 при любом значении переменной х?

Оформление функции

Определим функцию f(x, a1, a2) в соответствии с условием задачи, сохранив результаты принадлежности х заданным в задании отрезкам. В качестве значений a1 и a2 в функцию передаются точки концов отрезка, который проверяется.

def f(x, a1, a2):

    # принадлежность отрезку P = [106; 218]

    P = 106 <= x <= 218

    # принадлежность отрезку Q = [132; 388]

    Q = 132 <= x <= 388

    # принадлежность отрезку R = [183; 256]

    R = 183 <= x <= 256

    # принадлежность искомому отрезку А = [a1, a2]

    A = a1 <= x <= a2

    return (not(Q <= (P or R))) <= ((not A) <= (not Q))

Задача №5 (работа с множествами)

Элементами множеств А, P, Q являются натуральные числа, причём P={2,4,6,8,10,12} и Q={4,8,12,116}. Известно, что выражение

(x ∈ P) → (((x ∈ Q) ∧ (x ∉ A)) → (x ∉ P))

истинно (т. е. принимает значение 1) при любом значении переменной х. Определите наименьшее возможное значение суммы элементов множества A.

Оформление функции

Определим функцию f(x, a), где а – проверяемое множество.

Определим принадлежность значения х множествам с помощью оператора in.

def f(x, a):

    # х принадлежит множеству Р

    P = x in {2, 4, 6, 8, 10, 12}

    # х принадлежит множеству Q

    Q = x in {4, 8, 12, 116}

    # х принадлежит множеству A

    A = x in a

    return P <= ((Q and not A) <= (not P))