profile
Размещено 5 лет назад по предмету Информатика от smirnoff398

На соревнованиях выступления спортсменов оценивает судейская бригада, которая может состоять из 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 n>3 then Writeln('Балл ',a.OrderBy(t->t).ToArray[1:n-1].Average:0:4)
      else begin
        var m:=a.Average;
        var b:=a.Select(t->(t,Abs(t-m))).OrderByDescending(t->t[1]).ToArray;
        if Abs(b[0][1]-b[1][1])<1e-5 then Writeln('Балл ',m:0:4)
        else Writeln('Балл ',b.Skip(1).Select(t->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 (n<3) or (n>5) then
        Writeln('Неверное количество судей, разрешено 3,4 или 5')
      else begin
        Write('Введите оценки: ');
        for i:=1 to n do Read(a[i]);
        if n>3 then begin
          imax:=1; imin:=1;
          for i:=2 to n do
            if a[i]<a[imin] then imin:=i
            else
              if a[i]>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]:=Abs(a[i]-avg);
          for i:=1 to n-1 do
            for j:=i+1 to n do
              if d[i]<d[j] then begin
                s:=d[i]; d[i]:=d[j]; d[j]:=s
                end;
          if Abs(d[1]-d[2])<1e-5 then Writeln('Балл ',avg:0:4)
          else begin
            s:=0;
            for i:=1 to n do
              if a[i]<>a[1] then s:=s+a[i];
            avg:=s/(n-1);
            Writeln('Балл ',avg:0:4)
            end
          end
        end
    end.

Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 5 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.