Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Предикат в Лиспе - это функция,которая определяет обладает ли аргумент определенным свойством, и возвращает в качестве значения T или NIL.




ДЖОН АВ13 В54 10А

Символьный атом или символ - это не идентификатор переменой в обычном языке программирования. Символ как правило обозначает какой либо предмет, объект, вещь, действие.

Символьный атом рассматривается как неделимое целое.

К символьным атомам применяется только одна операция - сравнение.

 

 

5. Что такое чистый функциональный язык? Пример чистого и «нечистого» языка.

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

 

В качестве примера чистого функционального языка можно привести Haskell. Однако большинство функциональных языков являются гибридными и содержат свойства как функциональных, так и императивных языков. Яркие примеры — языки Scala и Nemerle. В них органично сочетаются характеристики как объектно-ориентированных языков, так и функциональных.

 

6. Как отразился на функциональных языках тот факт, что лямбда-исчисление было придумано математиком?

 

7. Бесконечные структуры данных: где возможно использовать.

Ленивые языки позволяют определять бесконечные структуры данных, что в энергичных языках сделать гораздо тяжелее. Например, рассмотрим список чисел Фибоначчи. Мы, очевидно, не можем вычислить бесконечный список за конечное время или сохранить его в памяти. В таких строгих языках, как Ява, мы просто определяем функцию, возвращающую определённое число из этой последовательности. В языке, подобном Хаскелю, мы можем переместиться на следующую ступеньку абстракции и просто определить бесконечный список чисел Фибоначчи. Поскольку язык ленивый, то на самом деле будут использованы только те элементы, которые реально использовались в программе. Этот приём позволяет избежать множества проблем и мелких частных случаев, и даёт возможность взглянуть на вещи с более общей точки зрения (например, можно использовать стандартные списочные функции для обработки бесконечных списков).

8. Что такое предикат? Какие из перечисленных функций являются предикатами: atom, listp, list, car, append?

Предикат в Лиспе - это функция,которая определяет обладает ли аргумент определенным свойством, и возвращает в качестве значения T или NIL.

ATOM проверяет, является ли аргумент атомом. Значение будет Т, если атом, и nil в обратном случае: (atom 'x)

 

9. Что такое взаимная рекурсия?

взаимную рекурсию, когда в определении функции f вызывается некоторая функция g, которая в свою очередь содержит вызов функции f:

(… defmethod f …
  (… g …) …)
(… defmethod g …
  (… f …) …)

 

Рекурсия является взаимной между двумя или более функциями, если они вызывают друг друга.

 

10. Что называют функциями с побочными эффектами?

Функции set и setq обладают и побочным эффектом. Эффект функции состоит в образовании связи между символом и его значением, а значением функции является связываемое значение. Символ остаётся связанным с определённым значением до тех пор, пока это значение не изменят.
  В Лиспе все действия возвращают некоторое значение. Значение имеется даже у таких действий, основное предназначение которых заключается в осуществлении побочного эффекта, таких, например, как связывание символа или вывод результатов на печать. Функции, обладающие побочным эффектом, в Лиспе называют псевдофункциями.

11. Чем отличаются S-выражения и списки?

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

S-выражение (Simbolic expresion) - основная структура данных
в ЛИСПе.

(ДЖОН СМИТ 33 ГОДА) \ S-ВЫРАЖЕНИЯ ((МАША 21) (ВАСЯ 24) (ПЕТЯ 1)) /

S-выражение - это либо атом, либо список.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных