🗊Презентация Определение и краткая история функционального программирования

Нажмите для полного просмотра!
Определение и краткая история функционального программирования, слайд №1Определение и краткая история функционального программирования, слайд №2Определение и краткая история функционального программирования, слайд №3Определение и краткая история функционального программирования, слайд №4Определение и краткая история функционального программирования, слайд №5Определение и краткая история функционального программирования, слайд №6Определение и краткая история функционального программирования, слайд №7Определение и краткая история функционального программирования, слайд №8Определение и краткая история функционального программирования, слайд №9Определение и краткая история функционального программирования, слайд №10Определение и краткая история функционального программирования, слайд №11Определение и краткая история функционального программирования, слайд №12

Вы можете ознакомиться и скачать презентацию на тему Определение и краткая история функционального программирования. Доклад-сообщение содержит 12 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Факультет инноваций и высоких технологий
Факультет инноваций и высоких технологий
Московский физико-технический институт
Описание слайда:
Факультет инноваций и высоких технологий Факультет инноваций и высоких технологий Московский физико-технический институт

Слайд 2





Лекция 1
Определение и краткая история функционального программирования
Описание слайда:
Лекция 1 Определение и краткая история функционального программирования

Слайд 3





Майкрософт Россия, академический евангелист
Майкрософт Россия, академический евангелист
Кандидат физ.-мат. наук
Распределенные интеллектуальные системы с явным представлением знаний
Интеллектуальная реструктуризация социальных сетей на основе онтологий
Семантически-ориентированые системы (Semantic Wiki)
Кафедра Вычислительной математики и программирования МАИ (доцент)
Логическое программирование
Искусственный интеллект
Студенческая лаборатория MAILabs (www.mailabs.ru)
ФИВТ
Описание слайда:
Майкрософт Россия, академический евангелист Майкрософт Россия, академический евангелист Кандидат физ.-мат. наук Распределенные интеллектуальные системы с явным представлением знаний Интеллектуальная реструктуризация социальных сетей на основе онтологий Семантически-ориентированые системы (Semantic Wiki) Кафедра Вычислительной математики и программирования МАИ (доцент) Логическое программирование Искусственный интеллект Студенческая лаборатория MAILabs (www.mailabs.ru) ФИВТ

Слайд 4





Assembler (x86, …)
Assembler (x86, …)
C, C++, C#, Java
Pascal
…
Brainfuck?
FORTH?
LISP, FP, ML, Haskell, OCaml, F#, …
Описание слайда:
Assembler (x86, …) Assembler (x86, …) C, C++, C#, Java Pascal … Brainfuck? FORTH? LISP, FP, ML, Haskell, OCaml, F#, …

Слайд 5


Определение и краткая история функционального программирования, слайд №5
Описание слайда:

Слайд 6





Парадигма программирования, которая рассматривает выполнение программы как вычисление математических функций (выражений)
Парадигма программирования, которая рассматривает выполнение программы как вычисление математических функций (выражений)
Неизменяемые данные, нет состояния среды
Стиль программирования, позволяющий писать программы, свободные от ошибок
Язык программирования F# (и целое семейство «странных» языков вместе с ним: ML, Haskell, …)
Описание слайда:
Парадигма программирования, которая рассматривает выполнение программы как вычисление математических функций (выражений) Парадигма программирования, которая рассматривает выполнение программы как вычисление математических функций (выражений) Неизменяемые данные, нет состояния среды Стиль программирования, позволяющий писать программы, свободные от ошибок Язык программирования F# (и целое семейство «странных» языков вместе с ним: ML, Haskell, …)

Слайд 7





Императивное – мы говорим компьютеру, как решать задачу (что делать)
Императивное – мы говорим компьютеру, как решать задачу (что делать)
Основной акцент – манипулирование ячейками памяти
Оператор присваивания
Функции как способ декомпозиции задачи на более простые
Описание слайда:
Императивное – мы говорим компьютеру, как решать задачу (что делать) Императивное – мы говорим компьютеру, как решать задачу (что делать) Основной акцент – манипулирование ячейками памяти Оператор присваивания Функции как способ декомпозиции задачи на более простые

Слайд 8





Первый язык программирования высокого уровня – ФОРТРАН – был создан Дж.Бэкусом, чтобы математики могли программировать на уровне формул.
Первый язык программирования высокого уровня – ФОРТРАН – был создан Дж.Бэкусом, чтобы математики могли программировать на уровне формул.
Описание слайда:
Первый язык программирования высокого уровня – ФОРТРАН – был создан Дж.Бэкусом, чтобы математики могли программировать на уровне формул. Первый язык программирования высокого уровня – ФОРТРАН – был создан Дж.Бэкусом, чтобы математики могли программировать на уровне формул.

Слайд 9





Позже Дж.Бэкус пошел дальше и предложил язык FP, в котором формулы более соответствовали математическому понятию функции
Позже Дж.Бэкус пошел дальше и предложил язык FP, в котором формулы более соответствовали математическому понятию функции
Описание слайда:
Позже Дж.Бэкус пошел дальше и предложил язык FP, в котором формулы более соответствовали математическому понятию функции Позже Дж.Бэкус пошел дальше и предложил язык FP, в котором формулы более соответствовали математическому понятию функции

Слайд 10





Вычисление факториала:
Вычисление факториала:
Описание слайда:
Вычисление факториала: Вычисление факториала:

Слайд 11





Определение функции похоже на математическое определение факториала
Определение функции похоже на математическое определение факториала
Функциональное программирование имеет очень четкую математическую основу
Рассуждение о программах: доказательство корректности, …
Определение последовательности действий – рекурсивно
При умелом программировании не ведет к падению эффективности (компилятор сводит к итерации)
Отсутствует оператор присваивания
let имеет другую семантику – связывание имен
Будучи один раз связанным, имя не может менять свое значение (в рамках области видимости)
А это значит – нет побочных эффектов!
Раз в императивной программе 90% - это операторы присваивания, то функциональные программы на 90% короче!
Описание слайда:
Определение функции похоже на математическое определение факториала Определение функции похоже на математическое определение факториала Функциональное программирование имеет очень четкую математическую основу Рассуждение о программах: доказательство корректности, … Определение последовательности действий – рекурсивно При умелом программировании не ведет к падению эффективности (компилятор сводит к итерации) Отсутствует оператор присваивания let имеет другую семантику – связывание имен Будучи один раз связанным, имя не может менять свое значение (в рамках области видимости) А это значит – нет побочных эффектов! Раз в императивной программе 90% - это операторы присваивания, то функциональные программы на 90% короче!

Слайд 12





Это не «чистая» императивная программа.
Это не «чистая» императивная программа.
В «чистых» императивных языках (ФОРТРАН) нет рекурсии
Нет операторов присваивания 
«:= » -это возврат результата из функции, а не присваивание
Описание слайда:
Это не «чистая» императивная программа. Это не «чистая» императивная программа. В «чистых» императивных языках (ФОРТРАН) нет рекурсии Нет операторов присваивания «:= » -это возврат результата из функции, а не присваивание



Похожие презентации
Mypresentation.ru
Загрузить презентацию