Алгебра логики
<<  Логическое программирование Логическое программирование  >>
Функциональное и логическое программирование
Функциональное и логическое программирование
Предмет изучения
Предмет изучения
Функциональное и логическое программирование (флп)
Функциональное и логическое программирование (флп)
Функциональное программирование (фп)
Функциональное программирование (фп)
Логическое программирование (лп)
Логическое программирование (лп)
Балльно-рейтинговая система флп
Балльно-рейтинговая система флп
БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА ФП и ЛП
БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА ФП и ЛП
Отчетность
Отчетность
Учебные материалы
Учебные материалы
Функциональное и логическое программирование
Функциональное и логическое программирование
Источники (основные)
Источники (основные)
Источники (основные)
Источники (основные)
Источники (дополнительные)
Источники (дополнительные)
Интернет-ресурсы
Интернет-ресурсы
Интернет-ресурсы
Интернет-ресурсы
Парадигма
Парадигма
Парадигмы программирования
Парадигмы программирования
Парадигмы программирования
Парадигмы программирования
Классификация
Классификация
Отличия
Отличия
Области применения декларативных языков
Области применения декларативных языков
Современное состояние ЛП
Современное состояние ЛП
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Современное состояние ФП
Современное состояние ФП
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Функциональное и логическое программирование
Язык лп prolog
Язык лп prolog
Первая программа
Первая программа
Первая программа
Первая программа
Основные способы решения
Основные способы решения
Поиск с возвратом
Поиск с возвратом
Рекурсия
Рекурсия
Рекурсия
Рекурсия
Язык фп lisp
Язык фп lisp
Первая программа
Первая программа
Основы lisp’а
Основы lisp’а

Презентация на тему: «Функциональное и логическое программирование». Автор: novitskaya. Файл: «Функциональное и логическое программирование.ppt». Размер zip-архива: 1978 КБ.

Функциональное и логическое программирование

содержание презентации «Функциональное и логическое программирование.ppt»
СлайдТекст
1 Функциональное и логическое программирование

Функциональное и логическое программирование

Функциональное программирование логическое программирование

Ст. преподаватель каф. ВТ НГТУ Юлия Вадимовна Новицкая Email: novitskaya@corp.nstu.ru Web: http://ermak.cs.nstu.ru/flp

Направление 231000.62 – Программная инженерия, 7 семестр

Направление 230100.62 – Информатика и ВТ, 7 семестр

2 Предмет изучения

Предмет изучения

ФУНКЦИОНАЛЬНОЕ ПРОГРАММИРОВАНИЕ язык программирования Lisp (LISt Processing) ЛОГИЧЕСКОЕ ПРОГРАММИРОВАНИЕ язык программирования Prolog (PROgramming in LOGic)

3 Функциональное и логическое программирование (флп)

Функциональное и логическое программирование (флп)

Лекции – 34 часа (17 лекций) Лабораторные работы (ЛР) – 17 часов (4 лаб. работы) Расчетно-графическое задание (РГЗ) (получение задания на 2-й лаб. работе) Экзамен

4 Функциональное программирование (фп)

Функциональное программирование (фп)

Лекции – 34 часа (17 лекций) Лабораторные работы (ЛР) – 17 часов (4 лаб. работы) Расчетно-графическое задание (РГЗ) (получение задания на 2-й лаб. работе) Диф. зачет

5 Логическое программирование (лп)

Логическое программирование (лп)

Лекции – 17 часов (8 лекций) Лабораторные работы (ЛР) – 17 часов (4 лаб. работы) Расчетно-графическое задание (РГЗ) (получение задания на 2-й лаб. работе) Диф. зачет

6 Балльно-рейтинговая система флп

Балльно-рейтинговая система флп

Дисциплина в целом – 100 баллов 60 баллов в семестре 40 баллов на экзамене Лабораторные работы с №1 по №4 6 ? 12 баллов Расчетно-графическое задание 6 ? 12 баллов Срок защиты ЛР без потери баллов – одна неделя после лабораторной работы по расписанию Срок защиты РГЗ без потери баллов ФЛП – 17 неделя

7 БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА ФП и ЛП

БАЛЛЬНО-РЕЙТИНГОВАЯ СИСТЕМА ФП и ЛП

Дисциплина в целом – 100 баллов 80 баллов в семестре 20 баллов на зачете Лабораторные работы с №1 по №4 8 ? 16 баллов Расчетно-графическое задание 8 ? 16 баллов Срок защиты ЛР без потери баллов – одна неделя после лабораторной работы по расписанию Срок защиты РГЗ без потери баллов ФП – 16 неделя, ЛП – 16 неделя

8 Отчетность

Отчетность

Отчеты по лабораторным работам представляются в электронном виде одним файлом в конце семестра Отчет по расчетно-графическому заданию представляется в распечатанном виде в конце семестра

9 Учебные материалы

Учебные материалы

10 Функциональное и логическое программирование
11 Источники (основные)

Источники (основные)

Адаменко А.Н., Кучуков А.М. Логическое программирование и Visual Prolog. - СПб.: БХВ-Петербург, 2003. - 992 С. Братко И. Алгоритмы искусственного интеллекта на языке Prolog. – М. : Вильямс , 2004. – 637 с. Городняя Л.В. Основы функционального программирования. – М. : ИНТУИТ.РУ , 2004. – 272 с. Ин Ц., Соломон Д. Использование Турбо-Пролога. - М.: Мир, 1993. - 608 С. Непейвода Н.Н. Стили и методы программирования. – М.: Интернет-университет информационных технологий, 2005. – 316 с.

12 Источники (основные)

Источники (основные)

Стерлинг Л., Шапиро Э. Искусство программирования на языке Пролог. - М.: Мир, 1990. - 235 С. Хювёнен Э., Сеппянен Й. Мир Лиспа. М.: Мир, 1990. - 447 С. Цуканова Н.И., Дмитриева Т.А. Логическое программирование на языке Visual Prolog. - М.: Горячая Линия - Телеком, 2008. - 144 С. Чанышев О.Г. ПРОграммирование в ЛОГике. – Омск : Изд-во ОмГУ , 2004. – 63 с. Шрайнер П.А. Основы программирования на языке Пролог. Курс лекций. - М.: Интернет-университет информационных технологий, 2005. - 176 С.

13 Источники (дополнительные)

Источники (дополнительные)

Доорс Дж., Рейблейн А.Р., Вадера С. Пролог язык программирования будущего. - М.: ФиС, 1990. - 144 С. Клоксин У., Меллиш Д. Программирование на языке Пролог. - М.: Мир, 1987. - 336 С. Маурер У. Введение в программирование на языке ЛИСП. - М.: Мир, 1978. - 104 С. Полещук Н., Лоскутов П. AutoLISP и Visual LISP в среде AutoCAD. - СПб.: БХВ-Петербург, 2006. - 960 С. Стобо Дж. Язык программирования Пролог. - М.: Мир, 1993. - 368 С. Хендерсон П. Функциональное программирование: применение и реализация. М.: Мир, 1983. - 349 С. Янсон А. Турбо-Пролог в сжатом изложении. - М.: Мир, 1991. - 94 С.

14 Интернет-ресурсы

Интернет-ресурсы

Программирование на языке ПРОЛОГ [Электронный ресурс]. – Электрон. дан. – 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 XLISP Home Page [Electronic resource]. – Electronic data. – Mode acess : http://xlisp.org Amzi! inc. [Electronic resource]. – Electronic data. – Mode acess : http://www.amzi.com

15 Интернет-ресурсы

Интернет-ресурсы

Association of Lisp Users [Electronic resource]. – Electronic data. – Mode acess : http://www.lisp.org LispWorks [Electronic resource]. – Electronic data. – LispWorks Ltd., cop. 2001-2011. – Mode acess : http://www.lispworks.com Prolog Development Center [Electronic resource]. – Electronic data. – Copenhagen, cop. 1983-2011. – Mode acess : http://www.pdc.dk SWI-Prolog [Electronic resource]. – Electronic data. – Mode acess : http://www.swi-prolog.org Visual Prolog [Electronic resource]. – Electronic data. – Mode acess : http://www.visual-prolog.com

16 Парадигма

Парадигма

Парадигма – это система взглядов на явления окружающего мира и представлений о возможных взаимодействиях с ними Парадигма программирования – система идей и понятий, определяющих фундаментальный стиль программирования

17 Парадигмы программирования

Парадигмы программирования

Декларативная логическая функциональная императивная объектно-ориентированная параллельная процедурная …

18 Парадигмы программирования

Парадигмы программирования

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

19 Классификация

Классификация

20 Отличия

Отличия

Алгоритмический (процедурный) способ программирования соответствует вопросу «как» (необходимо описать, как решается задача), декларативный способ – вопросу «что» (достаточно описать, что должно быть решено) Программа на декларативном языке состоит из двух компонент: условия задачи (которую иногда называют «базой данных») и целевого запроса Для декларативного программирования необходимо наличие «решателя» (называемого обычно интерпретатором), который «знает» как выполнить целевой запрос, исходя из условий, представленных в «базе данных»

21 Области применения декларативных языков

Области применения декларативных языков

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

22 Современное состояние ЛП

Современное состояние ЛП

Visual Prolog 7.5 Разработкой языка занимается фирма PDC Prolog Development Center http://www.pdc.dk

23 Функциональное и логическое программирование
24 Функциональное и логическое программирование
25 Функциональное и логическое программирование
26 Функциональное и логическое программирование
27 Функциональное и логическое программирование
28 Функциональное и логическое программирование
29 Функциональное и логическое программирование
30 Функциональное и логическое программирование
31 Современное состояние ФП

Современное состояние ФП

32 Функциональное и логическое программирование
33 Функциональное и логическое программирование
34 Функциональное и логическое программирование
35 Функциональное и логическое программирование
36 Функциональное и логическое программирование
37 Функциональное и логическое программирование
38 Функциональное и логическое программирование
39 Язык лп prolog

Язык лп prolog

Особенности языка Описание проблемы и правил ее решения Нахождение всех возможных решений с помощью механизма поиска с возвратом (backtracking) Простой синтаксис

40 Первая программа

Первая программа

Факты Воробей – это птица. Воробей – родитель птенца. Правило вывода Некто является птицей при условии, что у него есть родитель – птица. Программа птица(воробей). птица(X):– родитель(Y, X), птица (Y). родитель(воробей, птенец).

Запрос птица(Z) Все возможные решения: Z = воробей Z = птенец

41 Первая программа

Первая программа

bird(sparrow). bird(X):– parent(Y, X), bird(Y). parent(sparrow, nestling). ? – bird(Z) Z = sparrow Z = nestling

Факт

Правило вывода

Факт

Запрос

42 Основные способы решения

Основные способы решения

Поиск с возвратом (backtracking) Рекурсия

Вход

43 Поиск с возвратом

Поиск с возвратом

Для работы поиска с возвратом необходимо выполнение двух условий Недоказательство некоторой цели Возврат (откат) к цели, которую можно передоказать

44 Рекурсия

Рекурсия

Нахождение значения факториала 0! = 1 n! = 1 * 2 * 3 * … * (n – 1) * n Рекурсивная формула для расчета факториала 0! = 1 n! = (n – 1)! * n

45 Рекурсия

Рекурсия

factorial (0, 1). factorial (N, RES) :- M = N – 1, factorial (M, TMP), RES = TMP * N. ? – factorial (3, RES) RES = 6

46 Язык фп lisp

Язык фп lisp

Особенности языка Одинаковая форма представления данных и программ – в виде списка Функциональный образ мышления Не требуется явное описание типов данных, используемых в программе Основной способ решения – рекурсия

47 Первая программа

Первая программа

> (+ 2 3) программа данные

> (+ 2 3) 5 > ‘(+ 2 3) (+ 2 3) > (quote (+ 2 3)) (+ 2 3)

48 Основы lisp’а

Основы lisp’а

«Функциональное и логическое программирование»
http://900igr.net/prezentacija/algebra/funktsionalnoe-i-logicheskoe-programmirovanie-242988.html
cсылка на страницу
Урок

Алгебра

35 тем
Слайды
900igr.net > Презентации по алгебре > Алгебра логики > Функциональное и логическое программирование