Разбор 15.PNG

Тип 15 № 15803

На числовой прямой задан отрезок A. Известно, что формула

((*x* ∈ *A*) → (*x2* ≤ 100)) ∧ ((*x2* ≤ 64) → (*x* ∈ *A*))

тождественно истинна при любом вещественном x. Какую наибольшую длину может иметь отрезок A?

Untitled

Комментарии к коду программы:

  1. def F(x, a1, a2): - Объявляем функцию F, которая принимает три аргумента: x, a1 и a2. Где a1 и a2 - начало и конец отрезка A.
  2. A = a1 <= x <= a2 - Создаем переменную A, которая принимает значение True, если x находится в интервале от a1 до a2, и False в противном случае.
  3. return (A <= (x****2 <=** 100)) and ((x**2 <= 64) <= A) - Возвращаем True, если логическое уравнение возвращает значение True.
  4. M = [i/2 for i in range(-100**2, 100**2)] - Создаем список M, содержащий все вещественные числа от -100 до 100 с шагом 0,5.
  5. R = [] - Создаем пустой список R, куда будем складывать длины подходящих нам отрезков.
  6. for a1 in M: - Используем цикл for, чтобы перебрать все значения из списка M для a1.
  7. for a2 in M: - Аналогично для a2.
  8. if all(F(x, a1, a2) for x in M): - Проверяем, выполняется ли условие F(x, a1, a2) для всех значений x в списке M.
  9. R.append(a2-a1) - Если условие выполнено для всех значений x, добавляем разность a2-a1 в список R, то есть сохраняем длину отрезков.
  10. print(max(R)) - Выводим на экран максимальное значение из списка R.