Диалоговая отладка. Пошаговое выполнение и контрольные примеры
Точка останова, шаг выполнения, просмотр значений переменных и отладочный вывод. Практика: локализовать ошибку в короткой линейной программе или ветвлении, исправить её и повторить прежние тесты. Сравнить вымышленное исправление ИИ с условием и граничным примером; исправленный код нужно проверить и объяснить самостоятельно.
Конспект урока
Проверять программу по контрольным примерам, наблюдать значения до и после строки, находить первое расхождение, исправлять его причину и повторять проблемные и прежние случаи.
Python 3. Контрольный пример содержит вход и заранее ожидаемый результат. Отладка — поиск и исправление причины расхождения, а не случайная замена строк. Синтаксическая ошибка мешает начать исполнение файла; ошибка исполнения возникает при достигнутой операции; логическая ошибка может дать неверный результат без сообщения об исключении. При пошаговой остановке перед очередной строкой она ещё не выполнена: значения относятся к уже выполненному коду. В IDLE: сохранить файл; в Shell Debug → Debugger; в редакторе при необходимости поставить Set Breakpoint через контекстное меню строки; Run → Run Module. В Debug Control включить Source и Locals/Globals по расположению переменных. Over исполняет очередную строку, не заходя внутрь вызываемых Python-функций; Step может зайти в вызванную функцию. Если остановились на служебном файле, выбрать собственный файл в стеке и продолжить до своей строки; не править библиотеку. Ввод подают в Shell в момент input. После завершения/исправления запустить файл заново с исходным вводом. При отсутствии доступного отладчика составляют ту же таблицу вручную, затем проверяют обычным запуском; это не выдаётся за наблюдение Debug Control. Отладочные print изменяют вывод: после поиска удалить их, если формат задачи их не требует.
Для работы достаточно бумаги, ручки и памятки. Сохраняй первую попытку; исправления отмечай другим знаком.
Безопасное начало
Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, аккаунты и личные данные не требуются.
Что уже нужно знать
23–26: сохранение и запуск Python 3, переменные, int(input()), арифметика, if/elif/else и ожидаемый результат задачи. Циклов в основных программах ещё нет.
S0. Неверный вывод обязательно сопровождается сообщением Python об ошибке?
Устная проба без отметки.
Ожидание → шаг → сравнение
До запуска запиши вход и ожидание. Остановись перед строкой: она ещё не выполнена. Сравни значения до и после одного шага, найди первое расхождение и его причину. Сохрани первую трассу. После исправления повтори проблемные и прежние случаи. Различай наблюдение отладчика и ручной расчёт.
| Момент | Что записать |
|---|---|
| До строки | Значения уже выполненного кода |
| После шага | Новые значения/ветвь |
| При расхождении | Номер и причина |
| После правки | Тотже вход и новый результат |
IDLE: Shell Debug → Debugger; редактор Run → Run Module. Over — следующая строка без входа в функции; значения в Locals/Globals, код в Source. Нет отладчика — ручная таблица с явной пометкой и обычный запуск. Ввод подают в Shell.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Личная проба
C1. Python 3: x=4; затем x=x+2; затем print(x). Отладчик остановился перед выполнением x=x+2. Каково x сейчас, чему станет равно после этой строки и что затем выведет print?
Одна минута лично, затем две на разбор. Памятка разрешена.
Первый неверный результат
Образец: x=2; y=x+3; print(y), каждую инструкцию на своей строке. До второй строки: x=2, y ещё нет; после неё y=5; print выводит 5. Разделяй момент вычисления и момент вывода.
A1. Задача — сумма двух целых из двух строк ввода. В ошибочном файле ниже входы 3 затем 5. До запуска выпиши ожидаемый результат, фактические значения после каждой строки и первое расхождение с задачей. Исправь одну операцию, сохрани и проверь тот же вход и отдельный 0 затем 0. НаПК используй пошаговое наблюдение; при недоступном отладчике — ручную таблицу с явной пометкой.
a=int(input())
b=int(input())
s=a-b
print(s)
Заготовка для своей записи:
| После строк | Значения / вывод |
|---|---|
| 1 и 2 | |
| 3 и 4 | |
| После исправления |
Сначала своя запись и основание, затем сверка.
Полная пауза
Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.
Проверь границу условия
Другой образец задачи «не меньше 10»: условие n > 10 ошибочно при n=10. Вход 9 даёт ложь, 11 — истину, но только 10 проверяет границу включения. Исправление: n >= 10; затем повторяют 9, 10, 11. Это модель выбора контрольного входа, а не готовый разбор знака из A2.
A2. Задача — вывести плюс при n>0, ноль при n==0, минус при n<0; ввод одно целое. До исполнения проверь ошибочный код на−1,0,2: ожидаемое/фактическое слово, выбранная ветвь и место первого расхождения. Исправь структуру, сохрани и повтори все три случая; один наПК, остальные можно вручную.
n=int(input())
if n>0:
label="плюс"
else:
label="минус"
print(label)
Заготовка для своей записи:
| Ввод n | Ожидание / факт / ветвь |
|---|---|
| −1 | |
| 0 | |
| 2 |
Семь минут: три на свои трассы, три на исправление/проверку, одна на сверку. В коротком варианте — шесть минут.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Где видно и где возникло
Если z=x+1 вычислено верно, а print(w)обращается к не определённому w, ошибка исполнения возникает на print. Если z вычислено неправильной формулой, а print(z)правильно его показывает, причина логического расхождения раньше вывода. Номер сообщения и причина задачи могут относиться к разным строкам.
| Наблюдение | Где искать |
|---|---|
| NameError | Достигнутое обращение к имени |
| Неверное число без исключения | Раннее вычисление/условие |
| SyntaxError | Запись до старта исполнения |
B1. Python 3: a=2; b=3; totla=a+b; print(total). Предскажи, на какой инструкции исполнение остановится и почему, какое уже вычисленное имя существует. Исправь опечатку, не меняя задачу суммы, и назови вывод.
Три минуты на свою попытку, затем одна минута на сверку основания. Допустимы разные корректные решения.
Проверка вымышленного ответа ИИ
AI1. Вымышленный ИИ: «Программа площади квадрата не выдала ошибки и прошла s=2, значит правильна для любого s>0». Код Python 3: s=int(input()); area=2*s; print(area). Найди контрпример среди положительных целых, вычисли ожидание/факт, исправь формулу и повтори свой вход.
Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.
Помощь и резерв
- Считает строку уже выполненной. Раздели до и шаг после.
- Правит print вместо причины. Сравни первое вычисленное значение.
- Проверяет один удобный вход. Добавь граничный случай.
- Делает случайные правки. Запиши ожидание, причину и проверяемую замену.
D1. Резерв. В задаче требуется вывести только одно число. Для отладки добавили print("DEBUG",n) перед финальным print(result). Можно ли оставить обе строки после исправления? Что проверить?
D1 — 3–4 минуты для быстро справившихся после основной работы; иначе отдельный резерв следующего занятия. H1, весь тест и шесть новых случаев не складываются в одно обязательное домашнее задание.
Индивидуальный итог
Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.
E1. Python 3: n=5; следующая строка n=n-1. Остановка прямо перед второй строкой. Чему равно n сейчас и сразу после её исполнения?
E2. Программа должна различать n<0,n==0,n>0. Проверены только−2 и 3. Какой обязательный тип контрольного входа отсутствует?
E3. После исправления ошибочной строки достаточно ли лишь сохранить файл? Назови два действия для проверки правки.
Разбор после своей попытки
После исправления выбери один новый пример из самопроверки.
Материалы и самопроверка
Презентация, самостоятельный план учителя, рабочий лист, выходной билет и бумажная самопроверка открываются отдельными карточками. DOCX можно смотреть на сайте и скачать. PDF для печати:
Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 5–7 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.
Домашний перенос
H1. Домой 5–7 минут, ПК необязателен. Программа должна вывести периметр прямоугольника с положительными целыми сторонами a,b, ввод по одной стороне на строку. Код:a=int(input()); b=int(input()); p=a+b; print(p). Для 2 затем 3 выпиши ожидание, факт и первую неверную вычисляющую строку. Исправь формулу, проверь также 1 затем 1.
Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.
Источники
ФРП 2025: содержание 8 класса с.10 и планирование с.35–37 — язык и система программирования, данные, ввод/вывод, составление и проверка программ. Python 3 выбран как один из языков, допускаемых программой; часы и последовательность КТП сохранены. Учебник школы не указан; номера параграфов не назначены.
6 вопросов по теме «Пошаговая отладка: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.
Открыть отдельноВопрос 1 из 6
ТренировкаБез отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.
Скачать и открыть
Материалы урока
6 материаловПодготовка к уроку
2 материала· для учителей
20 слайдов, отдельная качественная иллюстрация на каждом, редактируемые примеры и таблицы, практика, проверка ответа ИИ и заметки учителю.
Презентация
Самостоятельный план 45/40 минут: полные условия и ключи, карта 20 слайдов, помощь, индивидуальный итог, 18 объяснений самопроверки и шесть случаев переноса.
Методичка · MediaSchool
Рабочие листы и практика
3 материала· для учеников
Три страницы: памятка, собственные попытки, два основных действия, проверка совета ИИ, помощь, резерв и домашний перенос.
Рабочий лист
Два билета на А4. Четыре минуты индивидуально, памятка разрешена, шесть формирующих баллов.
Рабочий лист
Шесть вопросов совпадают с тестом на странице. Две страницы; 8–12 минут с письменными основаниями и разбором, ключи и новые случаи в плане.
Рабочий лист
Проверка знаний
1 материал· для учеников
6 вопросов с объяснениями и повторной попыткой.
Проверочная
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!