Поиск минимального и максимального элемента заданной последовательности

Для поиска минимального элемента (задача А) необходимо определить эталон -переменную, которой заранее присваивается значение какого-то элемента. Поиск проводится путем сравнения всех элементов. Предположим, что эталонная переменная определена. Сравнить с ней первый элемент. Если он меньше эталона, изменить эталон, присвоив ему значение первого элемента, и перейти к сравнению со вторым элементом. Таким образом можно сравнить все элементы последовательности. При пошаговой детализации алгоритма А следует отметить, что все действия выполняются одинаково для всех элементов последовательности:

   a. Сравнить эталон с очередным элементом последовательности.

   b. Перейти к следующему элементу.

   c. Если не все элементы последовательности просмотрены, то повторить с п. а.

В результате анализа определяем следующее:

Обозначим исследуемую последовательность x1, x2,. .., xN.

Для задачи В (определение номера минимального элемента) алгоритм имеет аналогичную структуру. Процесс отыскания максимума и его номера (алгоритм С) можно совместить в одном цикле.
Переменной Nom (номер) присвоить начальное значение 1. Полученный выше алгоритм можно преобразовать в алгоритм определения номера максимального элемента. Для этого в алгоритме (рис. 1.12) максимальный элемент заданной последовательности будет иметь имя max.

Рис. 1.12. Схема поиска номера максимального элемента

Если необходимо найти максимальный элемент и его номер в последовательности с совпадающими значениями, то необходимо уточнить, какой первый или последний из одинаковых элементов считать искомым. Структура алгоритма остается неизменной. Отличие только в сравнении эталонной переменной с текущим элементом массива.
Если необходимо найти первый по порядку следования минимальный элемент и его номер, то предыдущий алгоритм остается практически без изменения.