РАБОЧАЯ ПРОГРАММА пк4 D users ucit рабпрог спец2204 по дисциплине «Функциональное и логическое программирование» для студентов, обучающихся по специальности 220400 «Программное обеспечение вычислительной техники и автоматизированных систем» Направление 552800 «Информатика и вычислительная техника» (бакалавр) Л. 34 ч., Пр. 17 ч., Лаб. раб. 17 ч., Инд. раб.34 ч., РГР (2), Сам. раб. 69 ч., Экз., ГЭ, Всего 171 ч. Функциональное и логическое программирование (выдержка из ГОСВПО) : рекурсивные функции и лямбда-исчисление А. Черча; программирование в функциональных обозначениях; функциональные языки; строго функциональный язык; приёмы программирования; представление и интерпретация функциональных программ; отладка программ; конкретные реализации языков функционального программирования; соответствие между функциональными и императивными программами; применения функционального программирования; логическая программа: основные конструкции, операционная и декларативная семантика, интерпретация, корректность; программирование баз данных; рекурсивное программирование; вычислительная модель; анализ структуры термов; металогические предикаты; внелогические предикаты; недетерминированное программирование; неполные структуры данных; программирование второго порядка; методы поиска; обработка нечётких данных; Constraint – Пролог: операционная семантика; применение логического программирования в задачах искусственного интеллекта. Темы лекционных занятий: 1. Общие сведения о языках логического и функционального программирования. (Декларативное программирование. Логическое программирование PROLOG.) 2. Основные элементы языка. (Предикаты. Арность. Факты, правила. Домены.) 3. Принципы поиска с возвратом. («Зелёное» и «красное» отсечения.) 4. Арифметические вычисления. (Функторы. Составные объекты данных.) 5. Рекурсия. 6. Списки. 7. Деревья. (Упорядоченные, неупорядоченные и поисковые деревья. Упорядоченность.) 8. Динамические базы данных. (Объявление. Добавление. Сохранение. Анализ потока параметров.) 9. Файлы. (Стандартные предикаты.) 10. Графы. (Ориентированные и неориентированные. Ациклический путь. Гамильтонов путь. Остовное дерево графа.) 11. Язык PROLOG. (Ветвления. Отсечение. Проекты.) 12. Язык функционального программирования LISP. (Лямбда – исчисление А. Чёрча.) 13. Особенности языка LISP. (Атомы, списки. Инфиксная и префиксная нотации. Функции и процедуры.) 14. Базовые функции. (Предикаты. Псевдофункции. Структуры языка LISP) 15. Рекурсия. (Простая, по значению, по аргументу, параллельная.) Функциональные аргументы. Функционалы. Макросы. 16. Перспективы развития. Основная литература: 1. Братко И. Программирование на языке Пролог для искусственного интеллекта. 2. Доорс Дж., Рейблейн А.Р., Вадера С. Пролог – язык программирования будущего. 3. Ин Ц., Соломон Д. Использование Турбо – Пролога. 4. Клоксин У., Меллиш Д. Программирование на языке Пролог. 5. Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. 6. Стобо Дж. Язык Программирования Пролог. 7. Хендерсон П. Функциональное программирование: применение и реализация. 8. Хювёнен Э. Сеппянен Й. Мир Лиспа. 9. Гаврилов А.В., Новицкая Ю.В. Основы программирования на Турбо – Прологе (учебное пособие). 10. Малпас Дж. Реляционный язык Пролог и его применение. 11. Маурер У. Введение в программирование на языке ЛИСП. 12. Сырецкий Г.А. Информатика. Часть III. Основы логического программирования на PDC Prolog (учебное пособие). 13. Янсон А. Турбо – Пролог в сжатом изложении.