Вітаю Вас Гість | RSS

Сайт викладача кафедри ІПІ ФІОТ Баклана Ігоря Всеволодовича

Субота, 27.04.2024, 17:03

МУЛЬТИПАРАДИГМЕННЕ ПРОГРАМУВАННЯ

Весна 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)

Лекція №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: Навчальний посібник

Определение языка R

Лекція №13 (27 листопада 2018) pdf

Лекція №14 (4 грудня 2018) pdf

СИСТЕМА АЛГЕБРАИЧЕСКОГО И ИНСЕРЦИОННОГО ПРОГРАММИРОВАНИЯ АПС \ A.A. Летичевский, Ю.В. Kaпитонова, В.A. Вoлков, A. Чугаенко, В. Хоменко

 

До 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

Електронні книги по Clojure

 

NEW!!! Лекція 22.11.2017 Матеріали до лекції (pdf) Функціональний C#

NEW!!! Приёмы функционального программирования в обычном JavaScript

NEW!!! Майкрософтный взгляд: Сравнение функционального и императивного программирования

 

Цикл лекцій "Логічне програмування. Prolog"

Лекція №10-11 pdf

Лекція №12-13 pdf1 pdf2

Логічне програмування на Prolog - Max Bramer "Logic Programming with Prolog" (2005)

Книги про Prolog читати вільно online

Ілюстрований курс лекцій логічного програмування

 

Цикл лекцій "Ймовірнісне програмування. Мови Church та Anglican.

Лекція №14

Лекція №15

Сайт ЙМОВІРНІСНЕ ПРОГРАМУВАННЯ

Сайт мови Anglican

 

 

Лабораторні роботи

Цикл лабораторних робіт "Функціональне програмування. 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