Разработка адаптивной среды для изучения языка Пролог
Вернуться к списку проектовНа главную страницу курсаЗаказчик
Будникова Наталья Алексеевна, доцент, к.ф.-м.н., кафедра Информатики и математического обеспечения. Эл.почта: budniko@cs.karelia.ru. Раб.тел.: 711015. 215 каб.Инструктор
Синицын Михаил, кафедра прикладной математики и кибернетики. Эл. почта: mishas@onego.ru. Раб. тел.: 572140.Аннотация проекта
Вводный курс по Прологу является важным для студентов-математиков, поскольку обучает стилю программирования, отличному от алгоритмического. Пролог основан на описательной, или декларативной точке зрения на программирование. Описание задачи является статическим и никакого вычислительного процесса не задает. Дедуктивный вывод решения задачи обеспечивается встроенными средствами языка.Эти свойства Пролога коренным образом меняют программистское мышление и требует от обучаемых определённых интеллектуальных усилий. Пролог заставляет программиста давать определение ситуаций и формулировать задачи, вместо того, чтобы во всех деталях описывать способ решения этих задач, при этом используются языковые конструкции очень высокого уровня. Декларативный характер языка требует от автора умения составить формальное описание ситуации, пользуясь понятиями объектов различных типов и отношений между ними. Следует отметить ряд методических трудностей при изучении этого языка. Пролог не имеет хорошо знакомых "алгоритмическим программистам" конструкций типа FOR, WHILE, IF THEN; нет даже оператора присваивания, нет в языке указателей. Основными операциями являются сопоставление и унификация.
Первичные требования
Основных вычислительных механизмов в Прологе не так много и следует охватить изучением следующие основные опорные разделы Пролога:- Описание объектов и отношений предметной области в виде наборов фактов и правил и встроенный механизм вывода с поиском и возвратом, реализующий дедуктивный вывод.
- Работа со списками и изучение программирования рекурсивных алгоритмов. Рекурсия является одним из основных способов организации вычислительного процесса в Прологе, а рекурсивные алгоритмы - достаточно нетривиальными.
- Возможности организации различных фрагментов информации в единые логические единицы и создание сложных структур данных. Решение на базе таких структур игровых и логических задач.
- Единообразное представление программ и данных и механизм динамической базы данных, реализующей этот принцип.
Требование доступности для широкого круга пользователей должно быть обеспечено благодаря современным информационным технологиям и возможностям сети Интернет.