Составители:
Рубрика:
2) суммирование элементов (безусловное и условное);
3) подсчет (замена) элементов, удовлетворяющих заданному условию;
4) поиск заданного элемента:
а) в неупорядоченном массиве;
б) в упорядоченном массиве;
5) определение заданного расположения элементов;
6) удаление элемента, включение элемента в заданную позицию;
7) переразмещение (инвертирование, циклический сдвиг) элементов;
8) случайная выборка элементов (с повторениями и без повторений);
9) слияние двух упорядоченных массивов в упорядоченный массив;
10) сортировка массива (простые методы).
Мы рассмотрим некоторые задачи из перечня 1–10. Они обязательны, так
как формируют основные навыки и некоторые приемы обработки массивов.
К сожалению, на таких задачах часто останавливаются, а для решения
нестандартных задач нужно учиться придумывать новые алгоритмы. Дости-
гается это тренировкой построения, анализом и запоминанием алгоритмов.
К сложным задачам можно отнести улучшенные методы сортировки
массивов, поиск моды и медианы массива; алгоритмы генерирования комби-
наторных объектов, алгоритмы на графах и т. д.
Задача 4
В некоторых видах спортивных состязаний выступление каждого спорт-
смена оценивается независимо несколькими судьями. Затем из всей совокуп-
ности оценок удаляются наиболее высокая и низкая, а для оставшихся оценок
вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Ес-
ли наиболее высокую оценку выставило несколько судей, то удаляется только
одна такая оценка. Аналогично поступают с наиболее низкими оценками.
Дано натуральное число n, положительные действительные числа a
1
, ...,
a
n
(n > 3). Считая, что числа a
1
, ..., a
n
– это оценки, выставленные судьями од-
ному из участников соревнований, определить оценку, которая пойдет в зачет
этому спортсмену.
Program LAB7_4;
Const n = 10;
A : Array [l..n] of Real = (5.4, 5.6, 5.3, 5.8, 5.4, 5.5, 5.5, 5.6, 5.0, 5.7);
Var i : 1. .n;
min, max, sum: Real;
BEGIN {1}
min : = a[1];
max : = a[1];
sum : = a[1];
for i : = 2 to n do
begin {2}
sum : = sum + a[i];
if a[i] > max Then max : = a[i];
if a[i] < min Then min : = a[i];
end; {2}
92
2) суммирование элементов (безусловное и условное); 3) подсчет (замена) элементов, удовлетворяющих заданному условию; 4) поиск заданного элемента: а) в неупорядоченном массиве; б) в упорядоченном массиве; 5) определение заданного расположения элементов; 6) удаление элемента, включение элемента в заданную позицию; 7) переразмещение (инвертирование, циклический сдвиг) элементов; 8) случайная выборка элементов (с повторениями и без повторений); 9) слияние двух упорядоченных массивов в упорядоченный массив; 10) сортировка массива (простые методы). Мы рассмотрим некоторые задачи из перечня 1–10. Они обязательны, так как формируют основные навыки и некоторые приемы обработки массивов. К сожалению, на таких задачах часто останавливаются, а для решения нестандартных задач нужно учиться придумывать новые алгоритмы. Дости- гается это тренировкой построения, анализом и запоминанием алгоритмов. К сложным задачам можно отнести улучшенные методы сортировки массивов, поиск моды и медианы массива; алгоритмы генерирования комби- наторных объектов, алгоритмы на графах и т. д. Задача 4 В некоторых видах спортивных состязаний выступление каждого спорт- смена оценивается независимо несколькими судьями. Затем из всей совокуп- ности оценок удаляются наиболее высокая и низкая, а для оставшихся оценок вычисляется среднее арифметическое, которое и идет в зачет спортсмену. Ес- ли наиболее высокую оценку выставило несколько судей, то удаляется только одна такая оценка. Аналогично поступают с наиболее низкими оценками. Дано натуральное число n, положительные действительные числа a1, ..., an (n > 3). Считая, что числа a1, ..., an – это оценки, выставленные судьями од- ному из участников соревнований, определить оценку, которая пойдет в зачет этому спортсмену. Program LAB7_4; Const n = 10; A : Array [l..n] of Real = (5.4, 5.6, 5.3, 5.8, 5.4, 5.5, 5.5, 5.6, 5.0, 5.7); Var i : 1. .n; min, max, sum: Real; BEGIN {1} min : = a[1]; max : = a[1]; sum : = a[1]; for i : = 2 to n do begin {2} sum : = sum + a[i]; if a[i] > max Then max : = a[i]; if a[i] < min Then min : = a[i]; end; {2} 92
Страницы
- « первая
- ‹ предыдущая
- …
- 90
- 91
- 92
- 93
- 94
- …
- следующая ›
- последняя »