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

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

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

Вход­ные дан­ныеВы­ход­ные дан­ные
10
120
49
0
29.5
111
1
0
NO
Спрятать решение

Ре­ше­ние.

var a, s, n: integer;

begin

s:=0; n:=0;

readln(a);

while a<>0 do begin

if (a > 9) and (a < 100) 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 9 < a < 100:

s += a

n += 1

if n > 0:

print(round(s/n, 1))

else:

print('NO')

 

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

 

 

 

Вход­ные дан­ныеВы­ход­ные дан­ные
1 2
222
0
NO
2 15
0
15.0
3 20
30
30
22
8
0
25.5
Спрятать критерии
Критерии проверки:

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