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

На­пи­ши­те про­грам­му для ре­ше­ния сле­ду­ю­щей за­да­чи. Де­вя­ти­класс­ни­ки участ­во­ва­ли в вик­то­ри­не по ма­те­ма­ти­ке. Не­об­хо­ди­мо было от­ве­тить на 20 во­про­сов. По­бе­ди­те­лем вик­то­ри­ны счи­та­ет­ся участ­ник, пра­виль­но от­ве­тив­ший на наи­боль­шее ко­ли­че­ство во­про­сов. На сколь­ко во­про­сов по­бе­ди­тель от­ве­тил пра­виль­но? Если есть участ­ни­ки вик­то­ри­ны, ко­то­рые не смог­ли дать пра­виль­ный ответ ни на один из во­про­сов, вы­ве­ди­те YES, иначе вы­ве­ди­те NO. Га­ран­ти­ру­ет­ся, что есть участ­ни­ки, пра­виль­но от­ве­тив­шие хотя бы на один из во­про­сов. Про­грам­ма по­лу­ча­ет на вход число участ­ни­ков вик­то­ри­ны N (1 ≤ N ≤ 50), затем для каж­до­го участ­ни­ка вво­дит­ся ко­ли­че­ство во­про­сов, на ко­то­рые по­лу­чен пра­виль­ный ответ.

 

При­мер ра­бо­ты про­грам­мы:

 

Вход­ные дан­ныеВы­ход­ные дан­ные

4

15

12

0

17

17

YES

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

Ре­ше­ние.

Ре­ше­ни­ем яв­ля­ет­ся про­грам­ма, за­пи­сан­ная на любом языке про­грам­ми­ро­ва­ния. При­мер вер­но­го ре­ше­ния, за­пи­сан­но­го на языке Пас­каль:

var a, N, i, max, num: integer;

begin

max:=0;

num:=0;

readln(N);

for i:=1 to N do begin

readln(a);

if a > max then

max := a;

if a = 0 then

num := 1;

end;

writeln(max);

if num > 0 then

writeln(’YES’)

else writeln(’NO’);

end.

 

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

maxi = 0

num = 0

n = int(input())

for i in range(n):

a = int(input())

if a > maxi: maxi = a

if a == 0: num = 1

print(maxi)

if num > 0:

print('YES')

else:

print('NO')

 

Воз­мож­ны и дру­гие ва­ри­ан­ты ре­ше­ния. Для про­вер­ки пра­виль­но­сти ра­бо­ты про­грам­мы не­об­хо­ди­мо ис­поль­зо­вать сле­ду­ю­щие тесты:

 

Вход­ные дан­ныеВы­ход­ные дан­ные
1

1

15

15

NO

2

2

17

10

17

NO

3

3

0

12

18

18

YES

4

3

0

16

0

16

YES

Спрятать критерии
Критерии проверки:

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пред­ло­же­но вер­ное ре­ше­ние. Про­грам­ма пра­виль­но ра­бо­та­ет на

всех при­ведённых выше те­стах. До­пус­ка­ет­ся вывод от­ве­тов на во­про­сы в одной стро­ке. Про­грам­ма может быть за­пи­са­на на любом языке про­грам­ми­ро­ва­ния.

2
Про­грам­ма выдаёт не­вер­ный ответ на одном или двух те­стах, при­ведённых выше. На­при­мер, если в ре­ше­нии не­кор­рект­но опре­де­ля­ет­ся на­ли­чие дней, когда тем­пе­ра­ту­ра опус­ка­лась ниже –15 гра­ду­сов, про­грам­ма вы­даст не­вер­ный ответ на тесте №3:

18

YES

и тесте № 4:

16

YES

YES

ИЛИ

Про­грам­ма выдаёт не­вер­ный ответ на всех те­стах: на каж­дом тесте толь­ко на один из двух во­про­сов по­лу­чен пра­виль­ный ответ.

ИЛИ

Про­грам­ма выдаёт не­вер­ный ответ на всех те­стах: пра­виль­ные от­ве­ты на во­про­сы вы­во­дят­ся в об­рат­ном по­ряд­ке – сна­ча­ла на вто­рой во­прос, затем на пер­вый.

1
Про­грам­ма выдаёт на те­стах не­вер­ные от­ве­ты, от­лич­ные от опи­сан­ных в кри­те­рии на 1 балла.0
Мак­си­маль­ный балл2
Раздел кодификатора ФИПИ: