Обобщение и систематизация знаний по теме «Разработка алгоритмов и программ»
Цели и задачи
- Цель по SMART: к концу урока систематизировать знания об основных алгоритмических конструкциях и отработать применение алгоритмов при решении не менее четырёх типичных заданий в формате ОГЭ, объясняя ход рассуждений и проверяя результат.
- Закрепить понятия «алгоритм», «исполнитель», «переменная», «условие», «цикл», «массив» и области их применения.
- Повторить линейные, разветвляющиеся и циклические алгоритмы, а также алгоритмы обработки числовых последовательностей.
- Развивать умение читать программный код, находить ошибки, прогнозировать результат выполнения и преобразовывать словесный алгоритм в программу.
- Формировать ответственное отношение к проверке программного решения и снижать тревожность перед заданиями ОГЭ через работу по понятному алгоритму проверки.
Планируемые результаты
Личностные
- Осознают практическую значимость алгоритмического мышления для учебной и будущей профессиональной деятельности.
- Проявляют готовность спокойно анализировать задания ОГЭ, разбивать сложную задачу на последовательность понятных действий.
- Формируют ответственное отношение к точности записи алгоритма и проверке полученного результата.
- Оценивают собственный прогресс и определяют индивидуальные направления дальнейшей подготовки.
Метапредметные
- Познавательные: анализируют условие задачи, выделяют исходные данные, результат и способ их преобразования.
- Регулятивные: планируют решение, используют пошаговую проверку, обнаруживают и исправляют ошибки.
- Коммуникативные: объясняют ход решения партнёру, задают уточняющие вопросы и аргументируют выбор алгоритмической конструкции.
- Работают с текстовой и знаковой информацией, сопоставляют блок-схему, словесное описание и программный код.
Предметные
- Знать признаки линейного, разветвляющегося и циклического алгоритмов.
- Уметь определять результат выполнения фрагмента программы с переменными, условным оператором и циклом.
- Уметь выбирать алгоритмическую конструкцию для решения практической задачи.
- Уметь находить логические и синтаксические ошибки в простом программном коде и предлагать исправление.
- Владеть алгоритмом решения типовых задач ОГЭ по чтению и анализу программ.
Универсальные учебные действия (УУД)
Личностные УУД
- Осмысливают связь алгоритмического мышления с профессиями в области программирования, инженерии, анализа данных и автоматизации.
- Формируют внутреннюю готовность к выполнению экзаменационных заданий без отказа от решения при первом затруднении.
- Осознают ценность аккуратности, последовательности и самопроверки в программной деятельности.
- Определяют личный учебный результат урока и одну конкретную цель дальнейшей подготовки.
Регулятивные УУД
- Формулируют цель повторения и планируют последовательность действий при решении задачи.
- Сверяют решение с условием, тестируют программу на простом примере и корректируют найденные ошибки.
- Используют критерии оценивания для самостоятельной проверки работы.
- Оценивают степень готовности к заданиям по теме и фиксируют затруднения.
Познавательные УУД
- Классифицируют алгоритмы по используемым конструкциям.
- Моделируют выполнение программы с помощью таблицы значений переменных.
- Сравнивают разные способы решения одной задачи и выявляют более надёжный.
- Извлекают существенную информацию из условия, блок-схемы и программного кода.
Коммуникативные УУД
- Распределяют роли при работе в мини-группе: аналитик условия, исполнитель трассировки, проверяющий.
- Формулируют объяснение решения с использованием предметных терминов.
- Корректно задают вопросы о непонятном шаге алгоритма и принимают аргументированные замечания.
- Представляют общий ответ группы и сравнивают его с решениями одноклассников.
Подготовка учителя к уроку
- Подготовить презентацию или материалы интерактивной доски с ключевыми понятиями, тремя алгоритмическими конструкциями и памяткой проверки программы.
- Распечатать карточки трёх уровней сложности с заданиями на трассировку кода, выбор конструкции и поиск ошибки — по одной карточке на каждого ученика.
- Подготовить четыре комплекта групповых карточек с одинаковой структурой, но разными числовыми данными.
- Распечатать лист самооценки и билет на выход — по одному экземпляру на каждого ученика.
- Вывести на доску или экран таблицу «Дано — Нужно получить — Алгоритм — Проверка».
- Подготовить маркеры, стикеры трёх цветов и таймер на 2–5 минут.
- Обеспечить компьютеры с локальной средой программирования или онлайн-интерпретатором; при отсутствии техники использовать распечатанные фрагменты кода.
- Разместить на доске критерии практической работы: правильность результата, объяснение алгоритма, проверка и исправление ошибки.
Ход урока
Этап 1. Организационный момент и мотивация (3 мин)
Цель этапа: включить учащихся в работу, обозначить практическую ценность повторения и снизить тревожность перед заданиями ОГЭ.
Время | Действие учителя | Действие учеников |
|---|---|---|
1 мин | Учитель приветствует класс и показывает на экране короткую ситуацию: «Представьте, что программа должна обработать данные о результатах соревнования, но в одном условии допущена ошибка. Сегодня мы потренируемся видеть такие ошибки спокойно и последовательно. Наша задача не угадать ответ, а научиться проверять каждый шаг». | Готовят тетради и ручки, записывают дату и тему урока, формулируют ожидание: «повторить конструкции», «научиться быстрее находить ошибку». |
2 мин | Учитель проводит приём «Светофор»: «Покажите зелёную карточку, если уверенно читаете код, жёлтую — если иногда путаетесь в циклах, красную — если нужна помощь почти на каждом шаге. Цвет не является оценкой, он нужен мне, чтобы выбрать темп». | Поднимают карточки, фиксируют личное ощущение готовности и отвечают: «Мне сложнее всего понять, сколько раз выполнится цикл» или «Мне трудно проверить условие». |
Завершение этапа: учитель подводит итог: «Сегодня мы не будем просто перечислять правила. Мы проверим, как эти правила работают в заданиях, похожих на экзаменационные, и увидим, что сложную программу можно разобрать по шагам».
Этап 2. Актуализация знаний. Кластер «Алгоритм» (5 мин)
Цель этапа: восстановить опорные понятия и выявить пробелы перед практической работой.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель записывает в центре доски слово «АЛГОРИТМ» и организует приём «Кластер»: «По цепочке назовите понятия, без которых нельзя описать работу программы. Я буду группировать ваши ответы по смыслу». | Называют: «исполнитель», «команда», «переменная», «условие», «цикл», «данные», «результат»; объясняют по одному выбранному термину. |
3 мин | Учитель показывает три схемы: последовательность действий, проверка условия и повторение. «Определите, какая конструкция изображена на каждой схеме. Приведите пример задачи, в которой она нужна. Почему цикл нельзя заменить длинной последовательностью одинаковых команд?» | Сопоставляют схемы с названиями «линейный алгоритм», «ветвление», «цикл», приводят примеры: «вычисление площади», «выбор большего числа», «обработка десяти элементов». Формулируют: «цикл сокращает повторяющиеся действия». |
Завершение этапа: учитель подводит итог: «Мы восстановили язык описания алгоритмов. Теперь проверим, умеем ли мы использовать эти понятия не по отдельности, а при чтении конкретной программы».
Этап 3. Постановка проблемы и план решения (4 мин)
Цель этапа: сформировать общий алгоритм анализа программного фрагмента и определить критерии успешной работы.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель выводит код: «a := 5; b := 2; если a > b, то a := a - b, иначе a := a + b; вывести a». «Не называйте ответ сразу. Какие данные нужно выписать? Как понять, какая ветвь сработает? Что следует проверить после вычисления?» | Называют исходные значения, определяют условие $5 > 2$, выбирают ветвь «то», вычисляют $5-2=3$, предлагают проверить, что программа вывела именно 3. |
2 мин | Учитель фиксирует на доске памятку: «1. Прочитать условие. 2. Выписать начальные значения. 3. Выполнить команды по порядку. 4. Зафиксировать изменение переменных. 5. Проверить результат». «Этот алгоритм используем на всех следующих заданиях». | Переписывают памятку в тетрадь и формулируют цель: «научиться по шагам анализировать код и находить ошибку». |
Посмотрите план целиком
Зарегистрируйтесь — и откройте план урока по этой теме полностью: цели, ход урока и рефлексия по ФГОС.
Запись в тетрадях
Алгоритм анализа программы: 1) определить исходные данные; 2) выполнять команды последовательно; 3) фиксировать изменения переменных; 4) проверить условие или число повторений цикла; 5) сопоставить результат с требованием задачи.
Завершение этапа: учитель подводит итог: «У нас появился единый порядок действий. Сначала применим его вместе, затем вы выполните задания самостоятельно и выберете уровень сложности».
Этап 4. Систематизация знаний. Работа в группах (9 мин)
Цель этапа: обобщить способы решения задач на линейные алгоритмы, ветвления, циклы и обработку последовательности.
Время | Действие учителя | Действие учеников |
|---|---|---|
2 мин | Учитель делит класс на четыре группы и раздаёт карточки. «В каждой группе назначьте аналитика условия, исполнителя трассировки, проверяющего и докладчика. Сначала прочитайте задачу, затем заполните таблицу значений переменных. У вас две минуты на первый разбор». | Распределяют роли, читают условие карточки и выделяют входные данные, требуемый результат и используемую конструкцию. |
4 мин | Учитель предлагает задания: «Группа 1: вычислите значение $s$ после команд $s:=4$, $s:=s\cdot3$, $s:=s-5$. Группа 2: определите результат при $x:=7$ и условии `если x mod 2 = 0`, изменяющем $x$ на 1 при истинности. Группа 3: проследите цикл, где $i$ принимает значения от 1 до 4, а $s$ увеличивается на $i$. Группа 4: найдите ошибку в алгоритме поиска максимума двух чисел». | Заполняют таблицы трассировки. Получают результаты: для группы 1 — $7$; для группы 2 — условие ложно, поэтому $x=7$; для группы 3 — $s=10$ при начальном $s=0$; для группы 4 формулируют: «необходимо сравнивать числа, а не присваивать первое значение без проверки». |
3 мин | Учитель организует краткие выступления: «Докладчик назовёт тип алгоритма, последовательность действий и способ проверки. Остальные группы отмечают совпадение или задают один уточняющий вопрос». | Докладчики представляют решения, остальные сверяют записи, задают вопросы: «Почему цикл выполнился четыре раза?», «Как проверить максимум на равных числах?» |
Эталон решения
Для цикла с начальным $s=0$: после $i=1$ получаем $s=1$; после $i=2$ — $s=3$; после $i=3$ — $s=6$; после $i=4$ — $s=10$. Следовательно, итоговое значение $s=10$. Проверка: $1+2+3+4=10$.
Завершение этапа: учитель подводит итог: «Мы увидели, что разные задания решаются одним способом — через внимательное чтение и фиксацию промежуточных значений. Теперь каждый проверит себя индивидуально, без подсказки группы».
Этап 5. Первичное закрепление. Разбор типичных ошибок (6 мин)
Цель этапа: научить обнаруживать ошибки в логике алгоритма и объяснять способ исправления.
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель показывает фрагмент: «Нужно вывести сумму положительных чисел из трёх введённых. В программе проверяется только первое число: `s:=0; если a>0 то s:=s+a; вывести s`». «Что потерялось в этом решении? Какой алгоритм должен быть использован, если чисел три и каждое нужно проверить?» | Находят ошибку: проверяется только $a$. Предлагают три проверки или цикл обработки трёх элементов, объясняют: «условие должно применяться к каждому числу». |
3 мин | Учитель проводит приём «Две звезды и пожелание»: «Назовите две сильные стороны предложенного алгоритма и одно улучшение. Обязательно используйте слова “условие”, “цикл”, “переменная”». | Формулируют: «Есть начальное значение суммы; используется условие положительности; нужно добавить обработку всех чисел». Записывают исправленный план действий. |
Завершение этапа: учитель подводит итог: «Ошибку важно не просто назвать, а связать с конкретным шагом алгоритма. Сейчас вы выполните самостоятельную работу и покажете, насколько уверенно применяете памятку».
Этап 6. Самостоятельная работа с самопроверкой (10 мин)
Цель этапа: индивидуально применить алгоритм анализа программы и получить формирующую обратную связь.
Время | Действие учителя | Действие учеников |
|---|---|---|
1 мин | Учитель раздаёт карточки трёх уровней: «Базовый уровень обязателен для всех, средний можно выбрать после него, продвинутый — дополнительный. Работайте по памятке и не стирайте промежуточные вычисления: они помогут найти ошибку». | Выбирают карточку, записывают номер уровня и готовят таблицу трассировки. |
6 мин | Учитель предлагает базовое задание: «Дана программа: `x:=2; y:=1; повторить 3 раза: y:=y*x; x:=x+1; вывести y`. Определите результат и значения переменных после каждого повторения». Для среднего уровня: «Найдите ошибку в алгоритме подсчёта количества отрицательных элементов последовательности». Для продвинутого: «Предложите алгоритм поиска второго по величине элемента среди пяти различных чисел и объясните выбор переменных». | Решают индивидуально. В базовом задании получают: после первого повтора $y=2,x=3$; после второго $y=6,x=4$; после третьего $y=24,x=5$, ответ $24$. В среднем задании указывают, что счётчик должен увеличиваться только при условии $a_i<0$. В продвинутом описывают начальные значения максимума и второго максимума и последовательное сравнение. |
3 мин | Учитель показывает эталон на экране и организует самопроверку: «Сверьте только результат и ключевые шаги. Если обнаружили расхождение, поставьте рядом знак вопроса, найдите первую ошибочную строку и исправьте её другим цветом». | Сверяют решение, отмечают первую ошибку, исправляют запись, подсчитывают баллы по критериям и ставят в листе самооценки отметку «могу самостоятельно», «нужна тренировка» или «нужна помощь». |
Эталон решения
Начальные значения: $x=2$, $y=1$. Первый повтор: $y=1\cdot2=2$, затем $x=3$. Второй повтор: $y=2\cdot3=6$, затем $x=4$. Третий повтор: $y=6\cdot4=24$, затем $x=5$. После завершения цикла выводится $y=24$.
Завершение этапа: учитель подводит итог: «Самопроверка показала не только количество верных ответов, но и место, где возникла ошибка. Это важнее случайного угадывания: на экзамене вы сможете восстановить ход решения и исправить себя».
Этап 7. Рефлексия и домашнее задание (8 мин)
Цель этапа: осознать результат урока, определить личные затруднения и сформулировать следующий шаг подготовки.
Время | Действие учителя | Действие учеников |
|---|---|---|
3 мин | Учитель предлагает приём «Одноминутка»: «За одну минуту завершите три фразы: “Теперь я умею…”, “Мне нужно повторить…”, “При проверке программы я сначала…”. Пишите конкретно, например “фиксирую значения переменных”». | Заполняют три фразы, формулируют личный результат и одно затруднение. |
2 мин | Учитель возвращается к начальному «Светофору»: «Покажите цвет, который соответствует вашему состоянию сейчас. Что помогло перейти из жёлтой зоны в зелёную? Почему пошаговая проверка снижает тревожность?» | Показывают карточки, отвечают: «помогла таблица значений», «стало понятно, где искать первую ошибку», «не нужно держать всю программу в голове». |
3 мин | Учитель раздаёт билет на выход: «Запишите ответ на вопрос: чем отличаются условие и цикл? Приведите по одному примеру задачи для каждой конструкции и назовите один шаг самопроверки». Затем сообщает уровни домашнего задания. | Сдают билет на выход, записывают домашнее задание, задают уточняющие вопросы по объёму и критериям. |
Запись в тетрадях: «Домашнее задание: выбрать один из трёх уровней; повторить памятку анализа программы; подготовить вопрос по теме, который хотелось бы разобрать на следующем уроке».
Критерии оценивания практической работы
- «5» — верно выполнено базовое задание и одно задание повышенного уровня, показана трассировка всех шагов, объяснена алгоритмическая конструкция, ошибка при необходимости исправлена обоснованно.
- «4» — базовое задание выполнено верно, допущена одна неточность в промежуточной записи или объяснении, но итоговый алгоритм понятен и результат проверен.
- «3» — правильно определена хотя бы одна ключевая конструкция и получен частично верный результат базового задания, однако есть ошибки в трассировке или отсутствует самостоятельная проверка.
- Ниже базового уровня — решение не доведено до результата или не выделены исходные данные и последовательность команд; ученик получает адресную рекомендацию для повторения.
Рефлексия
Вопрос для ученика | Цель вопроса |
|---|---|
Что нового или важного вы сегодня повторили о чтении программного кода? | Выявление осознания ключевого алгоритма анализа программы. |
На каком шаге решения возникло затруднение: чтение условия, трассировка, цикл, проверка результата? | Выявление конкретной точки затруднения для последующей коррекции. |
Какая конструкция — ветвление или цикл — сейчас понятнее и почему? | Проверка глубины понимания различий между алгоритмическими конструкциями. |
Какой один шаг вы выполните при подготовке к следующему заданию ОГЭ? | Перевод рефлексии в конкретное регулятивное действие. |
Завершающее слово учителя
«Сегодня мы систематизировали основные конструкции алгоритмов и потренировались читать программу не наугад, а по шагам. Типичная ошибка — сразу искать ответ и пропускать промежуточные изменения переменных, поэтому обязательно используйте таблицу трассировки. Если сейчас не всё получилось, это не повод тревожиться: затруднение показывает, что именно нужно повторить. На следующем уроке мы продолжим решать задачи в формате ОГЭ и отдельно потренируем анализ циклов и массивов».
Домашнее задание
Уровень | Что задать | Зачем |
|---|---|---|
Базовый (обязательный) | Решить 4 задания на чтение фрагментов программ: одно линейное, одно с условием, одно с циклом и одно на поиск ошибки. Для каждого записать исходные значения, промежуточные шаги и ответ. | Закрепляет базовый алгоритм трассировки; при проверке смотреть на последовательность действий, а не только на итоговое число. |
Средний (повышающий) | Решить 3 задачи на обработку последовательности из 5–8 чисел: найти сумму положительных элементов, количество отрицательных и максимальное значение. Для каждой указать, где используется условие или цикл. | Формирует умение выбирать конструкцию под условие задачи; при проверке обратить внимание на начальные значения суммы, счётчика и максимума. |
Продвинутый (дополнительный) | Разработать и описать алгоритм поиска второго по величине элемента среди пяти различных чисел, затем представить его в виде блок-схемы или программного кода и протестировать на двух наборах данных. | Развивает создание и проверку собственного алгоритма; при проверке оценивать полноту обработки случаев и наличие тестов. |
Контрольные вопросы перед выходом: «Какие три основные алгоритмические конструкции мы повторили? Как определить число выполнений цикла? Зачем фиксировать промежуточные значения переменных? Чем логическая ошибка отличается от ошибки в записи команды?»