Функциональное и логическое программирование

Ознакомление с лямбда-выражениями и функциями языка 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.2012

  • LISP (LIST PROCCESSOR) - обработчик списков. Особенности диалектов языка Лисп: Маклисп, муЛисп, Интерлисп, Франс Лисп, Зеталисп Лисп-машин, Коммон Лисп. Современные диалекты языка Лисп. Интерактивные системы программирования. Использование Лисп-машин.

    доклад [16,9 K], добавлен 22.09.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.