Функциональное и логическое программирование
Ознакомление с лямбда-выражениями и функциями языка Lisp. Этапы разработки алгоритма функции, производящей удаление из исходного списка всех элементов с четными номерами. Код программы, адаптированной для использования в базах данных больниц и ВУЗов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 21.05.2014 |
Размер файла | 65,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Функциональное и логическое программирование
1. Цель работы
алгоритм лямбда программа
Ознакомление с лямбда-выражениями и функциями языка Lisp.
Задание
Разработать функцию, производящую удаление из исходного списка всех элементов с четными номерами.
Например:
Вход: (a b c d e).
Выход: (a c e).
Допускается использовать любые предопределённые функции Lisp.
2. Описание алгоритма решения задачи
3. Описание функций
Описание стандартных функций
DEFUN - порождающая функция, позволяет создавать функции.
COND - На вход она принимает n - пар предикат - значение. Сначала просматриваются все предикаты в порядке следования, и если хоть один из них истинный, то cond возвращает результат, связанный с этим предикатом. Если ни один предикат не был истинным, то она вернет NIL.
NULL - Если значение единственного аргумента функции есть Nil, то функция возвращает T. Во всех остальных случаях (когда значение аргумента НЕ есть Nil, функция возвращает Nil.
описание пользовательских функций.
Drop - 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
Размещено на Allbest.ru
Подобные документы
Высокоуровневый язык программирования Lisp. Атомы и списки. Запрос к голове списка с помощью базовых функций. Свойства атомов Lisp. Удаление свойства и его значения. Работа со строками. Классы и объекты. Формы структурированных данных языка Lisp.
курсовая работа [232,7 K], добавлен 07.01.2016Описание глобальных переменных и подпрограмм. Блок-схема головной функции main. Нахождение произведения элементов с четными номерами. Минимум среди сумм элементов диагоналей, параллельных побочной диагонали матрицы. Результаты тестового прогона программы.
курсовая работа [766,4 K], добавлен 10.02.2015Разработка программы конвертации синтаксиса одного языка высокого уровня на синтаксис другого. Особенности работы с классами, функциями, регулярными выражениями, формами. Использование для создания программы разных типов данных, массивов переменных.
курсовая работа [567,9 K], добавлен 30.01.2016Методы и этапы создания автоматизированной обучающей системы по дисциплине "Программирование" для студентов ВУЗов. Описание и сравнение программ-аналогов. Выбор инструментальных средств и языка разработки. Проектирование интерфейса обучающей программы.
курсовая работа [4,4 M], добавлен 26.11.2010Формулировка задачи и методика ее решения. Удаление заданной цифры из данного натурального числа. Структурная схема алгоритма и его описание. Особенности разработки программы и процедур и их описание. Удаление максимальных элементов из заданного массива.
курсовая работа [1,7 M], добавлен 08.02.2013Идентификация треугольников на плоскости, определение их положения и размера. Анализ, отсортировка и преобразование фигур в треугольники с вершинами, находящимися на серединах сторон исходных треугольников с использованием программ на языках F# и Lisp.
курсовая работа [2,0 M], добавлен 16.07.2012Ознакомление со структурой языка программирования Turbo-Pascal 7.0, его алфавитом, выражениями и простейшими конструкциями (метками, идентификаторами). Способы описания арифметических, вещественных, логических и символьных операций в программной среде.
реферат [68,2 K], добавлен 07.02.2011Методы хеширования данных и реализация хеш-таблиц. Разработка на языке программирования высокого уровня программы с функциями создания хеш-таблицы, добавления в нее элементов, их просмотра, поиска и удаления. Экспериментальный анализ хеш-функции.
лабораторная работа [231,9 K], добавлен 18.06.2011Общая характеристика языка программирования С++, его функции и возможности. Создание базы данных "Учет фототехники" для работников магазина. Этапы разработки алгоритма, спецификация, кодирование, отладка и тестирование программы. Руководство пользователя.
курсовая работа [3,2 M], добавлен 15.07.2012LISP (LIST PROCCESSOR) - обработчик списков. Особенности диалектов языка Лисп: Маклисп, муЛисп, Интерлисп, Франс Лисп, Зеталисп Лисп-машин, Коммон Лисп. Современные диалекты языка Лисп. Интерактивные системы программирования. Использование Лисп-машин.
доклад [16,9 K], добавлен 22.09.2008