Вопрос:

13. Дана программа: Python s = int(input()) t = int(input()) A = int(input()) if s < A and t < 5: print("ДА") else: print("НЕТ") Было проведено 9 запусков этой программы, при которых в качестве значений переменных s и t вводились следующие пары чисел: (10, 15); (-6, -3); (11, 5); (8, -8); (4, -11); (12, 5), (-11, -8), (15, 0), (10, 7) Укажите максимальное целое значение параметра А, при котором для указанных одних данных программа напечатает «НЕТ» 7 раз.

Ответ:

Задание 13. Анализ программы Python


Программа выводит "ДА", если выполняются оба условия: s < A и t < 5. Во всех остальных случаях выводится "НЕТ".


Нам нужно найти максимальное целое значение A, при котором программа напечатает "НЕТ" 7 раз. Это означает, что условие "ДА" должно выполниться 2 раза (так как всего 9 запусков).


Рассмотрим данные пары (s, t) и проверим условие t < 5:



  • (10, 15): 15 < 5 - Ложь

  • (-6, -3): -3 < 5 - Истина

  • (11, 5): 5 < 5 - Ложь

  • (8, -8): -8 < 5 - Истина

  • (4, -11): -11 < 5 - Истина

  • (12, 5): 5 < 5 - Ложь

  • (-11, -8): -8 < 5 - Истина

  • (15, 0): 0 < 5 - Истина

  • (10, 7): 7 < 5 - Ложь


Условие t < 5 выполняется для следующих пар:



  • (-6, -3)

  • (8, -8)

  • (4, -11)

  • (-11, -8)

  • (15, 0)


Это 5 пар. Чтобы программа вывела "ДА" ровно 2 раза, нам нужно, чтобы условие s < A было истинным ровно для 2 из этих 5 пар. Чтобы "НЕТ" было выведено 7 раз, условие "ДА" должно выполниться 2 раза. Условие s < A должно быть истинно для двух пар, где t < 5.


Рассмотрим значения s для пар, где t < 5:



  • -6

  • 8

  • 4

  • -11

  • 15


Чтобы ровно 2 значения s были меньше A, нам нужно выбрать такое A, чтобы оно было больше двух самых больших значений s, но меньше третьего по величине (или равно ему).


Упорядочим значения s по возрастанию: -11, -6, 4, 8, 15.


Чтобы ровно 2 условия s < A были истинны, A должно быть больше 8 (чтобы s=8 и s=-6, s=-11 удовлетворяли условию) и меньше или равно 15 (чтобы s=15 не удовлетворяло условию, а s=4, s=8, s=-6, s=-11 удовлетворяли).


Таким образом, нам нужно, чтобы A было больше 8 и меньше или равно 15. Мы ищем максимальное целое значение A.


Если A = 9, то s < 9 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 10, то s < 10 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 11, то s < 11 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 12, то s < 12 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 13, то s < 13 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 14, то s < 14 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.


Если A = 15, то s < 15 истинно для -11, -6, 4, 8 (4 раза). "ДА" - 4 раза, "НЕТ" - 5 раз. Не подходит.



Пересмотрим условие. Нам нужно, чтобы "НЕТ" выводилось 7 раз, то есть "ДА" выводилось 2 раза. Условие "ДА": s < A И t < 5.



Сначала определим, для каких пар t < 5:



  • (-6, -3)

  • (8, -8)

  • (4, -11)

  • (-11, -8)

  • (15, 0)


Теперь для этих пар проверим условие s < A. Нам нужно, чтобы это условие выполнилось ровно 2 раза.


Значения s из этих пар: -6, 8, 4, -11, 15. Отсортируем их: -11, -6, 4, 8, 15.


Чтобы ровно 2 значения s были меньше A, A должно быть больше, чем второе по величине значение s (-6), но меньше или равно третьему по величине значению s (4). То есть, -6 < A ≤ 4.


Мы ищем максимальное ЦЕЛОЕ значение A. Максимальное целое значение, удовлетворяющее условию -6 < A ≤ 4, это 4.


Проверим, если A = 4:



  • (-6, -3): -6 < 4 (Истина) и -3 < 5 (Истина) -> "ДА"

  • (8, -8): 8 < 4 (Ложь) и -8 < 5 (Истина) -> "НЕТ"

  • (4, -11): 4 < 4 (Ложь) и -11 < 5 (Истина) -> "НЕТ"

  • (-11, -8): -11 < 4 (Истина) и -8 < 5 (Истина) -> "ДА"

  • (15, 0): 15 < 4 (Ложь) и 0 < 5 (Истина) -> "НЕТ"


Для остальных пар, где t ≥ 5, всегда будет "НЕТ", так как условие t < 5 ложно.


Таким образом, при A = 4, "ДА" выводится 2 раза, а "НЕТ" - 7 раз.


Ответ: 4