Поиск максимального и минимального элементов массива
Раздел «Алгоритмы обработки массивов». Исследовательский практикум по теме «Алгоритмы обработки массивов». КТП составлено по действующей официальной программе Республики Беларусь.
Конспект урока
Язык примеров
Содержание урока адаптируется под выбранный язык
Минимум, максимум и их индексы
Массив хранит много значений, но задача часто просит найти одно особенное: самое большое, самое маленькое или его позицию. Сегодня важен не готовый ответ, а доказуемо корректный способ поиска.
Цель: за один проход найти min, max и их первые индексы, а затем проверить алгоритм контрпримером.
Сначала прогноз
Для a = [7, 12, 4, 12, 9] максимум равен 12. Но он встречается дважды. При сравнении > программа сохранит первый индекс, при >= — последний.
Корректный кандидат
max := a[1];
imax := 1;
for i := 2 to n do
if a[i] > max then
begin
max := a[i];
imax := i;
end;
Первый элемент уже принадлежит массиву, поэтому подходит как начальный кандидат. После каждого шага max — максимум уже просмотренной части.
Почему нельзя начинать с нуля
Для массива [-8, -3, -11, -5] программа с max := 0 вернёт число, которого в массиве нет. Правильный максимум — -3.
Один проход для min и max
min := a[1]; max := a[1];
imin := 1; imax := 1;
for i := 2 to n do
begin
if a[i] < min then begin min := a[i]; imin := i end;
if a[i] > max then begin max := a[i]; imax := i end;
end;
Исследовательская лаборатория
До запуска заполните ожидаемые результаты, затем сравните их с программой.
| Тест | Массив | min / индекс | max / индекс | Что проверяет |
|---|---|---|---|---|
| A | [9,7,5,3,1] | 1 / 5 | 9 / 1 | экстремумы на границах |
| B | [4,4,4,4,4] | 4 / 1 | 4 / 1 | повторяющиеся значения |
| C | [-6,-2,-9,-2,-5] | -9 / 3 | -2 / 2 | отрицательные числа |
Поймайте ошибку
if a[i] > max then max := a[i];
Если задача требует индекс, здесь не хватает imax := i. Значение и индекс обновляются вместе.
Самопроверка
Для b = [-4, 8, 8, 1, -7] найдите min, max и их первые индексы.
Ключ: min=-7, индекс 5; max=8, индекс 2.
Источник: учебная программа Республики Беларусь.
Скачать и открыть
Материалы урока
2 материалаОт сообщества
Материалы сообщества1
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Практическая работа по информатике для 10 класса на PascalABC.NET. Каждый вариант содержит три задания: запуск готовой программы, её доработку и самостоятельную задачу с практическим сюжетом. Есть примеры для проверки результатов. Каждый вариант помещается на половине A4; документ готов к печати и разрезанию.
Показано 1 из 1 · сначала новые
Все материалы урока
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!