Перейти к содержанию
MediaSchool

Диалоговая отладка. Пошаговое выполнение и контрольные примеры

Точка останова, шаг выполнения, просмотр значений переменных и отладочный вывод. Практика: локализовать ошибку в короткой линейной программе или ветвлении, исправить её и повторить прежние тесты. Сравнить вымышленное исправление ИИ с условием и граничным примером; исправленный код нужно проверить и объяснить самостоятельно.

Открыт · Презентация · Методичка · Рабочий лист

Конспект урока

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

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

Тренировка
Python 3:x=6; следующая строка x=x+1. Остановились перед ней. Каково x сейчас?

Без отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.

Скачать и открыть

Материалы урока

6 материалов

Подготовка к уроку

2 материала

Рабочие листы и практика

3 материала

Проверка знаний

1 материал

От сообщества

Материалы сообщества0

Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.

Поделиться материалом

Поделитесь первым материалом

Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.

Комментарии

Войдите, чтобы оставлять комментарии.

Пока нет комментариев. Будьте первым!