ПРИКАСПИЙСКИЙ ЖУРНАЛ

УПРАВЛЕНИЕ И ВЫСОКИЕ ТЕХНОЛОГИИ

Способы проверки решений заданий по программированию в обучающих системах

Читать Катаев Александр Вадимович, Шабалина Ольга Аркадьевна, Камаев Валерий Анатольевич Способы проверки решений заданий по программированию в обучающих системах  // Прикаспийский журнал:  управление и высокие технологии. — 2011. — №3. — Стр. 19-25.

Катаев Александр Вадимович - ассистент, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, alexander.kataev@gmail.com.

Шабалина Ольга Аркадьевна - кандидат технических наук, доцент, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, O.A.Shabalina@gmail.com.

Камаев Валерий Анатольевич - доктор технических наук, профессор, Волгоградский государственный технический университет, 400131, Россия, г. Волгоград, пр. Ленина, 28, kamaev@cad.vstu.ru.

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

Ключевые слова: автоматизированные обучающие системы,проверка заданий,оценка уровня знаний,программный код,верификация программного обеспечения,модульное тестирование,регулярные выражения,нормализация программного кода,контекст трансляции,выполнение программного кода.