Функциональное и логическое программирование
Функциональное и логическое программирование
1. Цель работы
алгоритм лямбда программа
Ознакомление с лямбда-выражениями и функциями языка Lisp.
Задание
Разработать функцию, производящую удаление из исходного списка всех элементов с четными номерами.
Например:
Вход: (a b c d e).
Выход: (a c e).
Допускается использовать любые предопределённые функции Lisp.
. Описание алгоритма решения задачи
. Описание функций
Описание стандартных функций
DEFUN - порождающая функция, позволяет создавать функции.
COND - На вход она принимает n - пар предикат - значение. Сначала просматриваются все предикаты в порядке следования, и если хоть один из них истинный, то cond возвращает результат, связанный с этим предикатом. Если ни один предикат не был истинным, то она вернет NIL.
NULL - Если значение единственного аргумента функции есть Nil, то функция возвращает T. Во всех остальных случаях (когда значение аргумента НЕ есть Nil, функция возвращает Nil.
описание пользовательских функций.- eventh - функция удаляющая чётные елементы из списка.
Код программы
(defun drop-eventh (w &optional f)
(cond ((null w) nil)
(f (drop-eventh (cdr w) nil))
((cons (car w) (drop-eventh (cdr w) t)))))
(drop-eventh `(a b c d e))
Вывод
алгоритм функция программа
В данной работе были изучены лямбда-выражения и функции языка Lisp, которые могут быть использованы в базах данных больниц и институтов.
Список литературы
1.http://lisper.ru
2.http://homelisp.ru/help/lisp.html
Больше работ по теме:
Предмет: Информационное обеспечение, программирование
Тип работы: Практическое задание
Новости образования
КОНТАКТНЫЙ EMAIL: [email protected]
Скачать реферат © 2017 | Пользовательское соглашение
ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ