Функциональное программирование. Бождай А.С. - 5 стр.

UptoLike

Составители: 

5
4.2. Содержание разделов дисциплины
Введение
Задачи курса. Поколения языков программирования. Императив-
ный, объектно-ориентированный, логический и функциональный подхо-
ды к программированиюдостоинства, недостатки и основные характе-
ристики.
Общие сведения о функциональном подходе
к программированию.
Понятие функции и функциональной программы. История разви-
тия языков функционального программирования. Программирование
при помощи функций. Программирование при помощи процедур.
Строго функциональный язык.
Символьные данные и S-выражения. Типизация в функциональ-
ных языках. Строгая типизация. Списки и деревья. Элементарные селек-
торы и конструкторы с примерами применения. Элементарные предика-
ты и арифметика с примерами применения. Рекурсивные функции. При-
меры применения рекурсивных функций на различных задачах обработ-
ки списков. Проблема выбора подфункций. Проблема модульности
функциональной программы.
Возможность накапливающих параметров
на примере инверсии списка. Локальные определения в функциональ-
ных программах. Лямбда-исчисление А. Черчатеоретические сведения
и машинная реализация. Точечная запись выражений.
Основы функционального программирования на языке Has-
kell
Синтаксис и особенности языка функционального программиро-
вания Haskell 98. Стандартные классы Haskell и типы данных. Конст-
рукторы типов и конструкторы данных. Полиморфные типы и поли-
морфные функции с примерами применения. Типы, определяемые поль-
зователем. Понятие и принцип действия механизма pattern-matching (со-
ответствия образцу). Функции как объекты первого класса (first-class ob-
jects). Сигнатура типа функции. Понятие карривых и
некарривых функ-
ций. Инфиксные оераторы. Синонимы типов как средство повышения
читабельности функциональных программ. Включение списков и ариф-
метические последовательности. Генераторы. Лямбда-абстракции в Has-
kell. Функции высших порядков в Haskell. Отложенные вычисления.
Механизмы организации массивов в Haskell и простейшие примеры их
обработки. Примеры организации более сложных программ.
4.2. Содержание разделов дисциплины

                             Введение
      Задачи курса. Поколения языков программирования. Императив-
ный, объектно-ориентированный, логический и функциональный подхо-
ды к программированию – достоинства, недостатки и основные характе-
ристики.

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

                     Строго функциональный язык.
      Символьные данные и S-выражения. Типизация в функциональ-
ных языках. Строгая типизация. Списки и деревья. Элементарные селек-
торы и конструкторы с примерами применения. Элементарные предика-
ты и арифметика с примерами применения. Рекурсивные функции. При-
меры применения рекурсивных функций на различных задачах обработ-
ки списков. Проблема выбора подфункций. Проблема модульности
функциональной программы. Возможность накапливающих параметров
на примере инверсии списка. Локальные определения в функциональ-
ных программах. Лямбда-исчисление А. Черча – теоретические сведения
и машинная реализация. Точечная запись выражений.

         Основы функционального программирования на языке Has-
                                 kell
       Синтаксис и особенности языка функционального программиро-
вания Haskell 98. Стандартные классы Haskell и типы данных. Конст-
рукторы типов и конструкторы данных. Полиморфные типы и поли-
морфные функции с примерами применения. Типы, определяемые поль-
зователем. Понятие и принцип действия механизма pattern-matching (со-
ответствия образцу). Функции как объекты первого класса (first-class ob-
jects). Сигнатура типа функции. Понятие карривых и некарривых функ-
ций. Инфиксные оераторы. Синонимы типов как средство повышения
читабельности функциональных программ. Включение списков и ариф-
метические последовательности. Генераторы. Лямбда-абстракции в Has-
kell. Функции высших порядков в Haskell. Отложенные вычисления.
Механизмы организации массивов в Haskell и простейшие примеры их
обработки. Примеры организации более сложных программ.



                                     5