Презентация Елементи функціонального програмування онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Елементи функціонального програмування абсолютно бесплатно. Урок-презентация на эту тему содержит всего 34 слайда. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Елементи функціонального програмування
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:34 слайда
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:168.00 kB
- Просмотров:42
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![Поняття функц онального](/documents_6/76994748fb066ab766cdfa7a9158602a/img2.jpg)
Содержание слайда: Поняття функціонального програмування
Функціональне програмування - розділ дискретної математики і парадигма програмування, в якій процес обчислення трактується як обчислення значень функцій в математичному розумінні останніх (на відміну від функцій як підпрограм в процедурному програмуванні).
Функціональне програмування передбачає обходитися обчисленням результатів функцій від вихідних даних і результатів інших функцій, і не передбачає явного зберігання стану програми. Відповідно, не передбачає воно і змінність цього стану (на відміну від імперативного, де однією з базових концепцій є змінна, що зберігає своє значення і дозволяє змінювати його в міру виконання алгоритму)
№4 слайд
![Характерн риси функц](/documents_6/76994748fb066ab766cdfa7a9158602a/img3.jpg)
Содержание слайда: Характерні риси функціонального програмування
Рішення задачі записується як сукупність незалежних від зовнішнього стану функцій
Функції як об'єкти першого класу
Імутабельність (незмінюваність) даних
Використання функцій вищого порядку
Каррінг і часткове застосування функцій
№5 слайд
![Функц я як об кт першого](/documents_6/76994748fb066ab766cdfa7a9158602a/img4.jpg)
Содержание слайда: Функція як об'єкт першого класу
Об'єкт називають «об'єктом першого класу», якщо він:
може бути збережений в змінній або структурах даних;
може передаватися в функцію як аргумент;
може бути повернутий з функції як результат;
може бути створений під час виконання програми;
внутрішньо самоідентифікований (незалежний від іменування).
Термін «об'єкт» використовується тут в загальному сенсі, і не обмежується об'єктами мови програмування.
В Python, як і в функціональних мовах, функції є об'єктами першого класу.
№11 слайд
![Замикання Замикання closure У](/documents_6/76994748fb066ab766cdfa7a9158602a/img10.jpg)
Содержание слайда: Замикання
Замикання (closure) У програмуванні - функція, в тілі якої присутні посилання на змінні, оголошені поза тілом цієї функції в навколишньому коді і які не є її параметрами.
У разі замикання посилання на змінні зовнішньої функції дійсні всередині вкладеної функції до тих пір, поки працює вкладена функція, навіть якщо зовнішня функція закінчила роботу, і змінні вийшли з області видимості.
Замикання пов'язує код функції з її лексичним оточенням (місцем, в якому вона визначена в коді). Лексичні змінні замикання відрізняються від глобальних змінних тим, що вони не займають глобальний простір імен. Від змінних в об'єктах вони відрізняються тим, що прив'язані до функцій, а не об'єктів.
В Python будь-які функції (в тому числі і лямбда - вирази), оголошені всередині інших функцій, є повноцінними замиканнями.
№13 слайд
![Функц вищого порядку Функц я](/documents_6/76994748fb066ab766cdfa7a9158602a/img12.jpg)
Содержание слайда: Функції вищого порядку
Функція вищого порядку - функція, що приймає в якості аргументів інші функції або повертає іншу функцію в якості результату. Основна ідея полягає в тому, що функції мають той же статус, що й інші об'єкти даних.
Каррінг (currying) - перетворення функції від багатьох аргументів на функцію, що бере свої аргументи по одному. Це перетворення було введено М. Шейнфінкель і Г. Фреге і отримало свою назву на честь Х. Каррі.
№16 слайд
![Декоратори Декоратор в Python](/documents_6/76994748fb066ab766cdfa7a9158602a/img15.jpg)
Содержание слайда: Декоратори
Декоратор в Python - функція, яка приймає як параметр іншу функцію (або клас) і повертає нову, модифіковану функцію (або клас), яка її замінює.
Крім того, поняття функцій вищого порядку часто застосовується і для створення декораторів: часто потрібно, щоб декоратор брав ще якісь параметри, крім об'єкта що модифікується. В такому випадку створюється функція, що створює і повертає декоратор, а при застосуванні декоратора замість вказівки імені функції-декоратора дана функція викликається.
№19 слайд
![map, filter, reduce Трьома](/documents_6/76994748fb066ab766cdfa7a9158602a/img18.jpg)
Содержание слайда: map, filter, reduce
Трьома класичними функціями вищого порядку, що з'явилися ще в мові програмування LISP, які приймають функцію і послідовність, є map, filter і reduce.
map застосовує функцію до кожного елементу послідовності. В Python 2 повертає список, в Python 3 - об'єкт-ітератор.
filter залишає лише ті елементи послідовності, для яких задана функція істинна. В Python 2 повертає список, в Python 3 - об'єкт-ітератор.
reduce (в Python 2 вбудована, в Python 3 знаходиться в модулі functools) приймає функцію від двох аргументів, послідовність і опціональне початкове значення і обчислює згортку (fold) послідовності як результат послідовного застосування даної функції до поточного значення (так званому акумулятору) і наступному елементу послідовності.
№23 слайд
![Модуль functools Модуль](/documents_6/76994748fb066ab766cdfa7a9158602a/img22.jpg)
Содержание слайда: Модуль functools
Модуль functools містить велику кількість стандартних функцій вищого порядку. Деякі з них :
lru_cache - декоратор, який кешує значення функцій, які не змінюють свій результат при незмінних аргументах; корисний для кешування даних, мемоізаціі (збереження результатів для повернення без обчислення функції) значень рекурсивних функцій (наприклад, такого типу, як функція обчислення n - го числа Фібоначчі) і т. д .;
partial - часткове застосування функції (виклик функції з меншою кількістю аргументів, ніж вона очікує, і отримання функції, яка приймає параметри що залишилися).
№26 слайд
![Модуль itertools Модуль](/documents_6/76994748fb066ab766cdfa7a9158602a/img25.jpg)
Содержание слайда: Модуль itertools
Модуль itertools містить функції для роботи з итераторами і створення ітераторів. Деякі з них :
product - декартовій добуток ітераторів (для уникнення вкладених циклів for);
permutations - генерація перестановок;
combinations - генерація сполучень;
combinations_with_replacement - генерація розміщень;
chain - поєднання декількох ітераторів в один;
takewhile - отримання значень послідовності, поки значення функції - предиката для її елементів істинно;
dropwhile - отримання значень послідовності починаючи з елемента, для якого значення функції - предиката перестане бути істинно.
Скачать все slide презентации Елементи функціонального програмування одним архивом:
Похожие презентации
-
Математичне програмування. Задачі оптимізації. Задача лінійного програмування. Лекція 5
-
Мови програмування
-
Складання та виконання лінійних алгоритмів опрацювання величин в навчальному середовищі програмування. Урок 31
-
Програмування в інтернет. Лекція 2
-
Розробка мовних процесорів мов програмування
-
Знайомство з функціональним програмуванням
-
Програмування мовою С/C
-
Класи і об'єкти у мові програмування C
-
Основи програмування та алгоритмічні мови
-
Мова програмування Java. Потоки виконання. Паралельне виконання. Синхронізація потоків. Взаємодія потоків