На соревнованиях выступления спортсменов расценивает судейская бригада, которая может состоять

На соревнованиях выступления спортсменов расценивает судейская бригада, которая может состоять из 3-х, 4-х или 5-ти человек. Каждый из арбитров показывает поставленную им оценку (вещественное число от 0 до 10). Если судей трое, то поначалу считается средний балл из всех их оценок, позже отбрасывается оценка, наиболее отклоняющаяся от среднего, и итог выходит как среднее из оставшихся (если наибольшая и малая оценки идиентично отклоняются, то ответ - среднее всех трёх чисел). Если судей четверо или пятеро, то отбрасываются малая и наибольшая оценки, а результат выходит как среднее из оставшихся. По данному количеству судей и их оценкам найдите итоговый балл выступления, выведите его с точностью не наименее 4 символов после десятичной точки.

Задать свой вопрос
1 ответ
// PascalABC.NET 3.3, сборка 1634 от 14.02.2018
// Внимание! Если программка не работает, обновите версию!

begin
  var n:=ReadInteger('Количество судей:');
  Assert(n.InRange(3,5),'Неправильное количество судей, разрешено 3,4 либо 5');
  var a:=ReadArrReal('Введите оценки:',n);
  if ngt;3 then Writeln('Балл ',a.OrderBy(t-gt;t).ToArray[1:n-1].Average:0:4)
  else begin
    var m:=a.Average;
    var b:=a.Select(t-gt;(t,Абс(t-m))).OrderByDescending(t-gt;t[1]).ToArray;
    if Abs(b[0][1]-b[1][1])lt;1e-5 then Writeln('Балл ',m:0:4)
    else Writeln('Балл ',b.Skip(1).Select(t-gt;t[0]).Average:0:4)
    end
end.

2. А в школах нередко все еще учат писать так:

var
  a,d:array[1..5] of real;
  n,i,imax,imin,j:integer;
  s,avg:real;

begin
  Write('Количество арбитров: '); Read(n);
  if (nlt;3) or (ngt;5) then
    Writeln('Неправильное количество арбитров, разрешено 3,4 либо 5')
  else begin
    Write('Введите оценки: ');
    for i:=1 to n do Read(a[i]);
    if ngt;3 then begin
      imax:=1; imin:=1;
      for i:=2 to n do
        if a[i]lt;a[imin] then imin:=i
        else
          if a[i]gt;a[imax] then imax:=i;
      s:=0;
      a[imax]:=0;
      a[imin]:=0;
      for i:=1 to n do s:=s+a[i];
      avg:=s/(n-2);
      Writeln('Балл ',avg:0:4)
      end
    else begin
      s:=0;
      for i:=1 to n do s:=s+a[i];
      avg:=s/n;
      for i:=1 to n do d[i]:=Абс(a[i]-avg);
      for i:=1 to n-1 do
        for j:=i+1 to n do
          if d[i]lt;d[j] then begin
            s:=d[i]; d[i]:=d[j]; d[j]:=s
            end;
      if Абс(d[1]-d[2])lt;1e-5 then Writeln('Балл ',avg:0:4)
      else begin
        s:=0;
        for i:=1 to n do
          if a[i]lt;gt;a[1] then s:=s+a[i];
        avg:=s/(n-1);
        Writeln('Балл ',avg:0:4)
        end
      end
    end
end.

, оставишь ответ?
Имя:*
E-Mail:


Последние вопросы
Анна хорошо учится у неё много подруг свободное от учёбы время

Обществознание.

10) Килограмм конфет дороже килограмма печенья на 52 р. За 8

Математика.

Во сколько раз число атомов кислорода в земной коре больше числа

Химия.

Составить монолог от имени дневника двоечника 7-10 предложений

Русский язык.

Рассматривая литературный язык как сложное взаимодействие книжного языка и разговорного,В.И.Чернышёв горячо

Разные вопросы.

Арабы входят в __________________ групп народов. Местом расселения арабов с незапамятных

Разные вопросы.

Грузовой автомобиль марки краз за одну поездку может доставить 7.500 кирпичей

Математика.

Определить предложения какие они по цели высказывания и по интонации

Русский язык.

"Три толстяка" Называли эту площадь Площадью Звезды последующей причине.

Русский язык.

на одной грядке коротышки посадили 3 ряда морковок по 8 штук

Разные вопросы.

Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт