План урока на тему:

Одномерные массивы в Python

Информатика9 класс68 разделов
Одномерные массивы в Python

Информатика · 9 класс · Комбинированный · 45 мин

Одномерные массивы целых чисел в Python: создание, обработка и поиск

Цели и задачи

  • Цель по SMART: к концу урока учащиеся смогут создать в Python список целых чисел, вывести его элементы, вычислить сумму и решить не менее двух практических задач обработки списка по образцу.
  • Сформировать представление о списке как об упорядоченной изменяемой последовательности целых чисел и об индексации элементов с нуля.
  • Научить создавать список вручную и с помощью генератора, вводить и выводить его элементы, использовать функции sum() и max().
  • Сформировать алгоритм поиска максимального элемента и подсчёта элементов, удовлетворяющих условию.
  • Развивать аккуратность записи программ, умение проверять результат и снижать тревожность перед заданиями ОГЭ за счёт пошаговой работы по образцу.

Планируемые результаты

Личностные

  • Осознают практическую ценность обработки массивов при работе с данными и подготовке к заданиям ОГЭ.
  • Проявляют готовность исправлять ошибки в программе без отказа от выполнения задания.
  • Формируют ответственное отношение к результату, соблюдая правила работы за компьютером.
  • Развивают мотивацию к профессиональному самоопределению в сфере информационных технологий.

Метапредметные

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

Предметные

  • Знать определения списка и индекса элемента, понимать, что индексация в Python начинается с нуля.
  • Уметь создавать списки вида a = [4, 2, 3, 5, 7] и a = list(range(1, 6)).
  • Уметь вводить целые числа строкой через пробел с помощью list(map(int, input().split())).
  • Уметь выводить список, вычислять сумму элементов и находить максимальный элемент.
  • Уметь подсчитывать элементы, удовлетворяющие условию, используя цикл и условный оператор.

Универсальные учебные действия (УУД)

Личностные УУД

  • Определяют личный учебный результат: научиться запускать и проверять небольшую программу.
  • Понимают, что ошибка в коде является источником информации для коррекции.
  • Проявляют самостоятельность при выборе уровня практического задания.
  • Оценивают собственную уверенность при работе с новым языком программирования.

Регулятивные УУД

  • Формулируют цель практической работы по условию задачи.
  • Планируют последовательность действий: создать список, обработать его, вывести результат.
  • Осуществляют самопроверку по контрольным значениям и сообщениям интерпретатора.
  • Исправляют найденную ошибку и повторно запускают программу.

Познавательные УУД

  • Выделяют в коде имя списка, индекс, цикл, условие и команду вывода.
  • Сравнивают ручной алгоритм суммирования с использованием функции sum().
  • Моделируют работу цикла на списке [4, 1, 6, 3], фиксируя изменение переменной s.
  • Устанавливают соответствие между условием задачи и операцией сравнения в Python.

Коммуникативные УУД

  • Объясняют соседу по парте, почему первый элемент имеет индекс 0.
  • Формулируют вопрос об ошибке и предлагают способ её исправления.
  • Сверяют ожидаемый и фактический вывод программы без копирования решения.
  • Соблюдают правила цифрового взаимодействия и корректно комментируют работу одноклассника.

Подготовка учителя к уроку

  • Подготовить презентацию из прикреплённого материала: определения списка, создание, ввод и вывод, сумма, поиск максимума, подсчёт по условию и сортировка.
  • Проверить на всех компьютерах запуск Python или среды программирования, клавиатуру, сохранение файла и вывод в консоль.
  • Создать папку урока и файл-заготовку с комментариями: «Создание списка», «Обработка», «Вывод результата».
  • Вывести на доску памятку: индекс начинается с 0; список обозначается квадратными скобками; отступ после for и if обязателен.
  • Распечатать по одному экземпляру на каждого ученика: карточку с кодом-заготовкой и заданиями трёх уровней.
  • Подготовить на каждого ученика лист самопроверки с полями «список», «ожидаемый результат», «фактический результат», «ошибка и исправление».
  • Подготовить на экран контрольные списки [4, 1, 6, 3], [3, 8, 2, 10, 5] и [10, 60, 21, 53, 58, 14, 28, 50, 10, 51].
  • Организовать работу парами за одним компьютером: один ученик набирает код, второй читает условие и проверяет вывод; через 8 минут роли меняются.
  • Подготовить таймер на 25 минут и напоминание о сохранении файла после каждого выполненного задания.

Ход урока

Этап 1. Организационный момент и мотивация (3 мин)

Цель этапа: включить учащихся в работу и показать практическую значимость списков.
Действие учителя
Действие учеников
Учитель приветствует класс: "Здравствуйте, ребята. Сегодня мы будем работать не с одним числом, а сразу с набором чисел. Такой набор называют одномерным массивом, а в Python для него используется список. Проверьте тетрадь, ручку и готовность компьютера; пока компьютеры не включаем."
Готовят тетради, записывают дату, проверяют рабочее место.
Учитель показывает на экране последовательность 7, -5, 9, 1, 0 и спрашивает: "Как быстрее найти сумму, максимум или количество чисел больше нуля: вручную для пяти чисел или написать программу, которая обработает любой список? Сегодня мы научимся давать компьютеру такую инструкцию. Это умение встречается в задачах на обработку данных и помогает спокойнее решать задания ОГЭ."
Предполагают: "Программа удобнее для длинного набора чисел"; формулируют ожидаемый результат: "Создать список и получить ответ компьютера".
Завершение этапа: учитель подводит итог: "Мы увидели, что список позволяет хранить сразу несколько чисел. Сначала разберём его устройство и команды, а затем применим их за компьютером."

Этап 2. Актуализация и выявление затруднения (3 мин)

Цель этапа: актуализировать понятия последовательности и подготовить понимание индексации с нуля.
Действие учителя
Действие учеников
Учитель записывает на доске: a = [7, -5, 9, 1, 0] и спрашивает: "Сколько элементов находится в списке? Какой элемент стоит первым? Как записать обращение к первому элементу, если нумерация начинается с нуля?"
Считают элементы и отвечают: "Пять; первый элемент 7; обращение a[0]".
Учитель показывает схему с индексами 0, 1, 2, 3, 4: "Обратите внимание: индекс — это позиция элемента, но отсчёт начинается не с единицы. Что получится при обращении a[2]? Почему запись a[5] для этого списка ошибочна?"
Заполняют в тетради соответствие: a[0]=7, a[1]=-5, a[2]=9, a[3]=1, a[4]=0; отвечают: "a[2] равно 9; индекса 5 в списке нет".
Завершение этапа: учитель подводит итог: "Главная ловушка — перепутать номер элемента и его индекс. Теперь зафиксируем, как создать список и как передать ему набор чисел."

Этап 3. Открытие нового знания: создание, ввод и вывод списка (7 мин)

Цель этапа: сформировать базовый алгоритм работы со списком и прочитать его по строкам.
Действие учителя
Действие учеников
Учитель демонстрирует на экране: "Пустой список записывается как a = []. Список с элементами — a = [4, 2, 3, 5, 7]. Диапазон можно создать командой a = list(range(1, 6)); здесь получатся числа от 1 до 5, потому что правая граница не включается. Прочитайте код вместе со мной, не пытаясь пока запомнить всё сразу."
Записывают три способа создания списка, проговаривают: "Квадратные скобки, элементы через запятую, range задаёт последовательность".
Учитель показывает строку: a = list(map(int, input().split())) и поясняет: "Пользователь вводит целые числа через пробел, например 1 2 3 4 5. split разделяет строку, int превращает каждый фрагмент в число, map применяет преобразование, list создаёт список. Для первого урока можно пользоваться этой строкой как готовым шаблоном."
Переписывают шаблон и подписывают назначение input(), split(), int().
Учитель показывает варианты вывода: print(*a), print(a), затем говорит: "Звёздочка выводит элементы через пробел, а без неё Python показывает сам объект списка со скобками. Для проверки результата нам чаще нужен print(*a)."
Сравнивают два вида вывода и формулируют: "print(*a) выводит элементы через пробел, print(a) — список целиком".

Запись в тетрадях

  • Список — упорядоченная изменяемая последовательность элементов; индексы начинаются с 0.
  • Создание: a = [4, 2, 3, 5, 7].
  • Ввод чисел через пробел: a = list(map(int, input().split())).
  • Вывод элементов: print(*a).

Посмотрите план целиком

Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.

Завершение этапа: учитель подводит итог: "Теперь список можно создать и увидеть на экране. Следующий вопрос — как получить из него полезный результат: сумму, максимум или количество элементов по условию."

Этап 4. Теория обработки списка (7 мин)

Цель этапа: разобрать по шагам типовые алгоритмы обработки списка до начала компьютерной практики.
Действие учителя
Действие учеников
Учитель показывает список [4, 1, 6, 3] и таблицу накопления суммы: "Создаём s = 0, затем проходим по элементам. После добавления 4 получаем 4, после 1 — 5, после 6 — 11, после 3 — 14. Код такой: s = 0; for x in a: s += x; print(s). Важно соблюдать отступ после for."
Заполняют цепочку 0 → 4 → 5 → 11 → 14; отвечают: "Сумма равна 14".
Учитель показывает: "Для максимума сначала принимаем первый элемент за текущий максимум: max_value = a[0]. Затем сравниваем с ним остальные элементы; если x > max_value, заменяем значение. Встроенная функция max(a) даёт быстрый ответ, но алгоритм цикла важно понимать."
Для списка [3, 8, 2, 10, 5] называют изменения максимума: 3 → 8 → 10; записывают результат 10.
Учитель объясняет подсчёт: "Счётчик начинается с нуля. Если условие x > 50 истинно, увеличиваем count на единицу: count = 0; for x in a: if x > 50: count += 1. В списке [10, 60, 21, 53, 58, 14, 28, 50, 10, 51] условие выполняют 60, 53, 58 и 51."
Отмечают подходящие элементы и отвечают: "Четыре элемента больше 50".

Эталон решения

Для a = [4, 1, 6, 3]: s = 0; после обработки 4 получаем s = 4; после 1 — s = 5; после 6 — s = 11; после 3 — s = 14. Для поиска максимума в [3, 8, 2, 10, 5] начальное значение 3 заменяется на 8, затем на 10; итоговый максимум равен 10. В списке с условием x > 50 подходят 60, 53, 58 и 51, поэтому count = 4.
Завершение этапа: учитель подводит итог: "Мы разобрали три одинаково устроенных действия: пройти по элементам, проверить или изменить значение и вывести результат. Теперь переходим к компьютеру: сначала повторим программу по образцу, затем каждый выполнит самостоятельное задание."

Этап 5. Практика на компьютере: выполнение по образцу (8 мин)

Цель этапа: научить учащихся запускать готовую заготовку и изменять в ней список и операцию обработки.
Действие учителя
Действие учеников
Учитель говорит: "Откройте среду программирования и создайте новый файл. Перепечатайте код: a = [4, 1, 6, 3]; print(*a); print(sum(a)). Сохраните файл. Я не буду оценивать скорость набора: сейчас важны аккуратность и понимание каждой строки."
Открывают среду, набирают код, сохраняют файл, запускают его и получают последовательность 4 1 6 3 и сумму 14.
Учитель предлагает: "Замените список на [3, 8, 2, 10, 5] и добавьте строку print(max(a)). До запуска запишите ожидаемый максимум в лист самопроверки. Если вывод отличается, сначала сравните скобки, запятые и имя переменной."
Изменяют список, записывают ожидаемый ответ 10, запускают программу, сравнивают фактический результат и исправляют ошибки.
Учитель раздаёт карточку и говорит: "Теперь роли в паре меняются. Один ученик вводит программу, второй читает каждую строку и задаёт вопрос: что хранится в a, что делает sum, какой результат ожидаем? Через полторы минуты поменяйтесь ролями."
По очереди набирают и проверяют программу, объясняют назначение строк, фиксируют результат в листе самопроверки.
  1. Откройте среду программирования и создайте новый файл. Сохраните его под именем «Обработка списка».
  2. Создайте список: a = [4, 1, 6, 3]. Выведите его элементы через пробел с помощью команды print(*a).
  3. Вычислите сумму элементов списка с помощью команды print(sum(a)). Ожидаемый результат: 14.
  4. Замените список на a = [3, 8, 2, 10, 5] и найдите его максимальный элемент с помощью команды print(max(a)). Ожидаемый результат: 10.
  5. Перед запуском каждой программы запишите ожидаемый результат в лист самопроверки, затем сравните его с фактическим выводом.
  6. Если программа не запускается, проверьте квадратные скобки, запятые, имя переменной и отступы. После исправления сохраните файл и запустите программу повторно.
  7. Объясните соседу по парте, что хранится в переменной a, что вычисляет sum(a) и почему результат работы max(a) равен 10.
Завершение этапа: учитель подводит итог: "Базовые команды уже работают. Теперь каждый выбирает посильный уровень и решает задачу самостоятельно, а я помогу тем, кто столкнётся с ошибкой."

Этап 6. Самостоятельная практическая работа на компьютере (12 мин)

Цель этапа: применить алгоритмы создания, вывода и обработки списка в самостоятельном коде.
Действие учителя
Действие учеников
Учитель объясняет инструкцию: "Выберите один обязательный уровень и, если успеете, переходите дальше. Перед запуском каждой программы запишите ожидаемый результат для предложенного списка. Не копируйте код вслепую: изменяйте только те строки, которые нужны для условия."
Выбирают карточку, читают условие, выделяют входные данные и требуемый вывод.
Учитель сопровождает базовое задание: "Задание 1. Создайте список a = [7, -5, 9, 1, 0], выведите его элементы, сумму и максимальный элемент. Используйте print(*a), sum(a) и max(a). Если программа не запускается, проверьте квадратные скобки, запятые и регистр букв."
Создают и запускают программу, получают вывод 7 -5 9 1 0, сумму 12 и максимум 9, заносят ответы в лист самопроверки.
Учитель предлагает повышенное задание: "Задание 2. Для списка a = [10, 60, 21, 53, 58, 14, 28, 50, 10, 51] подсчитайте количество элементов, больших 50. Используйте count = 0, цикл for x in a и условие if x > 50. Отступ после if обязателен."
Пишут программу по шаблону, получают count = 4, проверяют, что число 50 не учитывается, потому что условие строгое: x > 50.
Учитель даёт дополнительное задание сильным или быстро справившимся: "Задание 3. Для списка [10, 50, 1, 3, 50, 14, 21, 50, 10, 21] найдите индекс первого вхождения числа 50. Можно использовать проверку if 50 in a и a.index(50), но сначала объясните, почему ответ равен 1."
Создают программу, получают индекс 1, объясняют, что индексы начинаются с нуля и первое число 50 стоит на второй позиции.
  1. Обязательное задание. Создайте список a = [12, -3, 7, 0, 15, 4]. Выведите его элементы через пробел.
  2. Вычислите сумму всех элементов списка и выведите результат.
  3. Найдите максимальный элемент списка и выведите его.
  4. Подсчитайте количество элементов, больших 5.
  5. Перед запуском программы запишите ожидаемые результаты в лист самопроверки.
  6. Проверьте программу на компьютере, сравните ожидаемый и фактический результаты. Если возникла ошибка, найдите и исправьте её.
  7. Дополнительное задание. Найдите индекс первого вхождения числа 0. Объясните, почему индексы начинаются с нуля.

Эталонное решение для учителя

Итоговый вид программы для этапа 6:

a = [12, -3, 7, 0, 15, 4]

print("Элементы списка:", *a)
print("Сумма:", sum(a))
print("Максимальный элемент:", max(a))

count = 0
for x in a:
    if x > 5:
        count += 1
print("Количество элементов, больших 5:", count)

if 0 in a:
    print("Индекс первого нулевого элемента:", a.index(0))
else:
    print("Нулевой элемент не найден")

Результат работы программы:
Элементы списка: 12 -3 7 0 15 4
Сумма: 35
Максимальный элемент: 15
Количество элементов, больших 5: 3
Индекс первого нулевого элемента: 3
Задание 1: a = [7, -5, 9, 1, 0]; print(*a); print(sum(a)); print(max(a)). Сумма: $7 + (-5) + 9 + 1 + 0 = 12$, максимум — 9. Задание 2: count = 0; для 60, 53, 58 и 51 условие x > 50 истинно, поэтому счётчик увеличивается четыре раза. Задание 3: в списке [10, 50, 1, 3, 50, 14, 21, 50, 10, 21] первый элемент 50 имеет индекс 1.
Завершение этапа: учитель подводит итог: "Вы прошли полный путь от списка до результата программы. Сейчас остановите выполнение, сохраните файл и ответьте на вопросы рефлексии: это поможет понять не только правильность ответа, но и то, какой шаг алгоритма ещё требует тренировки."

Этап 7. Рефлексия и подведение итогов (5 мин)

Цель этапа: проверить понимание ключевых понятий и зафиксировать индивидуальный результат урока.
Действие учителя
Действие учеников
Учитель проводит приём "Светофор": "Покажите зелёный сигнал, если можете создать список и вывести его; жёлтый — если нужна подсказка; красный — если пока не понимаете индексы или цикл. Это не отметка, а способ определить, чем заняться дальше."
Показывают выбранный сигнал и записывают в листе один навык, который уже получается, и один навык для повторения.
Учитель задаёт вопросы: "С какого числа начинается индекс? Чем отличается print(*a) от print(a)? Как работает счётчик? Что произойдёт, если написать x >= 50 вместо x > 50?"
Отвечают: "С нуля"; "первый вариант выводит элементы через пробел, второй — список со скобками"; "счётчик увеличивается при выполнении условия"; "число 50 тоже будет учтено".
Учитель организует "Билет на выход": "На отдельной строке напишите одну команду для суммы списка и объясните, почему при обращении к первому элементу используется индекс 0. Сдайте лист при выходе."
Записывают: s = sum(a) и краткое объяснение индексации, сдают билет.
Завершение этапа: учитель подводит итог: "Сегодня вы создали первый рабочий код обработки массива. На следующем уроке продолжим обработку списков и разберём сортировку и поиск элементов, а ваши сегодняшние программы останутся основой для новых задач."

Критерии оценивания практической работы

  • "5" — выполнено базовое задание и минимум одно повышенное; программы запускаются без ошибок, результаты для суммы, максимума и подсчёта совпадают с эталоном, ученик может объяснить назначение основных строк.
  • "4" — выполнено базовое задание и частично повышенное; допущена одна исправленная ошибка в синтаксисе или оформлении, алгоритм обработки списка объяснён с небольшой помощью.
  • "3" — создан список, выполнен его вывод и получен хотя бы один верный результат по образцу; ученик нуждался в существенной подсказке, но смог исправить ошибку и сохранить программу.

Рефлексия

Вопрос для ученика
Цель вопроса
Что такое список и с какого числа начинается его индексация?
Проверка осознания базового понятия и типичной ошибки с индексом.
Какую команду использовали для вычисления суммы всех элементов?
Выявление понимания функции sum() и её назначения.
Как программа определяет, какие элементы нужно посчитать?
Проверка связи между условием задачи, if и счётчиком.
Что оказалось самым трудным: набор кода, отступы, понимание цикла или проверка результата?
Выявление индивидуальных точек затруднения для последующей дифференциации.

Завершающее слово учителя

"Сегодня мы научились хранить целые числа в списке и обрабатывать их с помощью Python. Главное правило урока — индексы начинаются с нуля, а после for и if необходим правильный отступ. Ошибка в программе не означает неудачу: её нужно прочитать, найти строку и проверить по алгоритму. На следующем уроке мы продолжим поиск элементов и познакомимся с сортировкой списка."

Домашнее задание

Что задать
Зачем
Составить и проверить программу для списка [7, -5, 9, 1, 0]: вывести элементы, сумму и максимальный элемент. Оформить три ожидаемых результата в тетради.
Закрепляет создание, вывод и обработку списка; при проверке смотреть на индексы, скобки, запятые и совпадение результатов.
Составить программу для списка из десяти целых чисел, которая подсчитывает количество элементов, больших 50, и отдельно вычисляет их сумму.
Закрепляет цикл, условие и счётчик; при проверке смотреть, не учитывается ли число 50 при условии x > 50.
Для списка [10, 50, 1, 3, 50, 14, 21, 50, 10, 21] вывести индекс первого вхождения числа 50, а при отсутствии такого числа вывести сообщение «Элемент не найден».
Развивает алгоритм последовательного поиска и работу с условием; при проверке смотреть на результат 1 и корректную обработку отсутствующего элемента.
Контрольные вопросы перед выходом: "Что хранится в переменной a? Почему первый элемент имеет индекс 0? Как вывести элементы списка через пробел? Что делает sum(a)? В какой момент увеличивается count?"

Создайте уникальный план урока по своей теме

  • Любая тема, любой уровень
  • Структура по ФГОС
  • 100% уникальный план урока
  • Цели, ход урока, рефлексия
  • Экспорт в PDF и Word
  • Готово за 1 минуту

Другие темы по информатике для 9 класса

Искусственный интеллект для будущей профессии и образованияМногообразие графических информационных моделей. ГрафОблачное хранилищеОблачные технологии. Использование онлайн-офиса для разработки документовIP-адресВстроенные функции для поиска максимума, минимума, суммы и среднего арифметического. Практическая работа «Обработка больших массивов данных»Общение в социальных сетях и мессенджерахБольшие данные, в том числе данные социальных сетей; Глобальная сеть Интернет. IP-адреса узлов; Сетевое хранение данных; Индивидуальное и коллективное размещение информации в ИнтернетеВиды деятельностиУгрозы информационной безопасности и методы противодействия им; Понятие об информационной безопасностиКомпьютерная графика и нейросетиЭлектронные таблицы. Практическая работа «Ввод данных, оформление таблицы»

Чем удобны планы уроков Нейрум

  • Готовый план, не набросокЦели, ход урока, планируемые результаты, рефлексия — всё по структуре ФГОС, открыли и пошли вести.
  • План урока или техкартаОдин материал — два формата экспорта в PDF. Скачали то, что нужно завучу.
  • Свой план урока за минутуНе нашли нужный? ИИ-конструктор напишет план урока по вашей теме, классу и типу урока.

Вопросы и ответы

Как скачать план урока «Одномерные массивы целых чисел»?

Зарегистрируйтесь бесплатно — материал сохранится в личном кабинете, откуда его можно скачать как план урока или технологическую карту.

Соответствует ли план урока ФГОС?

Да, структура урока — цели, ход урока, планируемые результаты — построена по ФГОС для 9 класса (информатике).

Можно ли изменить план под свой класс?

Да. После регистрации план урока открывается в конструкторе: этапы и содержание можно отредактировать или перегенерировать.