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

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

Середа, 03.07.2024, 02:14

Дисципліна "ДЕКЛАРАТИВНЕ ПРОГРАМУВАННЯ"

УВАГА! МОДУЛЬНА КОНТРОЛЬНА РОБОТА!!! 21 КВІТНЯ 2017

Умови контрольної дивитися внизу сторінки.

Звіт та модулі надіслати на електронну пошту вкладача до 10-00 27.04.2017.

Напрямок "Комп'ютерні науки" (весна 2017)

Лекції

Цикл лекцій "Функціональне програмування. Lisp"

Лекція №1 pdf

Лекція №2 pdf (new) pdf (old)

Лекція №3 pdf (new!) pdf (old)

Лекція №4 pdf

Лекція №5 pdf

Опис мови Common Lisp системи LispWorks

Вікіпідручник по Ліспу

Лекції "Функціональне програмування. F#"

Лекція №6 pdf

Лекція №7 pdf

Лекції "Функціональне програмування. Clojure"

lkЛекція №8 pdf(old)

Лекція №9 pdf(old)

Лекція №9-10 pdf (new!)

Для скептиків типу "навіщо нам Clojure" Рекомендую зайти на сторінку attendify

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

Лекція №10-11 pdf

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

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

Лекція №14

Лекція №15

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

Сайт мови Anglican

Цикл лекцій "Продукційне програмування. CLIPS"

Лекція №14 pdf1, pdf2

Лекція №15 pdf1, pdf2, pdf3, pdf4

Лекція №16 pdf

 

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

Он-лайн програмування на Clojure

Цикл лабораторних робіт "Функціональне програмування. Lisp" (4 лаб.)

Лабораторна робота №1 pdf

Лабораторна робота №2 pdf

Лабораторна робота №3 pdf

Лабораторна робота №4 pdf

Лабораторні роботи "Функціональне програмування. F#" (2 лаб.)

Лабораторна робота №5 pdf

Лабораторна робота №6 pdf

Программирование на F#

Лабораторні роботи "Функціональне програмування. Clojure" (2 лаб.)

Лабораторна робота №7 pdf

Лабораторна робота №8-9 pdf

Приклади на Clojure pdf

Цикл лабораторних робіт "Логічне програмування. Prolog" (4 лаб.)

Лабораторні роботи №10-13 pdf

SWI-Prolog 5.6. Reference Manual pdf

GNU PROLOG pdf

 

Цикл лабораторних робіт "Продукційне програмування. CLIPS" (2 лаб.)

Лабораторна робота №14-15

 

УВАГА! МОДУЛЬНА КОНТРОЛЬНА РОБОТА. 

A, B, C та D – множини.

Завдання написати функцію, яка реалізує наступну послідовність теоретико-множинних дій (№ варіанту):

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)

Завдання повинно виконуватися у вигляді однієї функції з використанням рекурсії.

Забороняється використовувати функції member, union, intersection…

Реалізація повинна бути виконана на мовах декларативного програмування Lisp, F#, Clojure (на підвищену оцінку), Prolog.  

В звіті з МКР повинна бути відображена діаграма Венна індивідуального завдання, опис логіки програми для кожної мови програмування (текст програми з коментарями) та скріншоти виконання функції на одному й тому же прикладі для всіх чотирьох мов.

Звіт з МКР та файли з програмами надіслати на e-mail викладача до 10-00   27 квітня 2017  року.

Розрахунково-графічна робота (РГР)

Методичні рекомендації щодо виконання РГР pdf