kopilkaurokov.ru - сайт для учителей

Создайте Ваш сайт учителя Курсы ПК и ППК Видеоуроки Олимпиады Вебинары для учителей

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

Нажмите, чтобы узнать подробности

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

Вы уже знаете о суперспособностях современного учителя?
Тратить минимум сил на подготовку и проведение уроков.
Быстро и объективно проверять знания учащихся.
Сделать изучение нового материала максимально понятным.
Избавить себя от подбора заданий и их проверки после уроков.
Наладить дисциплину на своих уроках.
Получить возможность работать творчески.

Просмотр содержимого документа
«Особенности функционального программирования»

Особенности функционального программирования Выполнила: студентка группы МДИ-117 Уварова О.В

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

Выполнила:

студентка группы МДИ-117

Уварова О.В

Функциональное программирование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании) Определение понятия

Функциональное программирование — раздел дискретной математики и парадигма программирования, в которой процесс вычисления трактуется как вычисление значений функций в математическом понимании последних (в отличие от функций как подпрограмм в процедурном программировании)

Определение понятия

Из истории   Традиционное программирование родилось в 40-х годах 20 века, когда велась разработка первых электронно-вычислительных машин (ЭВМ). Его основой послужила концепция фон Неймана о хранимой программе автоматических вычислений по заданному алгоритму.

Из истории

Традиционное программирование родилось в 40-х годах 20 века, когда велась разработка первых электронно-вычислительных машин (ЭВМ).

Его основой послужила концепция фон Неймана о хранимой программе автоматических вычислений по заданному алгоритму.

Из истории   В конце 50-х годов 20 века появились первые языки программирования высокого уровня, в них уже произошел существенный отход от принципов фон Неймана. Во-первых, программа раз и навсегда была отделена от данных. Во-вторых, во время исполнения программы ее текст оставался неизменным, а организация циклического повторения команд в ходе исполнения программы была возложена на систему 5 программирования, которая уже и должна была перевести (транслировать) текст программы в систему команд компьютера так, чтобы ее исполнение происходило в соответствии с написанным текстом.

Из истории

В конце 50-х годов 20 века появились первые языки программирования высокого уровня, в них уже произошел существенный отход от принципов фон Неймана.

Во-первых, программа раз и навсегда была отделена от данных.

Во-вторых, во время исполнения программы ее текст оставался неизменным, а организация циклического повторения команд в ходе исполнения программы была возложена на систему 5 программирования, которая уже и должна была перевести (транслировать) текст программы в систему команд компьютера так, чтобы ее исполнение происходило в соответствии с написанным текстом.

Из истории   Почти одновременно с первым

Из истории

Почти одновременно с первым "традиционным" языком программирования – Фортраном появился еще один совершенно непохожий на него язык программирования – Лисп, для которого последовательность выполнения отдельных частей написанной программы была несущественной. Ветвь программирования, начатая созданием Лиспа, понемногу развивалась с начала 60-х годов 20 века и привела к появлению целой плеяды очень своеобразных языков программирования, которые удовлетворяли всем требованиям, необходимым для исполнения программ несколькими параллельными процессорами.

1. Алгоритмы, записанные с помощью этих языков, допускают сравнительно простой анализ и формальные преобразования программ.

2. Отдельные части программ могут исполняться независимо друг от друга. Языки, обладающие такими замечательными свойствами – это и есть языки функционального программирования.

Особенности функционального программирования   Основной особенностью функционального программирования, определяющей как преимущества, так и недостатки данной парадигмы, является то, что в ней реализуется  модель вычислений без состояний .

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

Основной особенностью функционального программирования, определяющей как преимущества, так и недостатки данной парадигмы, является то, что в ней реализуется  модель вычислений без состояний .

1. Вызов функций является единственной разновидностью действий, выполняемых в функциональной программе 2. В алгоритмических языках  программа  является последовательностью операторов, вызовов процедур в соответствии с алгоритмом. В функциональном программировании программа состоит из вызовов функций (рис. 1) и описывает то, что нужно делать и что собой представляет результат решения, а не как нужно действовать для получения результата.
  • 1. Вызов функций является единственной разновидностью действий, выполняемых в функциональной программе
  • 2. В алгоритмических языках программа является последовательностью операторов, вызовов процедур в соответствии с алгоритмом. В функциональном программировании программа состоит из вызовов функций (рис. 1) и описывает то, что нужно делать и что собой представляет результат решения, а не как нужно действовать для получения результата.

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

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

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

  • 3. Основными методами программирования являются суперпозиция функций и рекурсия .
  • 4. Функциональное программирование - есть программирование, управляемое данными. В строго функциональном языке однажды созданные (введенные) данные не могут быть изменены!
  • 5. В алгоритмических языках с именем переменной связана некоторая область памяти, соответствие строго сохраняется в течение всего времени выполнения программы. В функциональном программировании переменная обозначает только имя некоторой структуры, имена символов, переменных, списков, функций и других объектов не закреплены предварительно за какими-либо типами данных. В ФП одна и та же переменная в различные моменты времени может представлять различные объекты.
Особенности функционального программирования

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

  • 6. В языках функционального программирования программа и обрабатываемые ею данные имеют единую списочную форму представления .
  • 7. Функциональное программирование предполагает наличие функционалов – функций, аргументы и результаты которых могут быть функциями.
  • Всякий язык функционального программирования предполагает наличие ядра, называемого строго функциональным языком.
Сильные стороны

Сильные стороны

  • Повышение надёжности кода
  • Удобство организации модульного тестирования
  • Возможности оптимизации при компиляции
  • Возможности параллелизма
Недостатки Вытекают из его особенностей. Отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора. Нестрогая модель вычислений приводит к непредсказуемому порядку вызова функций, что создает проблемы при вводе-выводе, где порядок выполнения операций важен.

Недостатки

Вытекают из его особенностей.

Отсутствие присваиваний и замена их на порождение новых данных приводят к необходимости постоянного выделения и автоматического освобождения памяти, поэтому в системе исполнения функциональной программы обязательным компонентом становится высокоэффективный сборщик мусора.

Нестрогая модель вычислений приводит к непредсказуемому порядку вызова функций, что создает проблемы при вводе-выводе, где порядок выполнения операций важен.


Получите в подарок сайт учителя

Предмет: Информатика

Категория: Прочее

Целевая аудитория: 11 класс

Скачать
Особенности функционального программирования

Автор: Уварова О.В

Дата: 04.11.2021

Номер свидетельства: 590458

Похожие файлы

object(ArrayObject)#851 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(86) "Особенности функционального программирования"
    ["seo_title"] => string(45) "osobennosti_funktsionalnogo_programmirovaniia"
    ["file_id"] => string(6) "589889"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(11) "presentacii"
    ["date"] => string(10) "1635416398"
  }
}
object(ArrayObject)#873 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(214) "Эффективность использования  развитие функциональной грамотности на пути повышения качества обучения обучающихся "
    ["seo_title"] => string(130) "effiektivnost-ispol-zovaniia-razvitiie-funktsional-noi-ghramotnosti-na-puti-povyshieniia-kachiestva-obuchieniia-obuchaiushchikhsia"
    ["file_id"] => string(6) "129096"
    ["category_seo"] => string(10) "matematika"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1415635136"
  }
}
object(ArrayObject)#851 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(48) "Конспект урока на тему "CMS" "
    ["seo_title"] => string(28) "konspiekt-uroka-na-tiemu-cms"
    ["file_id"] => string(6) "209443"
    ["category_seo"] => string(11) "informatika"
    ["subcategory_seo"] => string(5) "uroki"
    ["date"] => string(10) "1431170012"
  }
}
object(ArrayObject)#873 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(49) "Если ваш ребенок леворукий"
    ["seo_title"] => string(31) "iesli-vash-riebienok-lievorukii"
    ["file_id"] => string(6) "314353"
    ["category_seo"] => string(21) "doshkolnoeObrazovanie"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1459682499"
  }
}
object(ArrayObject)#851 (1) {
  ["storage":"ArrayObject":private] => array(6) {
    ["title"] => string(239) "«Использование информационных технологий  на занятиях   по развитию    психомоторики  и  сенсорных   процессов у обучающихся с ОВЗ» "
    ["seo_title"] => string(141) "ispol-zovaniie-informatsionnykh-tiekhnologhii-na-zaniatiiakh-po-razvitiiu-psikhomotoriki-i-siensornykh-protsiessov-u-obuchaiushchikhsia-s-ovz"
    ["file_id"] => string(6) "134960"
    ["category_seo"] => string(13) "vsemUchitelam"
    ["subcategory_seo"] => string(7) "prochee"
    ["date"] => string(10) "1416838309"
  }
}


Получите в подарок сайт учителя

Видеоуроки для учителей

Курсы для учителей

ПОЛУЧИТЕ СВИДЕТЕЛЬСТВО МГНОВЕННО

Добавить свою работу

* Свидетельство о публикации выдается БЕСПЛАТНО, СРАЗУ же после добавления Вами Вашей работы на сайт

Удобный поиск материалов для учителей

Проверка свидетельства