Алгоритм нахождения максимального
(минимального) элемента
Например, для данных, представленных в таблице, определим фамилию, должность и отдел сотрудника, отработавшего максимальное количество часов.
Суть алгоритма состоит в следующем. Предполагаем, что максимальное количество часов отработал сотрудник, записанный первым, т.е. во второй строке. Назовем его лидером. Он отработал 20 часов. Запомним количество часов, отработанное лидером, а также его фамилию, должность и отдел. Теперь, начиная со следующего сотрудника, т.е. с 3-го, будем сравнивать отработанные часы (записанные в 4-м столбце) с часами, отработанными лидером. Если у очередного сотрудника количество отработанных часов больше, чем у лидера, то этот сотрудник становится лидером. Запоминаем его количество часов, фамилию, должность и отдел. И так до конца таблицы. В результате лидером будет сотрудник, отработавший максимальное количество часов.
Словесное описание алгоритма
определим количество заполненных строк в 4-м столбце;
запомним количество часов, отработанное сотрудником из второй строки в переменной VMAX, его фамилию в переменной FMAX, должность – в переменной DMAX, отдел – в переменной OMAX (это наш лидер);
присвоим счетчику I первоначальное значение 3;
рассмотрим содержимое ячейки в I-й строке и в 4-м столбце, если содержимое больше (при поиске минимума меньше) VMAX, то лидер меняется, запоминаем данные о новом лидере в переменных VMAX, FMAX, DMAX, OMAX;
если просматриваемая строка не последняя, то увеличиваем значение счетчика на 1 и переходим к пункту 4, в противном случае печатаем данные о лидере.
Программное описание алгоритма.
Rem Опишем используемые переменные.
Дата добавления: 2014-12-02; просмотров: 1219;