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

На­пи­ши­те про­грам­му, ко­то­рая в по­сле­до­ва­тель­но­сти на­ту­раль­ных чисел на­хо­дит сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или со­об­ща­ет, что таких чисел нет (вы­во­дит «NO»). Про­грам­ма по­лу­ча­ет на вход на­ту­раль­ные числа, ко­ли­че­ство вве­ден­ных чисел не­из­вест­но, по­сле­до­ва­тель­ность чисел за­кан­чи­ва­ет­ся чис­лом 0 (0  — при­знак окон­ча­ния ввода, не вхо­дит в по­сле­до­ва­тель­ность).

Ко­ли­че­ство чисел не пре­вы­ша­ет 100. Вве­ден­ные числа не пре­вы­ша­ют 300. Про­грам­ма долж­на вы­ве­сти сред­нее ариф­ме­ти­че­ское чисел, крат­ных 8, или вы­ве­сти «NO», если таких чисел нет. Зна­че­ние вы­во­дить с точ­но­стью до де­ся­тых.

 

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

 

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

8

122

64

16

0

29.3

111

1

0

NO

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

Ре­ше­ние.

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

var a, s, n: integer;

begin

s:=0;

n:=0;

readln(a);

while a<>0 do begin

if (a mod 8 = 0) then

begin

s := s + a;

n := n + 1;

end;

readln(a);

end;

if n > 0 then writeln(s/n :5:1)

else writeln(’NO’);

end.

 

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

s = 0

n = 0

a = 1

while a != 0:

a = int(input())

if a == 0:

break

if a % 8 == 0:

s += a

n += 1

if n > 0:

num = s/n

print(round(num, 1))

else:

print('NO')

 

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

сле­ду­ю­щие тесты:

 

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

2

222

0

NO
2

16

0

16.0

316

32

64

8

8

5

0

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

Кри­те­рии оце­ни­ва­ния вы­пол­не­ния за­да­нияБаллы
Пред­ло­же­но вер­ное ре­ше­ние. Про­грам­ма пра­виль­но ра­бо­та­ет на всех при­ведённых выше те­стах. До­пу­стим вывод от­ве­та с дру­гой точ­но­стью или в экс­по­нен­ци­аль­ной форме, на­при­мер, 25.60. Про­грам­ма может быть за­пи­са­на на любом языке про­грам­ми­ро­ва­ния2
Про­грам­ма выдаёт не­вер­ный ответ на одном из те­стов, при­ведённых выше. На­при­мер, если в ре­ше­нии не­пра­виль­но ор­га­ни­зо­ван вывод ре­зуль­та­та, то про­грам­ма вы­даст не­вер­ный ответ на тесте № 11
Про­грам­ма выдаёт не­вер­ный ответ на двух или более те­стах0
Мак­си­маль­ный балл2
Раздел кодификатора ФИПИ: