В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
rafik91
rafik91
15.02.2020 05:19 •  Информатика

На соревнованиях выступление спортсмена оценивают 5 экспертов, каждый из них выставляет оценку в (целое число). для получения итоговой оценки лучшая и худшая из оценок экспертов отбрасываются, а для оставшихся трёх находится среднее арифметическое. напишите программу, которая принимает 5 оценок экспертов и возвращает итоговую оценку спортсмена. используйте функцию для вычисления итоговой оценки. входные данные входная строка содержит 5 неотрицательных целых чисел, разделённых пробелами. выходные данные программа должна вывести в первой строке отброшенные оценки экспертов (минимальную, затем максимальную), разделив их пробелами. во второй строке выводится одно вещественное число: итоговая оценка с двумя знаками в дробной части. pascal

Показать ответ
Ответ:
aleksandrbersh0
aleksandrbersh0
27.07.2020 21:56
Const
  n=5;

type
  Mas=array[1..n] of integer;

var
  max,min:integer;
 
function Avg(a:Mas):real;
var
  i:integer;
  s:real;
begin
  max:=a[1]; min:=max; s:=max;
  for i:=2 to n do begin
    s:=s+a[i];
    if a[i]>max then max:=a[i]
    else
      if a[i]<min then min:=a[i]
  end;
  Avg:=(s-min-max)/3
end;

var
  m:Mas;
  i:integer;
  p:real;
begin
  for i:=1 to n do Read(m[i]);
  p:=Avg(m);
  Writeln(min,' ',max);
  Writeln(p:4:2)
end.

Тестовое решение:
8 9 7 5 8
5 9
7.67
0,0(0 оценок)
Ответ:
ksu2407
ksu2407
27.07.2020 21:56
Var
A:array of integer;
i:integer;

Function Free(A:array of integer):real;
Var i:integer;
Begin
For i:= 2 to 5 do
 if A[i]<A[A[0]] then A[0]:=i;
For i:= 1 to 4 do
 if A[i]>A[A[6]] then A[6]:=i;
WriteLn(A[A[0]],' ',A[A[6]]);
For i:= 1 to 5 do
 if (i<>A[0])and(i<>A[6]) then Free:=Free+A[i];
WriteLn((Free/3):0:2)
End;

Begin
SetLength(A,7);
For i:= 1 to 5 do
 Read(A[i]);
A[0]:=1;
A[6]:=5;
Free(A);
End.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота