
Вопрос задан 29.11.2018 в 20:18.
Предмет Информатика.
Спрашивает Бориславський Макс.
На соревнованиях выступление спортсмена оценивают 5 экспертов, каждый из них выставляет оценку в
баллах (целое число). Для получения итоговой оценки лучшая и худшая из оценок экспертов отбрасываются, а для оставшихся трёх находится среднее арифметическое. Напишите программу, которая принимает 5 оценок экспертов и возвращает итоговую оценку спортсмена. Используйте функцию для вычисления итоговой оценки. Входные данные Входная строка содержит 5 неотрицательных целых чисел, разделённых пробелами. Выходные данные Программа должна вывести в первой строке отброшенные оценки экспертов (минимальную, затем максимальную), разделив их пробелами. Во второй строке выводится одно вещественное число: итоговая оценка с двумя знаками в дробной части. Pascal

Ответы на вопрос

Отвечает Абаев Арсен.
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
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



Отвечает Торгашова Вера.
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.
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.


Топ вопросов за вчера в категории Информатика

Информатика 566

Информатика 25

Информатика 22

Информатика 27

Информатика 34

Информатика 58

Информатика 63

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