Поиск наибольшего и наименьшего элементов массива — КиберПедия 

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...

Поиск наибольшего и наименьшего элементов массива

2017-09-30 839
Поиск наибольшего и наименьшего элементов массива 0.00 из 5.00 0 оценок
Заказать работу

 

Основные темы параграфа:

поиск максимума и минимума в электронной таблице;

блок-схемы алгоритмов поиска максимума и минимума в массиве;

программа на Паскале поиска максимума и минимума в массиве.

 

Поиск максимума и минимума в электронной таблице

 

Одной из типовых задач обработки массивов является поиск наибольшего или наименьшего значения среди значений его элементов. Построим алгоритм решения этой задачи и составим программу на Паскале. Для примера возьмем итоговые данные чемпионата России по футболу в премьер-лиге за 2003 год.

На рисунке 2.12 показана электронная таблица с итогами чемпионата. В столбце А расположены названия команд, в столбце В — количество очков, набранных каждой командой. Команды перечислены в алфавитном порядке. Победителем является команда, набравшая наибольшее количество очков. Команда, набравшая очков меньше всех других, в следующем сезоне покидает премьер-лигу.

 

 

Для определения максимального значения в электронной таблице существует функция МАКС(), а для нахождения минимального значения — функция МИН(). В ячейке В17 записана формула МАКС(В1:В16), а в ячейке В18 — формула МИН(В1:В16). Результаты вы видите в таблице. Отсюда делаем вывод: чемпионом России стала команда ЦСКА, а на последнем месте — «Черноморец».

 

Блок-схемы алгоритмов поиска максимума и минимума в массиве

 

Разберемся, как же программируется определение максимального и минимального значений в числовом массиве. Начнем с поиска максимума. Опишем алгоритм на Алгоритмическом языке.

Пусть в целочисленный массив В[1:16] заносятся очки команд в том порядке, в каком они расположены в таблице на рис. 2.12. Максимальное количество очков получим в переменной MaxB. Кроме того, найдем еще и номер команды, занявшей первое место. Для этого будем использовать переменную Nmax.

Рассмотрим алгоритм решения задачи. Алгоритм будет составлен исходя из упрощающего предположения о том, что максимальное количество баллов набрала только одна команда. Именно ее номер и будет выведен в качестве результата. Более общий вариант предлагается для рассмотрения в задании к данному параграфу. Ниже приведен полный алгоритм на Алгоритмическом языке, а на рис.2.13 — фрагмент блок-схемы, относящийся только к выбору максимального элемента (без ввода и вывода).

 

алг Премьер-лига

цел таб В[1:16]

цел I, МахВ, Nmax

Нач

{Цикл ввода}

для I от 1 до 16 повторять

нц

Вывод "В[", I, "]="

Ввод В[I]

кц

{Поиск наибольшего значения и его номера}

МахВ:=В[I]; Nmax:=l

Для I от 2 до 16 повторять

нц

если В[I]>МахВ

то МахВ:=В[I];

Nmax:=I

кв

кц

Вывод "Максимальное число очков:", МахВ

Вывод "Номер команды-победителя:", Nmax

Кон

 

Идея алгоритма состоит в следующем. В переменную МахВ заносится значение первого элемента массива, в переменную Nmax — единица, т. е. номер первого элемента. Затем в цикле последовательно с МахВ сравниваются все остальные элементы массива В. Если очередной элемент оказывается больше текущего значения МахВ, то его значение заносится в МахВ, а его номер — в Nmax. Когда закончится цикл, в МахВ останется наибольшее число из всего массива, а в Nmax — его номер.

Теперь нетрудно догадаться, как искать минимальное значение в массиве и его номер. Если для этого использовать в программе переменные MinB и Nmin и в условии ветвления заменить знак отношения «больше» на «меньше», то получим нужный алгоритм. Его фрагмент показан блок-схемой на рис. 2.14.

 

 

Если в алгоритме нужно одновременно искать максимальное и минимальное значения, то соответствующие ветвления можно объединить в одном цикле. Именно так сделано в приведенной ниже программе на Паскале.

 


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.