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

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

 

Бей­сикPython

DIM s, t AS INTEGER

INPUT s

INPUT t

IF s < 5 OR t > 5 THEN

    PRINT ‘YES’

ELSE

    PRINT ‘NO’

ENDIF

s = int(input())

t = int(input())

if s < 5 or t > 5:

    print("YES")

else:

    print("NO")

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

var s, t: integer;

begin

    readln(s);

    readln(t);

    if (s < 5) or (t > 5)

        then writeln('YES')

        else writeln('NO')

end.

алг

нач

цел s, t

ввод s

ввод t

если s < 5 или t > 5

    то вывод "YES"

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

все

кон

С++

#include <iostream>

using namespace std;

int main() {

    int s, t;

    cin >> s;

    cin >> t;

    if (s < 5 || t > 5)

        cout << "YES";

    else

        cout << "NO";

return 0;

}

 

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

(2, 5); (5, 2); (4, 4); (2, –2); (3, 1); (8, 3); (9, –7); (7, 7); (4, 6).

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

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

Ре­ше­ние.

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

(5, 2); (8, 3); (9, –7).

Ответ: 3.

 

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

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

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

 

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

def f(s, t):

if s < 5 or t > 5:

return 0

else:

return 1

a = ((2, 5), (5, 2), (4, 4), (2, -2), (3, 1), (8, 3), (9, -7), (7, 7), (4, 6))

kol = 0

for i in range(9):

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

print(kol)


Аналоги к заданию № 10951: 10953 10954 10955 Все

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