МУЛЬТИПАРАДИГМЕННЕ ПРОГРАМУВАННЯ
Весна 2022 року
Лекції
Лекція №1. Парадигми програмування і мультипарадигменні мови pdf
Лекція №2. Лисповидна мова Racket pdf
Лекція №3. Функціональна мова Lisp pdf
Лекція №4. Функціональна мова Lisp (закінчення) pdf
2020-2021 навчальний рік
ЛЕКЦІЇ
36 годин
Лекція 1. Введення до мультипарадигменного програмування pdf
Лекція 2. Парадигма логічного програмування pdf
Лекція 3. Введення до мови Пролог pdf
Лекція 4. Програмування на мові Пролог pdf
Лекція 5. Програмування на мові Пролог (закінчення). Логічне програмування на продукціях pdf
Лекція 6. Продукційне програмування на CLIPS pdf
Лекція 7. Програмування фактів і правил на CLIPS pdf
Лекція 8. Основи парадигми нечіткого програмування pdf
Лекція 9. Ймовірнісне програмування pdf
Лекція 10. Мови ймовірнісного програмування. Перелік існуючих мов ймовірнісного програмування з посиланнями (en) pdf
Самостійна робота! Ознайомитися з мовами з переліку вище і запропонувати їх стислий опис та класифікацію за власними критеріями. Подати матеріал у вигляді реферату.
Лекція 11. Програмування ймовірнісних моделей в Figaro pdf
Лекція 12. Мультипарадигменна мова ймовірнісного програмування R pdf
Лекція 13. Гібридізація мов програмування. Мультипарадигменна мова програмування OCaml pdf
Лекція 14. Принципи мультипарадигменого програмування на мові OCaml pdf
Лекція 15. Принципи мультипарадигменого програмування на мові OCaml (завершення) pdf
New! Лекція 16. Мультипарадигмена мова програмування Oz pdf
Лекція 17. Функціональне, об'єкто-орієнтоване та логічне програмування на мові Oz pdf
ЛАБОРАТОРНІ РОБОТИ
36 годин
№1 pdf
Додаткові матеріали до лабораторної роботи №1 pdf
№2 pdf
КОНТРОЛЬНІ РОБОТИ
№1
№2
2019-2020 навчальний рік
ЛЕКЦІЇ
Лекція №1. Введення в парадигми програмування (7 вересня 2019)
- An Introduction to Programming Paradigms
-
Programming Paradigms
- Introduction of Programming Paradigms
Лекція №2. Математичні основи парадигм програмування.
2018-2019 навчальний рік
Лекція №5-6 (16 жовтня 2018). Функціональне програмування на Python pdf
Лекція №7 (23 жовтня 2018). Рекурсія в Python pdf
Лекція №8-9 (30 жовтня 2018). Правила написання функцій в Python. Спеціалізовані функції pdf
PYTHON FOR BIOINFORMATICS - SECOND EDITION - SEBASTIAN BASSI
Плас Дж.В. Python для сложных задач. Наука о данных и машинное обучение
Мюллер А., Гидо С. Введение в машинное обучение с помощью Python
Лекція №10-11 (6, 13 листопаду 2018). Ймовірнісне програмування pdf
Лекція №12 (20 листопаду 2018). Ймовірнісне програмування. Мова програмування R pdf
Майборода Р.Є., Сугакова О.В. Аналіз даних за допомогою пакета R: Навчальний посібник
Лекція №13 (27 листопада 2018) pdf
Лекція №14 (4 грудня 2018) pdf
До 60-річчя створення LISP: Спогади про автора мови LISP - JOHN M C CARTHY (September 4, 1927–October 24, 2011) pdf
Лабораторні роботи на Python lr#5, lr#6, lr#7
Цикл лабораторних робіт "Логічне програмування. Prolog" (3 лаб.)
Лабораторні роботи №8-10 pdf
SWI-Prolog 5.6. Reference Manual pdf
GNU PROLOG pdf
2017-2018 навчальний рік
МОДУЛЬНА КОНТРОЛЬНА РОБОТА №1
Завдання: На Лісп написати функцію (ОДНУ) , яка реалізує суперпозицію теоретико-множинних операцій у відповідності до варіанта з таблиці.
А, B, C, D - списки. В функції передбачити перетворення списків (можливо й складної структури) до вигляду множин з подальшим виконанням операцій над ними.
Для написання функції використовувати виключно функції з базового набору (CDR, CAR, COND, EQUAL, LIST, CONS, LISTP, NULL). Не використовуйте функції IF, INTERSECTION, DIRRERENCE, UNION та інші, що не є базовими.
Для облегчення завдання намалюйте діаграму Венна варіанту.
Надіслати на електронну пошту лісп-файл та звіт результатів застосування вашої функції до різних варіантів значень параметрів (в тому числі коли вони пусті списки) до 10-00 1 листопада 2017 року.
1 |
(A ∩ B) – (C ∩ D) |
2 |
(A ∩ (B – C)) ∩ D |
3 |
((A ∩ B) – C) ∩ D |
4 |
A ∩ (B – (C ∩ D)) |
5 |
A ∩ ((B – C) ∩ D) |
6 |
(A υ B) – (C υ D) |
7 |
(A υ (B – C)) υ D |
8 |
((A υ B) – C) υ D |
9 |
A υ (B – (C υ D)) |
10 |
A υ ((B – C) υ D) |
11 |
(A ∩ B) υ (C ∩ D) |
12 |
(A ∩ (B υ C)) ∩ D |
13 |
((A ∩ B) υ C) ∩ D |
14 |
A ∩ (B υ (C ∩ D)) |
15 |
A ∩ ((B υ C) ∩ D) |
16 |
(A - B) υ (C - D) |
17 |
(A - (B υ C)) - D |
18 |
((A - B) υ C) - D |
19 |
A - (B υ (C - D)) |
20 |
A - ((B υ C) - D) |
21 |
(A - B) ∩ (C - D) |
22 |
(A - (B ∩ C)) - D |
23 |
((A - B) ∩ C) - D |
24 |
A - (B ∩ (C - D)) |
25 |
A - ((B ∩ C) - D) |
Лекції
Цикл лекцій "Функціональне програмування. Lisp"
Лекція №1. Парадигми програмування. Історія створення. Введення до функціонального програмування
Література до 1 лекції:
1. Peter Van Roy. The principal programming paradigms (2008). pdf
2. R. W. Floyd. The Paradigms of Programming Communications of the ACM, 22(8):455—460, 1979. Русский перевод см. в кн.: Лекции лауреатов премии Тьюринга за первые двадцать лет (1966—1985), М.: МИР, 1993.
3. Concepts, Techniques, and Models of Computer Programming pdf
Лекція №2 pdf
Лекція №3 pdf
Лекція №4 pdf
Лекція 5. λ -числення Черча. Рекурсія. Приклади функціонального програмування.
Лекції "Функціональне програмування. Clojure"
Лекція №6-7 v.1 pdf
Лекція №6-7 v.2 pdf
Лекція №8-9 v.2 pdf
Відео-лекції по Clojure (17 годин)
Clojure Programming - Wikibooks
NEW!!! Лекція 22.11.2017 Матеріали до лекції (pdf) Функціональний C#
NEW!!!
NEW!!! Майкрософтный взгляд: Сравнение функционального и императивного программирования
Цикл лекцій "Логічне програмування. Prolog"
Лекція №10-11 pdf
Логічне програмування на Prolog - Max Bramer "Logic Programming with Prolog" (2005)
Книги про Prolog читати вільно online
Ілюстрований курс лекцій логічного програмування
Цикл лекцій "Ймовірнісне програмування. Мови Church та Anglican.
Лекція №14
Лекція №15
Сайт ЙМОВІРНІСНЕ ПРОГРАМУВАННЯ
Лабораторні роботи
Цикл лабораторних робіт "Функціональне програмування. Lisp" (4 лаб.)
Лабораторна робота №1. Функціональне програмування на LISP. pdf
Лабораторна робота №2. Рекурсія на LISP pdf
Лабораторна робота №3. Локальні визначення та функціонали pdf
Лабораторна робота №4. Моделювання роботи системи управління базами даних pdf
Лабораторні роботи "Функціональне програмування. Clojure" (2 лаб.)
Лабораторна робота №5.
Лабораторна робота №6.
Приклади на Clojure pdf
Цикл лабораторних робіт "Логічне програмування. Prolog" (3 лаб.)
Лабораторні роботи №7-9 pdf
SWI-Prolog 5.6. Reference Manual pdf
GNU PROLOG pdf