Методическая разработка занятия «Массивы. Решение практических задач»
Автор: Котисов Георгий Викторович
Организация: ГБУ ДО ЦТТ Адмиралтейского района
Населенный пункт: Санкт-Петербург
1. Пояснительная записка
1.1. Актуальность темы
Изучение массивов является ключевым этапом в освоении алгоритмизации и программирования. Понимание структуры данных «массив» и умение обрабатывать строковые данные (лексемы) формирует базу для решения более сложных задач, таких как сортировка, поиск и обработка баз данных. В современном мире, где основной объем информации хранится в структурированном виде, навыки работы с массивами являются необходимыми для юного программиста.
1.2. Адресат
Разработка предназначена для проведения занятия с учащимися разновозрастной группы (11–17 лет) в учреждении дополнительного образования (ГБУ ДО ЦТТ) по программе «Школа олимпиадного программирования C++».
1.3. Особенности группы
Учащиеся имеют разный уровень начальной подготовки. В связи с этим в занятие заложен принцип индивидуализации: педагог оказывает адресную помощь в процессе написания кода, а оценка работ производится по гибким критериям (читаемость, защита от ошибок, эффективность).
1.4. Межпредметные связи
Занятие интегрирует знания из области русского языка и лингвистики (понятие «лексема»), истории (блокада Ленинграда как воспитательный компонент) и информатики (структуры данных, синтаксис C++).
2. Технологическая карта занятия
Тема занятия: Массивы. Решение практических задач
Возраст учащихся: 11–17 лет
Тип занятия: Комбинированный (изучение нового материала + практическая работа)
Цель занятия: Сформировать у учащихся практический навык создания и обработки массива строк (лексем) на языке C++.
Оборудование: Персональные компьютеры (ПЭВМ) с установленными средами разработки (Visual Studio Code, PyCharm и др.), проектор, кабинетная доска.
3. Цели и задачи занятия
3.1. Обучающие
- Познакомить учащихся с понятием «лексема» в лингвистике и программировании.
- Научить объявлять и инициализировать массив строк (`string`).
- Закрепить навык использования цикла `for` для последовательного ввода и вывода данных.
- Сформировать умение создавать прикладную программу для вывода массива лексем в консоль.
3.2. Развивающие
- Развитие памяти и внимательности через анализ синтаксических конструкций и поиск ошибок в коде.
- Развитие алгоритмического мышления при проектировании структуры программы.
3.3. Воспитательные
- Воспитание патриотических чувств через обращение к исторической памяти (память о блокаде Ленинграда).
- Формирование личностных качеств: самостоятельности в решении задач, ответственности за результат своего труда, активности в учебном процессе.
4. Планируемые результаты
Предметные: Учащиеся знают, чем отличается строка от лексемы, умеют объявлять массив типа `string` и использовать циклы для его заполнения с клавиатуры.
Метапредметные: Учащиеся способны переносить знания из одной области (лингвистика) в другую (программирование), умеют планировать свои действия для написания программы.
Личностные: Проявление интереса к истории своей страны, демонстрация самостоятельности и ответственности при выполнении практического задания.
5. Структура занятия (90 минут)
Организационный этап. Воспитательный компонент (историческая справка). Инструктаж по ТБ. 4 мин
Актуализация знаний. Введение в тему. 6 мин
Изучение нового материала (теория: строка, лексема, массив, пример кода). 16 мин
Практическая работа (написание программы). 30 мин
Физкультминутка (гимнастика для глаз). 6 мин
Продолжение практической работы (индивидуальная сдача/корректировка). 24 мин
Подведение итогов (рефлексия, постановка домашнего задания/темы). 4 мин
6. Ход занятия (Сценарий)
Этап 1. Организационный момент (4 мин.)
Педагог приветствует учащихся, проверяет готовность к занятию (наличие тетрадей, включение компьютеров, положение локтей и осанку).
Воспитательный компонент: Краткая беседа о памятной дате — 27 января, Дне полного освобождения Ленинграда от фашистской блокады. Педагог подчеркивает важность памяти, ценности мира и стабильности, проводя параллель с надежностью и логикой программирования.
Инструктаж по ТБ: Напоминание правил работы в кабинете информатики (целостность проводов, поведение при неполадках, важность перерывов).
Этап 2. Актуализация знаний. Введение в тему (6 мин.)
Педагог демонстрирует слайд с фотографией базы данных (списком учащихся).
Педагог: «Все вы умеете работать в Excel, но программист тем и отличается, что может создать свой инструмент. Сегодня мы заложим кирпичик в создание такого инструмента для работы с именами».
Этап 3. Изучение нового материала (16 мин.)
Теоретическая часть сопровождается презентацией.
1. Понятие строки (`string`). Определение как последовательности символов (сырые данные).
2. Понятие лексемы. Сравнение с русским языком (слово и его формы). Определение в программировании как осмысленной последовательности символов для компилятора.
3. Массив строк. Аналогия с коробкой, разделенной на ячейки (индексы от 0 до n-1).
4. Демонстрация кода: Разбор листинга программы, объявляющей массив `string mas[n];`, и двух циклов `for`: для ввода (`cin`) и для вывода (`cout`). Педагог подробно комментирует каждую строку.
Этап 4. Практическая работа (30 мин.)
Учащиеся приступают к написанию программы. Задача: создать массив строк, заполнить его именами (лексемами) и вывести результат на экран. Педагог выступает в роли тьютора: ходит по классу, помогает исправлять синтаксические ошибки, отвечает на вопросы, направляет рассуждения учеников.
Этап 5. Физкультминутка (6 мин.)
- Проводится комплекс упражнений для снятия зрительного утомления:
- Вращение глазами (медленно, по 4-5 раз в каждую сторону).
- Перевод фокуса с кончика носа вдаль.
- Крепкое зажмуривание и открывание глаз.
- Движения глазами вверх-вниз, вправо-влево без поворота головы.
Этап 6. Продолжение и завершение практической работы (24 мин.)
Учащиеся возвращаются к работе. Те, кто выполнил базовое задание, могут улучшить программу, добавив приветственное сообщение, нумерацию при выводе, либо защиту от некорректного ввода.
Педагог принимает работы, оценивая их по трем критериям:
Работоспособность: программа решает поставленную задачу.
Юзабилити: наличие подсказок для пользователя, чистота вывода.
Надежность: реакция на нестандартные действия (например, просьба ввести число, хотя вводится строка — с учетом типа `string` это не является ошибкой, но важно объяснить разницу). Каждому ученику дается персональная обратная связь.
Этап 7. Подведение итогов. Рефлексия (4 мин.)
1. Фронтальный опрос:
Что такое лексема? (Единица словаря, слово как абстракция).
Чем лексема отличается от строки? (Строка — контейнер, лексема — смысловая единица внутри).
2. Обсуждение трудностей: Педагог спрашивает, с какими проблемами столкнулись ученики, и дает общие рекомендации (например, всегда проверять границы цикла, чтобы не выйти за пределы массива).
3. Анонс следующей темы: «На следующем занятии мы научимся сортировать эти имена по алфавиту».
4. Прощание, благодарность за работу.
7. Методические рекомендации педагогу
1. Работа с терминологией: При объяснении разницы между строкой и лексемой делайте акцент на том, что программа C++ «видит» строку целиком, а лексемы — это результат нашего с вами смыслового разделения.
2. Индивидуальный подход: Не все учащиеся 11 лет и 17 лет усваивают материал с одинаковой скоростью. Более старшим можно предложить задание «со звездочкой»: сделать программу, которая после вывода массива посчитает общее количество символов во всех введенных строках (без пробелов).
3. Воспитательный момент: Рассказ о блокаде должен быть дозированным и тактичным. Важно сделать акцент на силе духа, а не на ужасах войны, чтобы не травмировать младших школьников, но сохранить память о событии.
8. Список литературы и источников
1. Страуструп Б. Программирование. Принципы и практика использования C++. — М.: Вильямс, 2016.
2. Дейтел Х., Дейтел П. Как программировать на C++. — М.: Бином-Пресс, 2008.
3. Методические рекомендации по организации образовательного процесса в учреждениях дополнительного образования (внутренние регламенты ЦТТ).
4. Архивные материалы, посвященные 80-летию прорыва блокады Ленинграда.


