[Закрыть]
 
popoff.donetsk.ua
Ничего нет внутри у того человека, который вечно все выставляет наружу. /Оноре де Бальзак/
Начало | Новости | Статьи | Форум | Опросы | Карта сайта | Обо мне
popoff.donetsk.ua - Клуппы Yato - ДонНТУ - Функциональное и логическое программирование - Вопросы и ответы - Функции в Лиспе
Я это делаю
Персональное меню
Голосование
Клуппы Yato Постоянный адрес этого вопроса
Деньги, но неинтересная работа и невозможность уделить время семье
Интересная работа, возможность саморазвиваться, но нищенский заработок
Ваш возраст (не обязательно)
Почему? (не обязательно)

Голосование закрыто.

Поиск по сайту
Реклама
Обмен электронных валют
money.dn.ua
Статистика

Функции в Лиспе

Постоянный адрес статьи
Определение функции в Лиспе
  • Функции в Лиспе - это исчисление Чёрча.

  • Функции в Лиспе - это λ-исчисление Чёрча.

  • (defun имя λ-выражение тело)

    λ-выражение уже включает в себя тело, поэтому в данном случае аргумент «тело» излишен.

  • Функция - это правило вычисления значения по аргументам.

    Это не является отличительной особенностью функций в Лиспе по сравнению со всеми остальными функциями.

    Этот ответ является определением термина «функция», но не описанием способа определения самих функций в Лиспе.

  • Функции в Лиспе применяются при помощи команды setq. Функции присваивается значение, её можно рассматривать как переменную.

    setq - это не команда, а функция.

    setq не используется для применения функций. Эта функция используется для других целей.

    Если setq используется для применения функций, и сама setq - это тоже функция, то как применить функцию setq?

    Функция - это программа. Значение - это данное. Значения хранятся в переменных. Но не в программе и не в функции.

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

    Функция - это программа. Переменная - это область памяти, в которой хранится данное. Обычно программа не рассматривается как данное (за тем редким исключением, когда одна программа создаёт другую программу, либо модифицирует сама себя).

    Хотя, можно говорить об области видимости функций и переменных. В Лиспе действительно область видимости всех функций - глобальная.

Что такое λ-выражение?
  • λ-выражение предназначено для определения [любое существительное].

    λ-выражение не предназначено для определения чего бы то ни было.

  • λ-выражение - это список параметров.

  • λ(x) e, где e - это выражение, которое вычисляет значение функции.

  • λ-выражение - это функция без названия.

    «Название функции» - нет такого термина.

  • λ-выражение - употребляется при определении функций.

    «Употребление чего-либо» - нет такого термина.

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

    Для этого используются функции, а не λ-выражения.

  • λ-выражение - это модель вычислений в Лиспе (λ-выражения Чёрча).

  • λ-выражение - это функция в СФЯ и в Лиспе.

Второй этап выполнения λ-вызова
  • Для Лямбда-вызова используется defun.

Второй этап выполнения λ-вызова
  • Если тело является правильным S-выражением, то результат возвращается через λ-выражение.

Третий этап выполнения λ-вызова
  • У λ-вызова всего 2 этапа выполнения.

  • Вызов выполнения формы.

  • Вызов выполнения формулы.

Что такое строгая функция?
  • Это когда строго больше или строго меньше.

  • Строгая функция - это когда внешние переменные не меняются.

    Это необходимое, но не достаточное условие.

  • Строгая функция - это функция, которая всюду определена на множестве А.

Что такое почти строгая функция?
  • Отличие от строгой состоит в том, что результат не возвращается через имя.

    Почти строгая функция может вернуть результат и через имя.

    Нестрогая функция тоже может вернуть результат не через имя.

  • Почти строгая функция - это функция, которая имеет элементы в множестве А, для которых образ этой функции не определён.

Что такое нестрогая функция?
  • Нестрогая функция - это функция, элементы которой не определены в множестве А.

Что такое общая функция?
  • Это функция, которая считает все выражения (или всё выражение).

Что такое частичная функция?
  • Частичная функция - это часть. Она является частью общей функции.

Написать на Лиспе рекурсивную функцию, которая подсчитывает сумму чисел от 1 до n
  • (defun f(i,n)
      (if (< i n)
        i
        (f i n)
      )
    )

    Неправильный синтаксис списка аргументов.

    Если условие завершения рекурсии не сработает на первом шаге, то оно не сработает никогда и будет иметь место бесконечная рекурсия.

Последняя модификация: 03.11.06 12:55