Решение: Анализ условий программы
Ниже приведена программа, записанная на пяти языках программирования. Программа выводит «YES», если выполняется условие $s > 10$ или $t > A$, и выводит «NO» в противном случае.
Было проведено 9 запусков программы, при которых в качестве значений переменных $s$ и $t$ вводились следующие пары чисел: $(1, 2)$; $(11, 2)$; $(1, 12)$; $(11, 12)$; $(-11, -12)$; $(-11, 12)$; $(-12, 11)$; $(10, 10)$; $(10, 5)$. Укажите количество целых значений параметра $A$, при которых для указанных входных данных программа напечатает «NO» два раза.
Решение по шагам
4 шагаПрограмма печатает «NO», если условие $s > 10$ или $t > A$ ложно. Значит, одновременно должны выполняться неравенства $s \leq 10$ и $t \leq A$.
Пары с $s = 11$ не могут дать результат «NO»: это пары $(11, 2)$ и $(11, 12)$. Для остальных пар получаем условия на параметр $A$: $A \geq 2$, $A \geq 12$, $A \geq -12$, $A \geq 12$, $A \geq 11$, $A \geq 10$, $A \geq 5$.
При $A < -12$ результат «NO» не получается ни разу. При $-12 \leq A < 2$ он получается один раз. При $2 \leq A < 5$ выполняются ровно два ограничения: $A \geq -12$ и $A \geq 2$.
Целые значения параметра в этом диапазоне: $A = 2$, $A = 3$, $A = 4$.
Где здесь ошибаются
Учитывают пары с $s = 11$, хотя при них условие $s > 10$ истинно и программа всегда выводит «YES».
Забывают, что для вывода «NO» необходимо выполнение обоих неравенств $s \leq 10$ и $t \leq A$.
Считают только одно значение $A$, не учитывая весь диапазон $2 \leq A < 5$.