- •Var Имя_массива : array [нач_индекс .. Кон_ивдекс] of Тип_данных;
- •1. Вычисление суммы (суммирование) элементов вектора
- •2. Вычисление произведения элементов вектора
- •Пример 3
- •3. Вычисление произведения двух векторов
- •10. Алгоритм поиска максимального (или минимального) элемента вектора
- •11. Алгоритм сортировки (упорядочивания) элементов вектора
- •12. Вычисление полинома по схеме горнера
11. Алгоритм сортировки (упорядочивания) элементов вектора
Сортировка означает перестановку элементов вектора в определенном порядке (по возрастанию или по убыванию) в соответствии с их значениями.
Рассмотрим алгоритм сортировки (упорядочивания) элементов вектора, когда значение каждого последующего элемента вектора больше предыдущего. Например, пусть исходный вектор X={ }6=(3, 4, 2, -1, 6, 0), тогда в результате сортировки получим вектор X=(-1, 0, 2, 3, 4, 6).
Существуют различные способы решения данной задачи. Рассмотрим один из них.
Процедура сортировки элементов вектора X по возрастанию их значений следующая.
Первый шаг
Среди N-1 элементов вектора X (за исключением ) произведем поиск минимального элемента вектора и поменяем его местами с первым элементом, если значение < . В результате выполнения первого шага сортировки получим следующий вектор X=(-1, 4, 2, 3, 6, 0).
Второй шаг
Среди N-2 элементов вектора X (за исключением , ) произведем поиск минимального элемента вектора и поменяем его местами со вторым элементом, если значение < . В результате выполнения второго шага сортировки получим вектор X=(-1, 0, 2, 3, 6, 4).
Очевидно, после выполнения N-1 шага (в нашем примере после 5 шагов) получим окончательный упорядоченный вектор X=(-1, 0, 2, 3, 4, 6).
Алгоритм упорядочивания по возрастанию элементов вектора показан на рис. 22. Данный алгоритм пригоден для упорядочивания элементов вектора по убыванию с очевидной заменой знака " > " на знак " < " в блоке проверки условия (рис. 22).
Рис.22
12. Вычисление полинома по схеме горнера
Дан полином PN(x) порядка N.
y = PN(x)= ( 18 )
Порядок N, значение аргумента и коэффициенты ( ) известны. Поставим задачу разработки эффективной схемы вычисления полинома y = PN( ).
Представим уравнение (18) в следующем виде:
( 19 )
Очевидно, уравнение Горнера (19) предполагает меньший объем арифметических операций, чем исходное уравнение (18).
Рассмотрим следующую процедуру вычисления полинома с использованием рекуррентной формулы (рис. 24):
,
для . ( 20 )
Действительно,
для
для ( 21 )
. . . . . . . . . . . . . . . . . . . . . .
для =PN( )
Рис.24. Алгоритм вычисления полинома по схеме Горнера.