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

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

 

Бей­сикPython

DIM k, s AS INTEGER

INPUT s

INPUT k

IF s < 5 OR k < 5 THEN

    PRINT "ДА"

ELSE

     PRINT "НЕТ"

END IF

s = int(input())

k = int(input())

if s < 5 or k < 5:

    print("ДА")

else:

    print("НЕТ")

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

var s, k: integer;

begin

    readln(s);

    readln(k);

    if (s < 5) or (k < 5)

        then writeln ('ДА')

        else writeln ('НЕТ')

end.

алг

нач

цел s, k

ввод s

ввод k

если s < 5 или k < 5

    то вывод "ДА"

    иначе вывод "НЕТ"

все

кон

С++

#include <iostream>

using namespace std;

int main() {

    int s, k;

    cin >> s;

    cin >> k;

    if (s < 5 || k < 5)

        cout << "ДА";

    else

         cout << "НЕТ";

    return 0;

}

 

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

(2, 2); (5, 9); (7, −12); (5, 5); (2, 12); (—10, —13); (—11, 11); (1, 4); (2, 6).

Сколь­ко было за­пус­ков, при ко­то­рых про­грам­ма на­пе­ча­та­ла «ДА»?

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

Ре­ше­ние.

За­ме­тим, что про­грам­ма на­пе­ча­та­ет «ДА», если пе­ре­мен­ная s будет мень­ше 5 или пе­ре­мен­ная k  — мень­ше 5. Зна­чит, было 7 за­пус­ков, при ко­то­рых про­грам­ма на­пе­ча­та­ла «ДА». В ка­че­стве зна­че­ний пе­ре­мен­ных s и k в этих слу­ча­ях вво­ди­лись сле­ду­ю­щие пары чисел:

(2, 2); (7, −12); (2, 12); (—10, —13); (—11, 11); (1, 4); (2, 6)

Ответ: 7.

 

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

def f(s, k):

if s < 5 or k < 5:

return 1

else:

return 0

 

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

kol = 0

for i in range(9):

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

print(kol)

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

1.  Дру­гой спо­соб ре­ше­ния и пра­ви­ла за­ме­ны ло­ги­че­ских усло­вий на про­ти­во­по­лож­ные при­ве­де­ны в за­да­нии 10955.

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

Раздел кодификатора ФИПИ: 1.3.1 Об­ра­бот­ка ин­фор­ма­ции. Ал­го­рит­мы и их свой­ства.