Известно несколько попыток создания «генератора задач». Большинство из них используют принцип варьирования параметров в известной схеме или операции с формулами. Опишем два других пути создания таких систем на примере физики.

Метод логической цепи

Берется некоторое количество относительно простых задач, которые выстраиваются в определенной последовательности по принципу «если на задачу N получен ответ более A, переходи к решению задачи M с такими-то исходными данными, если менее - к решению задачи Q с такими-то исходными данными». При правильном подборе задач и исходных данных можно создать из них такую структуру, что школьнику и в голову не придет искать, у кого бы списать. Это психологически оптимальное решение, ибо бесперспективность списывания ясна сразу.

Подобный путь построения задач универсален, он пригоден для любого предмета и материала, где может быть сформулирована задача, имеющая ответ, который может сравниваться с эталоном. При этом всем экзаменующимся сообщается весь текст задач и правила переходов от одной к другой, а индивидуальны лишь начальные условия. Ответом на всю гиперзадачу может стать цепочка ответов, ибо в некоторых случаях возможно ее правильное прохождение и получение правильного конечного ответа при неправильном решении всех задач (кроме последней). Возможно построение переходов, при котором для прохождения цепочки необходимо правильно решить все задачи. Для этого надо сравнивать ответ не с порогом, а со значением, что часто бывает недопустимой подсказкой.

Самое главное преимущество, которое дарит этот способ построения контрольной, - преподавателю предварительно не нужно все задачи решать самому. Решение может быть записано в виде формул, ответ же вычислит программа, которая, более того, при заданном списке задач может сама искать варианты начальных условий и переходов, обеспечивающих сложный путь несчастного экзаменующегося. Однако такие системы задач выглядят несколько искусственно.

Метод моделирования

Рассматривается физическая ситуация, развитие которой идет по-разному при разных начальных условиях, причем так, что одни и те же элементарные процессы, знание которых нужно проверить, происходят в разной последовательности и при разных начальных условиях. Решение также реализовано не учителем, а программой.

Рассмотрим два простых примера таких задач.

1. Поверхность имеет плоские и наклонные участки с различными коэффициентами трения. Тела, имеющие в начальный момент различные координаты и скорости, движутся по разным траекториям. При этом они в зависимости от начальных условий могут преодолевать или не преодолевать некий подъем, сталкиваться или не сталкиваться с другим телом, отражаться от барьеров и так далее.

2. Одно или два тела движутся по желобу, имеющему наклонные и горизонтальные участки. Мы реализовали именно этот пример в простейшем варианте, при котором происходит движение одного тела по желобу, состоящему из пяти участков (три горизонтальных и два наклонных), причем трение имеет место только на отдельных участках.

С точки зрения информатики это типичная задача на пространство состояний. Поэтому важно, чтобы физик сформулировал ее максимально корректно. Для простоты можно описывать состояния только в моменты смены участков. Дуги графа - условия перехода в новую фазу или на новый участок и законы вычисления параметров нового состояния на основе предыдущих данных. При такой формулировке преподаватель информатики легко решит задачу с использованием циклов и ветвлений.

Описанная выше задача может содержать несколько дополнительных условий-возможностей на каждом участке. Например, на ровном участке - это остановка при движении вправо или влево, переход влево или вправо на наклонный участок. Каждая возможность описывается своим набором уравнений. Но преподавателя информатики интересует не уравнение движения на участке, а его решение. С использованием функций «модуль» и «знак» можно свести дерево решений всего к четырем переходам, по два на каждый вид участка: переход с горизонтального участка на наклонный, остановка на горизонтальном участке, переход с наклона на верхний уровень и с наклона на нижний уровень. При этом не важно, о каком наклоне идет речь и в какую сторону движется объект. Соответственно сформулировано всего два условия выбора перехода.

Далеко не каждый информатик будет заниматься упрощением идеи физика, поэтому физику лучше сразу продумать рациональное решение задачи. В результате должна получиться простая программа, моделирующая поведение системы. По входным данным начального состояния она выдает последовательность переходов и остановку (если таковая произойдет). Задачу легко усложнить, сделав разными высоты всех участков, введя различные коэффициенты трения на отдельных участках. Программа претерпит минимальные изменения, а варианты задания усложнятся существенно. Такие задачи моделирования хорошо давать в качестве зачетных работ по информатике и физике самим школьникам.

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

Леонид АШКИНАЗИ, доцент Московского государственного института электроники и математики (МИЭМ), Мария ГРИШКИНА, доцент МИЭМ