Подготовка к школе
1 класс
2 класс
3 класс
4 класс
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
ОГЭ
ЕГЭ
Для всех
Назад

6. Программа с условным оператором: #293104

Сообщить о проблеме
Задание #293104
Задание было решено верно
Задание было решено неверно

Ниже приведена программа, записанная на пяти языках программирования.

Алгоритмический язык:

алг
нач
цел s, t, A
ввод s
ввод t
ввод A
если s > A или t > 12
 то вывод «YES»
 иначе вывод «NO»
все
кон

Паскаль:

var s, t, A: integer;
begin
 readln(s);
 readln(t);
 readln(A);
 if (s > A) or (t > 12)
  then writeln(‘YES’)
  else writeln(‘NO’)
end.

Бейсик:

DIM s, t, A AS INTEGER
INPUT s
INPUT t
INPUT A
IF s > A OR t > 12 THEN
 PRINT «YES»
ELSE
 PRINT «NO»
ENDIF

Python:

s = int(input())
t = int(input())
A = int(input())
if (s > A) or (t > 12):
 print(«YES»)
else:
 print(«NO»)

C++:

#include
using namespace std;

int main() {
 int s, t, A;
 cin >> s;
 cin >> t;
 cin >> A;
 if (s > A || t > 12)
  cout << «YES» << endl;
 else
  cout << «NO» << endl;
 return 0;
}

Было проведено $9$ запусков программы, при которых в качестве значений переменных $s$ и $t$ вводились следующие пары чисел:

$(13;2)$; $(11;12)$; $(-12;12)$; $(2;-2)$; $(-10;-10)$; $(6;-5)$; $(2;8)$; $(9;10)$; $(1;13)$.

Укажите наибольшее целое значение параметра $A$, при котором для указанных входных данных программа напечатает «NO» два раза.

Программа печатает «YES», если выполняется хотя бы одно из условий: $s>A$ или $t>12$.

Следовательно, программа печатает «NO», если одновременно выполняются условия: $s\leqslant A$ и $t\leqslant12$.

Для пары $(1;13)$ условие $t\leqslant12$ ложно, поэтому при любом значении параметра $A$ программа напечатает «YES».

Для остальных $8$ пар условие $t\leqslant12$ выполняется. Чтобы программа напечатала «NO» ровно $2$ раза, условие $s\leqslant A$ должно выполняться ровно для двух значений $s$.

Расположим значения $s$ в порядке возрастания: $-12,\ -10,\ 2,\ 2,\ 6,\ 9,\ 11,\ 13$.

Чтобы подходили первые два значения, но не подходило третье, необходимо: $-10\leqslant A<2$.

Целые значения параметра, удовлетворяющие этому условию: $A=-10,\ -9,\ -8,\ -7,\ -6,\ -5,\ -4,\ -3,\ -2,\ -1,\ 0,\ 1$.

Наибольшее из них: $A=1$.

Проверим при $A=1$:

  • $(13;2)$: $13>1$ — «YES»;
  • $(11;12)$: $11>1$ — «YES»;
  • $(-12;12)$: $-12\leqslant1$ и $12\leqslant12$ — «NO»;
  • $(2;-2)$: $2>1$ — «YES»;
  • $(-10;-10)$: $-10\leqslant1$ и $-10\leqslant12$ — «NO»;
  • $(6;-5)$: $6>1$ — «YES»;
  • $(2;8)$: $2>1$ — «YES»;
  • $(9;10)$: $9>1$ — «YES»;
  • $(1;13)$: $13>12$ — «YES».

Программа напечатала «NO» ровно $2$ раза.

Показать
Очки опыта 20
Спросить Зави
0 заданий сегодня

Предложить улучшение