Библиотека knigago >> Компьютеры: Языки и системы программирования >> Lisp, Scheme >> Функциональное программирование на языках Лисп, Эрланг


Трилогия "Маг. Школа жизни" Александра Купреева - это захватывающая и хорошо продуманная фэнтезийная сага, которая погружает читателей в мир магии, невзгод и личного роста. Мир Купреева богат и разнообразен, населен яркими и запоминающимися персонажами. Главный герой, Грэг, - обычный парень, который обнаруживает в себе скрытые способности и поступает в престижную Школу жизни. Вместе со своими друзьями и наставниками он сталкивается с множеством испытаний, включая предательство,...

СЛУЧАЙНАЯ КНИГА

П. Ю. Шалимов - Функциональное программирование на языках Лисп, Эрланг

Функциональное программирование на языках Лисп, Эрланг
Книга - Функциональное программирование на языках Лисп, Эрланг.  П. Ю. Шалимов  - прочитать полностью в библиотеке КнигаГо
Название:
Функциональное программирование на языках Лисп, Эрланг
П. Ю. Шалимов

Жанр:

Учебники и пособия ВУЗов, Современные российские издания, Литература ХXI века (эпоха Глобализации экономики), Программирование: прочее, Lisp, Scheme

Изадано в серии:

неизвестно

Издательство:

БГТУ

Год издания:

ISBN:

5-89838-224-0

Отзывы:

Комментировать

Рейтинг:

Поделись книгой с друзьями!

Помощь сайту: донат на оплату сервера

Краткое содержание книги "Функциональное программирование на языках Лисп, Эрланг"

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

Учебное пособие предназначено для студентов всех формы обучения специальностей 010503 «Математическое обеспечение и администрирование информационных систем», 230105 «Программное обеспечение вычислительной техники и автоматизированных систем», а также может быть полезно для лиц, самостоятельно изучающих функциональное программирование.

Ил. 3. Библиогр. — 24 назв.

Читаем онлайн "Функциональное программирование на языках Лисп, Эрланг". [Страница - 4]

способ
составления программ, в которых единственным действием является

10

вызов функции, единственным способом расчленения программы на
части является введение имени для функции, а единственным
правилом композиции − оператор суперпозиции функции. Никаких
ячеек памяти, ни операторов присваивания, ни циклов, ни, тем более,
блок-схем, ни передачи управления». Основной конструкцией в
функциональных языках является символьное выражение (Sвыражение).
К S-выражениям относятся скалярные константы,
структурированные
объекты, функции, тела функций и вызовы функций.
Функция рассматривается как однозначное отображение из
области определения функции в область значений функции, что
полностью соответствует математическому определению функции.
Функциональный язык программирования включает следующие
элементы:
 классы констант, которыми могут манипулировать функции;
 набор базовых (определенных в данной системе) функций,
называемых примитивами;
 правила построения новых функций на основе примитивов;
 правила формирования выражений на основе вызовов функций.
Программа представляет собой совокупность описаний функций
и выражений, которые необходимо вычислить. Заданное в программе
выражение вычисляется посредством редукции − серии упрощений
(параграф 9.1.2) − по следующим правилам:
 вызовы функций-примитивов заменяются соответствующими
значениями;
 вызовы определенных программистом функций заменяются их
телами, в которых параметры замещены аргументами.
В функциональном программировании не используется
концепция «память как хранилище значений переменных»,
характерная для фон-неймановской вычислительной архитектуры
(п.1.1.). Операторы присваивания отсутствуют, вследствие чего
переменные обозначают не области памяти, а объекты программы.
Это полностью соответствует понятию переменной в математике. В
функциональном программировании отсутствуют существенные
различия между константами и функциями, т. е. между данными и
программами. В результате этого функция может быть значением
вызова другой функции, а также элементом структурированного
объекта. Число аргументов при вызове функции не обязательно
должно совпадать с числом параметров, указанных при ее описании.

11

Таким образом, функциональные языки можно определить как языки
сверхвысокого уровня по отношению к языкам высокого уровня.
Логическое программирование основывается на понятии
отношения (реляция), поэтому существует другое название
логического программирования – реляционное программирование.
Программа логического программирования представляет собой
совокупность определений отношений между объектами и цели.
Процесс
выполнения
логической
программы
рассматривается как процесс установления общезначимости
логической формулы, построенной по правилам, установленным
семантикой используемого языка. Результат вычисления
является побочным продуктом этого процесса.
В логическом программировании необходимо только
специфицировать факты, описывающие задачу, а не определять
последовательность шагов, которые требуется выполнить. Это
означает
декларативный
характер
языков
логического
программирования, которые отличаются:
 высоким уровнем;
 строгой ориентацией на символьные вычисления;
 возможностью инверсных вычислений, при которых переменные в
процедурах не делятся явно на входные и выходные.
Логическое
программирование
не
эффективно
с
вычислительной точки зрения. Программы на языке логического
программирования имеют небольшое быстродействие, так как
вычисления осуществляются методом проб и ошибок, поиском с
возвратами к предыдущим шагам.
Несмотря
на
это,
логическое
программирование
предпочтительно именно с точки зрения приближения к
декларативной парадигме программирования. Наиболее эффективно
логическое программирование при решении неформальных задач,
задач, алгоритм решения которых неизвестен или получение
алгоритма сопряжено с большими затратами рабочего времени
высококвалифицированного специалиста. В этом случае описание
задачи в терминах того, что необходимо получить, приводит к цели с
наименьшими затратами рабочего времени. Наибольшее число
описанных задач относится к задачам --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.