Что такое проверяемые задания
Задания, проверяемые автоматически, являются мечтой любого преподавателя. Несомненно, что при автоматической проверке можно проверить только сам факт выполнения задания, но не те знания, которые получил ученик. Поэтому крайне желательно, чтобы выполнение проверяемых заданий проходило под контролем преподавателя.
Опыт авторов системы PascalABC.NET и электронного задачника Programming Taskbook свидетельствует, что обучение программированию с помощью проверяемых заданий, сочетаемое с другими методиками (обучение на примерах, поиск ошибок в программах, ручная и автоматическая трассировка, создание творческих программных проектов и т. д.), позволяет существенно ускорить сам процесс обучения и облегчить труд преподавателя.
Итак, что такое проверяемые задания и как их выполнять в системе PascalABC.NET? Для того чтобы это узнать, проще всего ознакомиться с несколькими примерами выполнения типовых заданий.
Пример 1. Задание Begin3 из электронного задачника Programming Taskbook.
Выполняя задание Begin3
,
следует обратить внимание на
одну важную особенность работы с электронным задачником:
при его подключении процедуры ввода-вывода read
и
write
начинают работать иначе:
процедура read получает исходные данные непосредственно от задачника
(который генерирует их, используя датчик случайных чисел и учитывая
особенности выполняемого задания), а процедура write пересылает
результаты задачнику для проверки их правильности. Исходные данные, подготовленные задачником,
и результаты, полученные программой, отображаются в соответствующих разделах
окна задачника; ученик не должен заботиться об их форматировании и поясняющих
подписях, поскольку за эти действия отвечает сам задачник.
Важно учитывать, что при каждом запуске программы учащегося ей
будут предлагаться различные варианты исходных данных, поэтому для
решения задания необходимо разработать алгоритм,
правильно обрабатывающий любые наборы допустимых исходных данных.
Пример 2. Задание a1 для исполнителя Робот.
Исполнитель Робот является бесценным источником заданий для быстрого обучения основным конструкциям программирования школьников средних классов.
Пример 3. Задание String9 из электронного задачника Programming Taskbook.
Данное задание знакомит с особенностями выполнения заданий на обработку символов и строк. Следует обратить внимание на диагностику ошибки, связанной с выводом строки, длина которой превышает длину строки — правильного решения.
Пример 4. Задание File48 из электронного задачника Programming Taskbook.
Это задание знакомит с особенностями выполнения заданий на обработку типизированных файлов. Исходные файлы при вызове задания создаются на диске, после чего могут обрабатываться по стандартным правилам. Содержимое файлов, созданных в процессе выполнения задания, проверяется электронным задачником; после проверки исходные и результирующие файлы автоматически удаляются. Следует обратить внимание на то, как содержимое файлов отображается в окне задачника, а также на обработку ошибок времени выполнения, возникающих при выполнении заданий. В примере описаны типичные ошибки при работе с файлами и способы их устранения.
Пример 5. Задания группы Dynamic из электронного задачника Programming Taskbook.
В данном примере описываются задания из раздела, посвященного указателям и линейным динамическим структурам данных. При вызове задания в динамической памяти создаются все исходные структуры данных (в виде односвязных или двусвязных списков), а указатели на элементы этих структур выступают в качестве входных данных задания. Содержимое всех структур данных отображается в окне задачника в наглядном виде. Созданные программой ученика структуры данных анализируются задачником и после анализа все структуры данных удаляются из памяти.
Пример 6. Задания группы Tree из электронного задачника Programming Taskbook.
В данном примере описываются задания на обработку иерархических структур данных — деревьев. Подобные структуры, как и линейные динамические структуры, рассмотренные в предыдущем примере, создаются задачником автоматически и в наглядном виде отображаются в его окне. Для доступа к ним также используются указатели.
Пример 7. Задания групп ExamBegin и ExamTaskC из электронного задачника Programming Taskbook.
Пример содержит описание процесса выполнения заданий, связанных с ЕГЭ по информатике. Основной особенностью этих заданий является то, что при их выполнении требуется использовать стандартные процедуры ввода-вывода языка Pascal (а не их специальные модификации, реализованные для задачника Programming Taskbook). Рассматриваются задания из группы ExamBegin, посвященные базовым алгоритмам, и задания из группы ExamTaskC, посвященные обработке сложных наборов данных.
Все примеры, связанные с электронным задачником Programming Taskbook, иллюстрируются изображениями окна задачника в режиме с динамической компоновкой, появившемся в версии 4.11.