Проверка разветвляющегося алгоритма на границе условия
Автор: Ибрагимов Ислам Арбиевич
Организация: МБОУ «Лингвистическая школа им. Ю. Д. Дешериева»
Населенный пункт: Чеченская Республика, г. Грозный
Информатика | 7 класс | 20 минут
Учебная задача
Ученик может проверить алгоритм на двух удобных числах и пропустить ошибку в знаке сравнения. Предлагаю сначала отметить границу условия, а затем подобрать входные данные по обе стороны от неё и на самой границе. Ожидаемый ответ записывается по тексту задачи до выполнения алгоритма. Так проверка не превращается в подгонку ответа под готовую программу.
Приём трёх соседних значений
Учебная модель описывает упаковку карточек. В одну маленькую коробку помещается не более восьми карточек; если карточек больше, нужна большая. На вход подаётся целое число n от 1 до 20. Алгоритм выбирает только размер одной коробки. Педагог показывает ошибочную запись: «если n < 8, то маленькая, иначе большая». Для 7 и 9 ответ верный; значение 8 обнаруживает ошибку. Исправление знака на ≤ должно быть объяснено словами «не более восьми».
Подготовка и порядок работы
Достаточно рабочего листа и карандаша; компьютер не обязателен. Сначала дети читают условие и подчёркивают включённую границу. За 4 минуты заполняют ожидаемые ответы. Следующие 5 минут отводятся на ручную трассировку: проверку сравнения и выбор ветви. Ещё 4 минуты пары обсуждают найденное расхождение. Последние 7 минут занимает самостоятельный перенос на новое условие с другой границей.
В паре один ученик объясняет ответ по условию, второй выполняет алгоритм. Затем роли меняются. Если оба сразу смотрят на знак в программе, педагог временно закрывает её: сначала необходимо установить, что требуется получить. После исправления снова выполняются все три теста, а не только тест, на котором обнаружена ошибка.
Границы применения
Приём предназначен для одной числовой границы и целочисленного ввода. Значения 0 и 21 находятся вне заданного диапазона; требование обрабатывать их в этой модели не вводится. Три успешных теста сами по себе не доказывают правильность произвольной программы. Для данного короткого алгоритма дополнительно проверяется, что условие и обе ветви точно выражают правило задачи.
Рабочий лист
Фамилия и имя __________________________ Дата __________
Задание 1 Ожидаемый ответ
В маленькую коробку входит не более 8 карточек. Для большего количества нужна большая. Вход n является целым числом от 1 до 20. Заполни второй столбец по условию, ещё не выполняя алгоритм.
|
Вход n |
Ответ по условию |
Верно ли n < 8 |
Ответ алгоритма |
|
7 |
|
|
|
|
8 |
|
|
|
|
9 |
|
|
|
Ошибка в алгоритме: если n < 8, вывести «маленькая»; иначе вывести «большая». Заполни последние два столбца. Обведи строку, где ответы разошлись. Объясни, какое слово в условии определяет включение границы.
Моё объяснение __________________________________________________
Задание 2 Исправление и повторная проверка
Исправь только знак сравнения: если n ____ 8, вывести «маленькая»; иначе вывести «большая». Выполни исправленный алгоритм для 7, 8 и 9. Запиши ответы в том же порядке и объясни, почему обе ветви соответствуют условию.
Ответы _________________________________________________________
Почему проверки только для 2 и 15 недостаточно, чтобы обнаружить ошибку n < 8? __________________________________________________
Задание 3 Перенос на новое правило
Длина файла k задана целым числом от 1 до 30 мегабайт. Если длина меньше 12 мегабайт, файл отправляют одним способом; во всех остальных случаях выбирают другой. Ученик записал: «если k ≤ 12, вывести А; иначе вывести Б».
1. Самостоятельно выбери три соседних значения около границы. Для каждого запиши ожидаемую букву и результат ошибочного алгоритма.
2. Найди неверный знак и исправь его. Объясни, к какой ветви должно относиться значение 12.
3. Запиши, какие входные значения здесь допустимы. Можно ли требовать ответ для k = 0, если такого требования в условии нет?
Мои тесты и вывод _________________________________________________
_________________________________________________________________
Ключ и проверка рассуждения
|
n |
По условию |
n < 8 |
Ошибочный ответ |
|
7 |
маленькая |
верно |
маленькая |
|
8 |
маленькая |
неверно |
большая |
|
9 |
большая |
неверно |
большая |
Словосочетание «не более восьми» включает число 8. Исправленный знак ≤ даёт ответы «маленькая, маленькая, большая». Для любого допустимого n не выше 8 помещаются в маленькую коробку; все остальные допустимые значения больше 8 и требуют большую. Тесты 2 и 15 не достигают границы и дают совпадения даже при ошибочном знаке.
Ответ к новому правилу
Подходящие тесты: 11, 12, 13. Ожидаемые ответы: А, Б, Б. Ошибочный алгоритм выдаёт А, А, Б. Следовательно, расхождение обнаруживается при k = 12; знак ≤ нужно заменить знаком <. Допустимы только целые числа от 1 до 30. Для 0 правила обработки не заданы. Ответ «А» при механическом выполнении записи не означает, что алгоритм проверен для расширенного диапазона.
Критерии самостоятельного переноса
За задание 3 можно получить 6 баллов: 1 балл за тесты 11, 12, 13; 1 балл за ожидаемые ответы; 1 балл за трассировку ошибочной записи; 1 балл за исправление знака; 1 балл за объяснение исключения границы; 1 балл за верное указание допустимого диапазона. Случайная ошибка в переписывании оценивается отдельно от объяснения ветви.
Перенос подтверждён в этом фрагменте, если ученик без подсказки выбирает граничный тест, исправляет знак и объясняет ответ при k = 12. Число баллов служит обратной связью, а не доказательством устойчивого владения тестированием. При затруднении педагог предлагает ещё одно правило с включённой границей и просит сначала произнести его словами.
Поддержка и дальнейшая работа
Для поддержки можно дать числовую прямую с отмеченным числом 12, не отмечая нужную ветвь. Более подготовленному ученику предлагается придумать свой ошибочный знак и минимальный тест, который обнаружит расхождение. Пример нельзя считать самостоятельным, если сосед уже сообщил проверяемое граничное значение.
Методическая опора
Teach Computing. Create a program. Виды тестовых данных: обычные, граничные и ошибочные. https://teachcomputing.org/curriculum/key-stage-4/programming-part-4-subroutines/create-a-program (дата обращения 21.10.2026). Учебные условия и задания данной разработки составлены для описанного приёма.
БЕСПЛАТНЫЕ семинары


