Конспект урока информатики по теме: «Нахождение минимального и максимального значения элементов последовательности» (9 класс)

Автор: Зубаилова Разият Арсаналиевна

Организация: МКО Утамышская СОШ им. А. Гамринского

Населенный пункт: Республика Дагестан, с. Утамыш

Цель: научить учащихся базовому алгоритму поиска min/max в массиве через наглядность и пошаговую отработку.

Время: 45 мин.

1. Мотивация (5 мин)

Что делаем: связываем тему с жизнью.

Примеры:

«Кто в классе самый высокий? Самый низкий?»

«Какая была самая тёплая/холодная температура на прошлой неделе?»

«Кто набрал больше всего баллов в игре? Меньше всех?»

Вывод: везде, где есть список чисел, можно найти самое большое и самое маленькое.

2. Наглядное объяснение алгоритма (10 мин)

Шаг 1. Визуализация

Раздать ученикам карточки с числами (например: [5, 2, 8, 1]).

Попросить «вручную» найти min и max, выкладывая карточки в ряд.

Шаг 2. Блок‑схема (рисуем на доске):

Берём первый элемент → это и min, и max.

Для каждого следующего элемента:

если он меньше текущего min → обновляем min;

если он больше текущего max → обновляем max.

Выводим min и max.

Шаг 3. Таблица трассировки
Заполняем вместе с классом:

Шаг

Текущий элемент

min

max

Пояснение

1

5

5

5

Первый элемент — стартовые значения

2

2

2

5

2 < 5 → обновляем min

3

8

2

8

8 > 5 → обновляем max

4

1

1

8

1 < 2 → обновляем min

Ключевая фраза: «Первый элемент — наш стартовый рекорд!»

3. Простой код (10 мин)

Язык: Python (максимально упрощённый).
Код:

python

a = [5, 2, 8, 1# Пример массива
min_val = a[0]       # Шаг 1: первый элемент — стартовый min
max_val = a[0]       # Шаг 1: первый элемент — стартовый max

 
for i in range(1, len(a)):  # Шаг 2: со второго элемента (индекс 1)
    if a[i] < min_val:     # Если текущий элемент меньше min
        min_val = a[i]    # Обновляем min
    if a[i] > max_val:    # Если текущий элемент больше max
        max_val = a[i]    # Обновляем max

 
print("Min:", min_val)  # Шаг 3: выводим результатыprint("Max:", max_val)

Разбор кода:

a[0] — первый элемент массива.

range(1, len(a)) — цикл начинается со второго элемента (индекс 1).

Два отдельных условия if — проверяем и min, и max.

4. Практическая работа (15 мин)

Задачи (выбрать 1–2):

  •  

1.Дан массив [10, 3, 7, 1, 9]. Найти min и max.

  •  
  •  
  1. Дан массив из 5 случайных чисел (использовать random.randint(1, 20)). Вывести min и max.

3.Дан массив [4, 4, 4, 4]. Что будет в min и max?

  •  

Шаги для учеников:

1.Скопировать шаблон кода.

2.Подставить свой массив.

3.Запустить программу.

Проверить результат по таблице трассировки.

Помощь учителя:

-Ходить по классу, помогать индивидуально;

-Для застрявших — дать карточку с подсказками:

1.Первый элемент — это и min( max)

2.Цикл начинается с индекса 1.

3.Сравнивай текущий элемент с min и max.

5. Закрепление (3 мин)

Устные вопросы:

1.Почему min_val и max_val изначально равны первому элементу?

2.Почему цикл начинается с 1, а не с 0?

3.Что будет, если в массиве все числа одинаковые?

Ответы:

1.Чтобы было с чем сравнивать следующие элементы.

2.Первый элемент уже учтён как стартовый min/max.

3.min и max будут равны этому числу.

6. Домашнее задание (2 мин)

Вариант 1 (базовый):

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

- Решить задачу: дан массив [2, 8, 3, 6]. Найти min и max «вручную» (заполнить таблицу трассировки).

Вариант 2 (с поддержкой):

-Дописать код по шаблону (как на уроке).

- Привести 2 своих примера, где нужно искать min/max (например, возраст учеников, цены в магазине).

Критерии оценки

«5»: решил 2 задачи, может объяснить код и таблицу трассировки.

«4»: решил 1 задачу, есть мелкие ошибки (исправлены с подсказкой).

«3»: понял алгоритм, но не смог написать код самостоятельно.

«2»: не разобрался в логике даже с помощью учителя.

Важные акценты для учителя

- Не торопите! Дайте время «прочувствовать» каждый шаг.

- Хвалите за малейшие успехи («Ты правильно нашёл min в первом шаге!»).

-Избегайте терминов вроде «оптимизация», «сложность алгоритма».

Используйте метафоры:

- «min — это самый лёгкий камень, max — самый тяжёлый».

- «Мы идём по списку, как по лестнице, и сравниваем каждый шаг с рекордами».

Повторяйте ключевые идеи:

- «Первый элемент — наш стартовый рекорд».

- «Цикл — это прогулка по остальным числам».

Итог:
- Ученики освоят базовый алгоритм, если:

- материал подан наглядно (карточки, таблица, блок‑схема);

- есть много практики с поддержкой;

-создана комфортная атмосфера без страха ошибиться.

- перевод for i in range(1, len(a))

Фраза for i in range(1, len(a)) на Python переводится на русский язык так:

«для i в диапазоне от 1 до длины массива a (не включая саму длину)»

 

Приложения

1.Разбор по компонентам

for — ключевое слово, означающее «для каждого» / «перебрать все».

i — переменная‑счётчик (обычно обозначает индекс элемента).

in — означает «в» / «из».

range(1, len(a)) — функция, создающая последовательность чисел:

1 - начальное значение (индекс второго элемента, т. к. индексация с 0);

len(a)

длина массива a (например, если в массиве 5 элементов, len(a) = 5);

диапазон будет: 1, 2, 3, 4 (верхняя граница не включается).

Смысл на русском «Перебрать индексы элементов массива a со второго элемента

(индекс 1) до последнего (индекс len(a) − 1),
на каждом шаге помещая текущий индекс в переменную i».

Пример

Если a = [10, 20, 30, 40], то:

len(a) = 4;

range(1, 4) даёт числа: 1, 2, 3;

цикл выполнит 3 шага:

шаг 1: i = 1 → работаем с a[1] = 20;

шаг 2: i = 2 → работаем с a[2] = 30;

шаг 3: i = 3 → работаем с a[3] = 40Почему начинается с 1?

В алгоритме поиска min/max первый элемент (a[0]) уже использован как начальное значение для min_val и max_val. Поэтому цикл стартует со второго элемента (индекс 1), чтобы не сравнивать первый элемент сам с собой.

 

2.

Задача 1. Поиск min и max в массиве [10, 3, 7, 1, 9]

Алгоритм по шагам:

Инициализация:

min_val = 10 (первый элемент);

max_val = 10 (первый элемент).

Элемент 3 (индекс 1):

3 < 10 → обновляем min_val = 3;

3 < 10 → max_val остаётся 10.

Элемент 7 (индекс 2):

7 > 3 → min_val остаётся 3;

7 < 10 → max_val остаётся 10.

Элемент 1 (индекс 3):

1 < 3 → обновляем min_val = 1;

1 < 10 → max_val остаётся 10.

Элемент 9 (индекс 4):

9 > 1 → min_val остаётся 1;

9 < 10 → max_val остаётся 10.

    •  

Ответ:

Минимальный элемент: 1

Максимальный элемент: 10

Задача 2. Массив из 5 случайных чисел: поиск min и max

Полный код на Python:

python

import random
# Генерируем массив из 5 случайных чисел от 1 до 20
array = [random.randint(1, 20) for _ in range(5)]
# Выводим сгенерированный массивprint("Сгенерированный массив:", array)
# Инициализируем min и max первым элементом
min_value = array[0]
max_value = array[0]
# Проходим по остальным элементам (начиная с индекса 1)for i in range(1, len(array)):
    if array[i] < min_value:
        min_value = array[i]
    if array[i] > max_value:
        max_value = array[i]
# Выводим результатыprint("Минимальный элемент:", min_value)print("Максимальный элемент:", max_value)

Пример вывода (результаты варьируются из‑за случайности):

Сгенерированный массив: [14, 3, 18, 7, 12]
Минимальный элемент: 3
Максимальный элемент: 18

Пояснение работы кода:

import random — подключаем модуль для генерации случайных чисел.

[random.randint(1, 20) for _ in range(5)] — создаём список из 5 чисел, каждое от 1 до 20.

min_value = array[0], max_value = array[0] — задаём начальные значения min/max.

for i in range(1, len(array))цикл по индексам со второго элемента (индекс 1) до конца.

Условия if — сравниваем текущий элемент с текущими min/max и обновляем их при необходимости.

print() — выводим итоговые значения.

  •  

Важные замечания:

При каждом запуске программы массив будет разным

(из‑за random.randint).

Алгоритм корректно работает для любого набора чисел.

Цикл начинается с индекса 1, потому что первый элемент уже учтён  при инициализации.


Опубликовано: 23.08.2026
Мы сохраняем «куки» по правилам, чтобы персонализировать сайт. Вы можете запретить это в настройках браузера