Функціональне та логічне програмування
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 amp; 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
2.http: //homelisp/help/lisp.html