This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Направление 231000.62 – Программная инженерия, 7 семестр
Ст. преподаватель каф. ВТ НГТУЮлия Вадимовна НовицкаяEmail: [email protected]: http://ermak.cs.nstu.ru/flp
• ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕязык программирования Prolog(PROgramming in LOGic)
ФУНКЦИОНАЛЬНОЕ И ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ (ФЛП)
• Лекции – 34 часа(17 лекций)
• Лабораторные работы (ЛР) – 17 часов(4 лаб. работы)
• Расчетно-графическое задание (РГЗ)(получение задания на 2-й лаб. работе)
• Экзамен
ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ (ФП)
• Лекции – 34 часа(17 лекций)
• Лабораторные работы (ЛР) – 17 часов(4 лаб. работы)
• Расчетно-графическое задание (РГЗ)(получение задания на 2-й лаб. работе)
• Диф. зачет
ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ (ЛП)
• Лекции – 17 часов(8 лекций)
• Лабораторные работы (ЛР) – 17 часов(4 лаб. работы)
• Расчетно-графическое задание (РГЗ)(получение задания на 2-й лаб. работе)
• Диф. зачет
БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМАФЛП
• Дисциплина в целом – 100 баллов– 60 баллов в семестре– 40 баллов на экзамене
• Лабораторные работы с №1 по №4– 6 12 баллов
• Расчетно-графическое задание– 6 12 баллов
• Срок защиты ЛР без потери баллов – одна неделя после лабораторной работы по расписанию
• Срок защиты РГЗ без потери баллов– ФЛП – 17 неделя
БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМАФП и ЛП
• Дисциплина в целом – 100 баллов– 80 баллов в семестре– 20 баллов на зачете
• Лабораторные работы с №1 по №4– 8 16 баллов
• Расчетно-графическое задание– 8 16 баллов
• Срок защиты ЛР без потери баллов – одна неделя после лабораторной работы по расписанию
• Срок защиты РГЗ без потери баллов– ФП – 16 неделя, ЛП – 16 неделя
ОТЧЕТНОСТЬ
• Отчеты по лабораторным работам представляются в электронном виде одним файлом в конце семестра
• Отчет по расчетно-графическому заданию представляется в распечатанном виде в конце семестра
УЧЕБНЫЕ МАТЕРИАЛЫ
ИСТОЧНИКИ (ОСНОВНЫЕ)• Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual
Prolog. - СПб.: БХВ-Петербург, 2003. - 992 С.• Братко И. Алгоритмы искусственного интеллекта на языке Prolog. –
М. : Вильямс , 2004. – 637 с.• Городняя Л.В. Основы функционального программирования. – М. :
ИНТУИТ.РУ , 2004. – 272 с.• Ин Ц., Соломон Д. Использование Турбо-Пролога. - М.: Мир, 1993. -
608 С.• Непейвода Н.Н. Стили и методы программирования. – М.: Интернет-
университет информационных технологий, 2005. – 316 с.
ИСТОЧНИКИ (ОСНОВНЫЕ)• Стерлинг Л., Шапиро Э. Искусство программирования на языке
Пролог. - М.: Мир, 1990. - 235 С.• Хювёнен Э., Сеппянен Й. Мир Лиспа. М.: Мир, 1990. - 447 С.• Цуканова Н.И., Дмитриева Т.А. Логическое программирование на
языке Visual Prolog. - М.: Горячая Линия - Телеком, 2008. - 144 С.• Чанышев О.Г. ПРОграммирование в ЛОГике. – Омск : Изд-во ОмГУ ,
2004. – 63 с.• Шрайнер П.А. Основы программирования на языке Пролог. Курс
лекций. - М.: Интернет-университет информационных технологий, 2005. - 176 С.
ИСТОЧНИКИ (ДОПОЛНИТЕЛЬНЫЕ)
• Доорс Дж., Рейблейн А.Р., Вадера С. Пролог язык программирования будущего. - М.: ФиС, 1990. - 144 С.
• Клоксин У., Меллиш Д. Программирование на языке Пролог. - М.: Мир, 1987. - 336 С.
• Маурер У. Введение в программирование на языке ЛИСП. - М.: Мир, 1978. - 104 С.
• Полещук Н., Лоскутов П. AutoLISP и Visual LISP в среде AutoCAD. - СПб.: БХВ-Петербург, 2006. - 960 С.
• Стобо Дж. Язык программирования Пролог. - М.: Мир, 1993. - 368 С.• Хендерсон П. Функциональное программирование: применение и
реализация. М.: Мир, 1983. - 349 С.• Янсон А. Турбо-Пролог в сжатом изложении. - М.: Мир, 1991. - 94 С.
ИНТЕРНЕТ-РЕСУРСЫ• Программирование на языке ПРОЛОГ [Электронный ресурс]. –
Электрон. дан. – USAM SRL, cop. 2009. – Режим доступа : http://www.prolog.md
• Русскоязычное сообщество лисперов [Электронный ресурс]. – Электрон. дан. – Lisp.ru, cop. 2008-2010. – Режим доступа : http://lisp.ru
• Lisper.ru [Электронный ресурс]. – Электрон. дан. – lisper.ru, cop. 2009-2010. – Режим доступа : http://lisper.ru
• Home Lisp [Электронный ресурс]. – Электрон. дан. – Режим доступа : http://homelisp.ru
• Некоторый язык программирования не обязательно использует только одну парадигму, многие языки поддерживают несколько парадигм
• Ни одна парадигма не может быть одинаково эффективной для всех задач, и программисту следует выбирать лучший стиль программирования для решения каждой отдельной задачи
КЛАССИФИКАЦИЯ
ОТЛИЧИЯ• Алгоритмический (процедурный) способ программирования
соответствует вопросу «как» (необходимо описать, как решается задача), декларативный способ – вопросу «что» (достаточно описать, что должно быть решено)
• Программа на декларативном языке состоит из двух компонент: условия задачи (которую иногда называют «базой данных») и целевого запроса
• Для декларативного программирования необходимо наличие «решателя» (называемого обычно интерпретатором), который «знает» как выполнить целевой запрос, исходя из условий, представленных в «базе данных»
ОБЛАСТИ ПРИМЕНЕНИЯ ДЕКЛАРАТИВНЫХ ЯЗЫКОВ
• Реализация обработки типов данных, имеющих рекурсивную природу: списков, деревьев, графов и сводящихся к ним структур
• Такого рода задачи характерны для обработки символьной информации, то есть для создания трансляторов и решения задач искусственного интеллекта: обработки естественного языка, трансформации и автоматического синтеза программ, аналитического преобразования формальных текстов и др.
• Создание систем искусственного интеллекта• Разработка экспертных систем и оболочек экспертных систем• Создание систем помощи принятия решений• Разработка систем обработки естественного языка• Построение планов действий роботов• …
Современное состояние ЛП
• Visual Prolog 7.5• Разработкой языка занимается фирма PDC