Логічне і функціональне програмування (са)

Тип: Нормативний

Кафедра: програмування

Навчальний план

СеместрКредитиЗвітність
63.5Іспит

Лекції

СеместрК-сть годинЛекторГрупа(и)
632доцент Ярошко С. А.ПМа-31, ПМа-32, ПМа-33

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
632ПМа-31
ПМа-32
ПМа-33

Опис курсу

Фокус уваги курсу спрямовано на вивчення засад декларативного програмуван­ня. Засоби та методи написання програм у логічному стилі проілюстровано мо­вою Prolog, засоби та методи функціонального програмування – з використанням Lisp і Python. Для опису задачі логічний стиль застосовує твердження і правила, функціональний – оголошення та виклики функцій. Розглянуто питання правиль­ної побудови рекурсії, використання монад. Курс пов’язаний з дисциплінами “Основи програмування”, “Програмування (.Net, Python)”, “Алгоритми обчислю­вальних процесів”.

Після завершення цього курсу студент буде :

Знати

  • синтаксис мови Prolog, засади функціонування її машини виводу, вбудовані засоби;
  • синтаксис мови Lisp та особливості функціонування її інтерпретатора, стандартні функції;
  • прийоми написання програм у логічному стилі;
  • правила написання функціональних програм.

Вміти

  • описувати предметну область задачі мовою Prolog;
  • формулювати прості та рекурсивні правила мовою Prolog;
  • створювати та використовувати структури (у тому числі й бази даних) мовою Prolog;
  • оголошувати та використовувати функції мовою Lisp, у тому числі функції вищих порядків;

застосовувати засоби функціонального програмування мови Python.

Рекомендована література

Основна література

  1. SWI Prolog Reference manual – Електронний ресурс. Режим доступу: https://www.swi-prolog.org/pldoc/doc_for?object=manual
  2. Prolog Tutorial – Електронний ресурс. Режим доступу: https://www.tutorialspoint.com/prolog/index.htm
  3. Ivan Bratko Prolog Programming For Artificial Intelligence. Fourth Edition – Addison Wesley, 2021. – 697 с.
  4. Шумейко О. О. Visual Prolog. Опануй на прикладах : навч. посіб. / О. О. Шумейко, В.М. Кнуренко. – Дніпропетровськ : Біла К. О., 2014. – 404 с.
  5. Learn Lisp – Електронний ресурс. Режим доступу: https://www.tutorialspoint.com/lisp/index.htm
  6. Steven Lott Functional Python Programming – Packt Publishing Ltd., 2015 – 339 p.

Додаткова література

  1. Learn Common Lisp – Електронний ресурс. Режим доступу: https://lisp-lang.org/learn/
  2. Christian Neumanns Simple Introduction to Monads – CodeProject [Електронний ресурс] – Режим доступу: https://www.codeproject.com/Articles/5290753/Simple-Introduction-to-Monads
  3. David Mertz Functional Programming in Python – O’Reilly Media, Inc., 2015 – 39 p.

Online courses – https://www.classcentral.com/report/best-free-prolog-courses/

Силабус: Логічне та функціональне програмування, 2025/26 н.р.

Завантажити силабус