Задания
Версия для печати и копирования в MS Word
Тип 6 № 43444
i

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

 

Ал­го­рит­ми­че­ский языкПас­каль

алг

нач

цел s, t, A

Ввод s

ввод t

Ввод A

если s > А или t > 11

    то вывод "YES"

    иначе вывод "NO"

все

кон

var s, t, A: integer;

begin

   readln (s);

   readln(t)

   readin (A)

if (s > A) or (t > 11)

   then writeln("YES")

   else writeln("NO")

end.

Бей­сикPython

DIM s, t, A AS INTEGER

INPUT s

INPUT t

INPUT A

IF s > A OR t > 11 THEN

   PRINT "YES"

ELSE

   PRINT "NO"

ENDIF

s = int (input ())

t = int (input ())

A = int(input ())

if (s > A) or (t > 11):

   print ("YES")

else:

   print("NO")

С++

#include

using namespace std;

int main () {

   int s, t, A;

   cin >> s;

   cin >> t;

   cin >> A;

   if (s > A || t > 11)

     cout << "YES" << endl;

   else

     cout << "NO" << endl;

   return 0;

}

 

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

(–9; 11), (2; 7), (5; 12), (2; –2), (7; –9), (12; 6), (9; –1), (7; 11), (11; –5).

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

Спрятать решение

Ре­ше­ние.

За­ме­тим, что про­грам­ма на­пе­ча­та­ет «YES», если пе­ре­мен­ная t будет боль­ше 11, а пе­ре­мен­ная s будет боль­ше А.

Из пер­вой части усло­вия по­лу­ча­ем, что при вводе зна­че­ний s и t (5, 12) про­грам­ма на­пе­ча­та­ет «YES» вне за­ви­си­мо­сти от зна­че­ния A. При от­ри­ца­тель­ных зна­че­ни­ях A про­грам­ма будет вы­во­дить «YES» боль­ше трех раз.

За­ме­тим, что при A  =  1 про­грам­ма на­пе­ча­та­ет «YES» во­семь раз, при 2 ≤ A ≤ 4 про­грам­ма на­пе­ча­та­ет «YES» пять раз, а при A  =  6 про­грам­ма будет пе­ча­тать «YES» шесть раз. Таким об­ра­зом, ответ  — 6.

 

Ответ: 6.

 

При­ве­дем дру­гое ре­ше­ние на языке Python.

def f(s, t, A):

if (s > A) or (t > 11):

return 1

else:

return 0

a = ((-9, 11), (2, 7), (5, 12), (2, -2), (7, -9), (12, 6), (9, -1), (7, 11), (11, -5))

kol = 0

for A in range(100, 0, -1):

count = 0

for i in range(9):

count += f(a[i][0], a[i][1], A)

if count == 6:

print(A)

break

При­ме­ча­ние.

Ло­ги­че­ский опе­ра­тор «OR» в про­цес­се вы­пол­не­ния при­ни­ма­ет зна­че­ние «true», если x или y равен true; в про­тив­ном слу­чае  —  «false».


Аналоги к заданию № 43583: 43353 43428 43444 ... Все

Источник: ОГЭ−2025. Ос­нов­ная волна 26.05.2025. Санкт-Пе­тер­бург. Ва­ри­ант 2509