Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вариант_№28.doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
802 Кб
Скачать
☆

Лабораторная работа 4

Цель работы. Ознакомиться с применением функционалов в языке Lisp.

Указания. Используя связывание свойств с символами, структуры, последовательности и функционалы реализовать программу для предложенного ниже варианта, выполняющую:

  1. включение/исключение/замену данных;

  2. 4-5 поисковых запроса (разработать самостоятельно и согласовать с преподавателем).

              1. Расписание авиарейсов.

              2. Железнодорожное расписание.

              3. Купля/продажа/сдача/наем/обмен недвижимости.

              4. Телефонный справочник организации.

              5. Учет результатов экзаменационных сессий.

              6. Учет технических осмотров автомобилей в автопарке.

              7. Учет выданных книг в библиотеке.

              8. Инвентаризация лабораторий университета: аудитории, установленная техника.

              9. Маршруты городского транспорта.

              10. Репертуар театров.

              11. Котировки ценных бумаг.

              12. Запись к врачам в поликлинике.

              13. Проведение научной конференции.

              14. Учет товаров на складе.

              15. Учёт ошибок при разработке программного обеспечения

1 Частично рекурсивная функция – функция, зависящая от своего результата при других входных параметрах и, возможно, определённая не для всех входных данных.

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

3 Считая для краткости, что and и or имеют произвольное число аргументов

4 Здесь и далее: символом > в примерах будет обозначаться приглашение консоли Lisp к вводу. В других реализациях этот символ может иметь иной вид, например, "USER[1]:" или "[1]>". Строки без символа > будут означать вывод программы на экран. Два символа > будут означать пользовательский ввод с клавиатуры. При написании кода (например, в случае проверки примеров) символ > не должен помещаться в текст. Также необходимо иметь в виду, что оператор в Lisp может записываться более чем на одной строке - место, в котором заканчивается оператор, может быть определено по закрывающей скобке, соответствующей самой первой открывающей.

5 Сразу оговоримся, что далеко не все версии Lisp выдерживают этот пример, в частности GNU Clisp просто зависает. Слегка модифицированный пример (NCONC (NCONC X X) X) привёл к зависанию даже тех версий Lisp, который выдержали исходный.

6 При этом запрещается экспериментировать с числом дисков, равным 64, так как если кому-либо это удастся, согласно легенде о ханойских башнях, наступит конец света

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]