Практикум по программированию. Проверка и исправление программ
Самостоятельно решить короткую задачу обработки числовых или символьных данных с вводом, вычислениями, условием и циклом. Сформулировать ожидаемый результат для контрольных входов, создать или дополнить программу, выполнить запуск и отладку. Индивидуальный итог — рабочий код, результаты тестов и объяснение исправления; незавершённые действия отметить для коррекции.
Конспект урока
Находить и проверять минимум и максимум трёх и четырёх целых; записывать составные условия Python и исправлять программы по контрольным примерам.
Python 3. ДляA1 ввод 3 целых −10…10 отдельными строками; после первого числа остаются 2 числа. Для 4 чисел после первого нужны 3 числа. lo/hi начинаются с первого входа, а не 0. Два отдельных if обновляют минимум и максимум; встроенные min/max в этой практике не используем. ДляB1 n — целое: нужно распознать диапазон 0…9 включительно; готовые выражения для другого диапазона 2…5 приведены в модели. Здесь операнды — результаты сравнений True/False; and соответствуетИ,or — включающемуИЛИ,not — НЕ. Сравнения имеют приоритет выше not, затем and, затем or; скобки проясняют смысл. A2:строки 0…40 букв/обычных пробелов;считаем обычный пробел,input его сохраняет. Каждый новый запуск получает новые данные. Проверка: ожидание→факт→первая разница→правка→повтор прежних и граничных случаев.
Для работы достаточно бумаги, ручки и памятки. Сохраняй первую попытку; исправления отмечай другим знаком.
Безопасное начало
Сухие руки, без напитков у техники. Провода и разъёмы не трогай, о неисправности сообщи учителю. Работай по правилам кабинета. Две полные минуты в середине урока — без экрана и заданий. Внешний ИИ, аккаунты и личные данные не требуются.
Что уже нужно знать
7–12: НЕ, И, ИЛИ; 23–30: ввод, присваивание, сравнения, ветвления, for, строки; 27: протокол отладки. Здесь связываем знакомую логику с Python and/or/not и переносим минимум/максимум двух чисел на 3–4.
S0. Программа запустилась без сообщения об ошибке. Достаточно ли этого, чтобы результат был правильным? Как его проверить?
Устная проба без отметки.
Проверка после исправления
Минимум lo и максимум hi начинаются с первого входного числа. Для следующих входов отдельно сравни x<lo и x>hi. При 3 входах остаются 2, при 4 —3. В составных условиях Python: and=И, or=ИЛИ, not=НЕ. Сравнения → not → and → or; скобки задают нужную группу. Проверка: вход и ожидание → факт → причина → правка → те же случаи снова.
| Шаг | Запись |
|---|---|
| До запуска | Вход и ожидание |
| После запуска | Факт и первая разница |
| После правки | Повторные проверки |
Целые min/max:−10…10. ДиапазонB1:0…9 включительно. and/or применяются здесь к сравнениям с результатом True/False; это не утверждение о произвольных объектах Python. СтрокиA2:0…40 букв/обычных пробелов.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Личная проба
C1. Python 3: n="5"; print(n+1). Напечатает ли 6? Назови вид проблемы и исправь, если требовалось число 6.
Одна минута лично, затем две на разбор. Памятка разрешена.
Минимум и максимум: от двух чисел к четырём
Другой образец: первый вход 2,lo=hi=2; второй−1 даётlo−1,hi2; третий 3 даётlo−1,hi3. Для четвёртого 0 границы не меняются. На 3 входа нужны ещё 2 чтения после первого, на 4 — ещё 3. ВA1 свои заполнения каркаса и другие данные.
A1. Заполни два ___: минимум и максимум трёх целых −10…10, без встроенных min/max. Прогноз: −5, −2, −7. Измени range для четырёх входов и предскажи вывод: 4, 4, 4, 4. Запиши изменение и оба результата. Один случай запусти, второй проверь вручную.
lo=int(input())
hi=lo
for i in range(2):
x=int(input())
if x<lo: lo=___
if x>hi: hi=___
print(lo,hi)
Заготовка для своей записи:
| Числа | Ожидание / факт / изменение кода |
|---|---|
| −5;−2;−7 | |
| 4;4;4;4 |
Сначала своя запись и основание, затем сверка.
Полная пауза
Две минуты без проекции, чтения, вычислений и обсуждения. Отведи взгляд и смени позу.
Счётчик хранит прошлое
Модель подсчёта буквы к в «кок»: начальное k=0 до обхода. После символов 1,1,2. Сброс внутри тела оставил бы только результат последнего символа. В A2 другой признак и другая строка.
A2. Нужно посчитать обычные пробелы. Ввод «a b » без кавычек: один пробел внутри и один в конце. Найди ошибку в коде ниже по шагам; исправь одну строку, проверь этот вход и пустую строку. Один запуск на ПК.
s = input()
k = 0
for ch in s:
k = 0
if ch == " ":
k = k + 1
print(k)
Заготовка для своей записи:
| Вход | До / после исправления |
|---|---|
| a b (пробел в конце) | |
| Пустая строка |
Семь минут: три на свои трассы, три на исправление/проверку, одна на сверку. В коротком варианте — шесть минут.
Концептуальная иллюстрация. Точные данные определены условиями, таблицами и схемами; предметы на рисунке не являются входными данными.
Составные условия в Python
Другой диапазон:от 2 до 5 включительно. Запись(2<=n and n<=5)эквивалентнаnot(n<2 or n>5). Для 1,2,5,6 получаемFalse,True,True,False. Сначала сравнения, затем and/or/not. Условие сor проверяет «хотя бы одно», а не «обе границы». ВB1 границы другие.
| Операция Python | Логический смысл |
|---|---|
| and | Обе части истинны |
| or | Хотя бы одна истинна |
| not | Отрицание выражения |
B1. Нужно вывести True только для целых n от 0 до 9 включительно. Запиши два Python-условия: первое с and, второе с not и or. Вставь каждое по очереди в if <условие>: print(True), else: print(False), сохрани многострочные отступы. До проверки составь таблицу для−1,0,9,10. Один вход одного варианта проверь запуском, остальные — по таблице. Почему n>=0 or n<=9 задачу не решает?
Заготовка для своей записи:
| n | Условие с and / условие с not,or |
|---|---|
| −1 | |
| 0 | |
| 9 | |
| 10 |
B1: 2 минуты личная таблица, 1 минута запуск, 1 минута разбор or; второй вариант вручную.
Проверка вымышленного ответа ИИ
AI1. Вымышленный ИИ ищет максимум двух целых −10…10: m=0; для двух введённых x, если x>m, присвоить m=x; затем вывести m. Он проверил только 3 и 5. Проверь −5 и −2; исправь начальное значение, не используя max.
Это заранее составленный учебный пример. Самостоятельно проверь конкретный шаг; обращение к сервису не требуется.
Помощь и резерв
- Сразу меняет код. Сначала запиши ожидание и факт.
- Сбрасывает счётчик в теле. Инициализацию выполняют до обхода.
- Проверяет только удобный вход. Добавь границу и контрпример.
- Не повторяет прежние тесты. Проверь новую версию на тех же случаях.
D1. Резерв. Область программы явно ограничена целыми x от 0 до 9, нужен квадрат x*x. Если проверены все 10 входов и на каждом результат верен, охвачена ли вся объявленная область? Что изменится при расширении до 0…10?
D1 — 3–4 минуты для быстро справившихся после основной работы; иначе отдельный резерв следующего занятия. H1, весь тест и шесть новых случаев не складываются в одно обязательное домашнее задание.
Индивидуальный итог
Четыре полные минуты лично. Условия заранее на бумаге. Памятка и разобранные модели разрешены; ключи и веб-разбор закрыты. Учитель не даёт учебных подсказок. Сбор после четырёх минут.
E1. В программе min/max первое число уже прочитано до for. Сколько оставшихся чисел нужно читать для 3 входов и для 4? С какого значения начинаются lo иhi?
E2. Счётчик обычных пробелов исправлен: k=0 до for ch in s, внутри только if ch==" ": k=k+1, после print(k). Для пустой s сколько напечатает и почему?
E3. Условие Python: 0<=n and n<=9. Для n=10 какой результат? Назови ещё один граничный вход и ожидаемое значение условия, которые нужно проверить после правки.
Разбор после своей попытки
После исправления выбери один новый пример из самопроверки.
Материалы и самопроверка
Презентация, самостоятельный план учителя, рабочий лист, выходной билет и бумажная самопроверка открываются отдельными карточками. DOCX можно смотреть на сайте и скачать. PDF для печати:
Самопроверка на сайте: шесть вопросов с пояснениями, отдельно 5–7 минут. Бумажная версия с письменными основаниями и разбором — 8–12 минут. Все шесть новых письменных случаев — ещё 8–10 минут; выбирай прежде всего случай к своей ошибке. Эти модули не прибавляют к основным 45 минутам и не задаются целиком вместе с H1 автоматически. Пояснения и новые случаи для бумажного разбора есть в плане учителя.
Домашний перенос
H1. Домой 5–7 минут, ПК необязателен. Для двузначного натурального n нужна сумма цифр. Код печатает n//10+n//10. Для 45 запиши факт и ожидание, исправь выражение и проверь 54.
Полное условие и памятка есть на листе. Решение запиши в тетради. Достаточно 5–7 минут с сохранённой опорой.
Источники
ФРП базового уровня: содержание 8 класса, печатные с.9–10; тематическое планирование, с.35–37. Программные составные условия, минимум и максимум двух, трёх и четырёх чисел, проверка и исправление программ. Python 3 — один из допускаемых ФРП языков. Часы и ссылки КТП сохранены. Учебник школы не указан; номера параграфов не назначены.
6 вопросов по теме «Практикум: проверка и исправление: самопроверка». Выбери ответ, прочитай объяснение и попробуй ещё раз, если ошибся.
Открыть отдельноВопрос 1 из 6
ТренировкаБез отметки и ограничения времени. Первый ответ учитывается отдельно от исправлений. При обновлении страницы ответы сбросятся.
Скачать и открыть
Материалы урока
6 материаловПодготовка к уроку
2 материала· для учителей
20 слайдов, отдельная качественная иллюстрация на каждом, редактируемые примеры и таблицы, практика, проверка ответа ИИ и заметки учителю.
Презентация
Самостоятельный план 45/40 минут: полные условия и ключи, карта 20 слайдов, помощь, индивидуальный итог, 18 объяснений самопроверки и шесть случаев переноса.
Методичка · MediaSchool
Рабочие листы и практика
3 материала· для учеников
Три страницы: памятка, собственные попытки, два основных действия, проверка совета ИИ, помощь, резерв и домашний перенос.
Рабочий лист
Два билета на А4. Четыре минуты индивидуально, памятка разрешена, шесть формирующих баллов.
Рабочий лист
Шесть вопросов совпадают с тестом на странице. Две страницы; 8–12 минут с письменными основаниями и разбором, ключи и новые случаи в плане.
Рабочий лист
Проверка знаний
1 материал· для учеников
6 вопросов с объяснениями и повторной попыткой.
Проверочная
От сообщества
Материалы сообщества0
Дополнения от учителей к этому уроку. Проверены модерацией, но не являются редакционным контентом MediaSchool.
Поделитесь первым материалом
Рабочий лист, презентация или методичка помогут другим учителям подготовиться к уроку.
Комментарии
Войдите, чтобы оставлять комментарии.
Пока нет комментариев. Будьте первым!