Задача № 6
Алгоритм решения:
Изучить программу. Нужно понять, какие операции и условия она выполняет. Например, в Python для ввода данных с клавиатуры используется input(), а преобразование в целочисленный тип — int(input()). Условный оператор if проверяет заданное условие, а print() выводит результат.
Подготовить данные для запусков. В условии задачи обычно указаны пары значений переменных (например, s и t), которые использовались при запуске программы. Запустить программу для каждого набора данных. Это позволит проверить, как программа работает при разных значениях переменных.
Проанализировать результаты. В зависимости от условия задачи нужно определить, сколько запусков привело к определённому результату (например, сколько раз программа напечатала «YES»), или найти значение параметра, при котором выполняется заданное условие.
Ответить на вопрос задачи. Например, подсчитать количество запусков, при которых программа вывела «YES», или определить значение параметра.
Пример задачи и её решения:
Задача: Ниже приведена программа, записанная на пяти языках программирования.
s = int(input())
t = int(input())
A = int(input())
if (s > A) or (t > 12):
print("YES")
else:
print("NO")
Было проведено 9 запусков программы, при которых в качестве значений переменных s и t вводились следующие пары чисел:
(13, 2); (11, 12); (–12, 12); (2, –2); (–10, –10); (6, –5); (2, 8); (9, 10); (1, 13).
Укажите наименьшее целое значение параметра A, при котором для указанных входных данных программа напечатает «NO» восемь раз.
Решение:
def f(s, t, A):
if (s > A) or (t > 12):
return 0
else:
return 1
a = ((13, 2), (11, 12), (-12, 12), (2, -2), (-10, -10), (6, -5), (2, 8), (9, 10), (1, 13))
kol = 0
for A in range(100):
count = 0
for i in range(9):
count += f(a[i][0], a[i][1], A)
if count == 8:
print(A)
break
Ответ: 13.