Язык Лисп

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование

Основные данные о работе

Версия шаблона1.1ФилиалРыльскийВид работыКурсовая работаНазвание диiиплиныИнформационные технологииТемаОсобенности языка ЛИСПФамилия студентаШестаковаИмя студентаЕленаОтчество студентаВасильевна№ контракта17300060601002

Содержание

Введение

1. Язык программирования ЛИСП

.1 Основные функции языка Лисп

.2 Арифметические функции

.3 Логические функции

1.4 Специальные функции

2. Особенности диалектов языка ЛИСП

.1 MacLISP

2.2 MuLISP

2.3 InterLISP

.4 CommonLISP

3. Особенности языка ЛИСП

Заключение

Глоссарий

Список использованных источников

Приложения

Введение

LISP (от англ. LISt Processing - "обработка списков") - семейство языков программирования, основанных на представлении программы системой линейных списков символов, которые притом являются основной структурой данных языка. Лисп iитается вторым после Фортрана старейшим высокоуровневым языком программирования.

В 1950-х годах специалисты по искусственному интеллекту начали поиски языка программирования, который бы позволял манипулировать понятиями, выраженными словами и фразами на естественном языке. Первый результат был получен в виде семейства языков под названием ИПЛ (IPL, от Information Processing Languages - языки обработки информации), созданного одним из пионеров в области искусственного интеллекта Алленом Ньюэллом и его сотрудниками. Центральным для ИПЛ являлось понятие списка. Представляя данные в виде списка слов и символов, программист мог связать понятия в памяти компьютера приблизительно таким же образом, как, по мнению специалистов по искусственному интеллекту, они связываются в памяти человека.

Понятием списка заинтересовался и Джон Маккарти [8], разносторонний математик, один из ведущих исследователей в области искусственного интеллекта (причем сам термин искусственный интеллект был предложен именно им в 1956 году). Язык Лисп был предложен Джоном Маккарти в работе в 1960 году и ориентирован на разработку программ для решения задач не численного характера. Английское название этого языка - LISP является аббревиатурой выражения LISt Processing (обработка списков) и хорошо подчеркивает основную область его применения. Понятие "список" оказалось очень емким. В виде списков удобно представлять алгебраические выражения, графы, элементы конечных групп, множества, правила вывода и многие другие сложные объекты.

Списки являются наиболее гибкой формой представления информации в памяти компьютеров. Неудивительно поэтому, что удобный язык, специально предназначенный для обработки списков, быстро завоевал популярность.

После появления LISP различными авторами был предложен целый ряд других алгоритмических языков ориентированных на решение задач в области искусственного интеллекта. Однако это не помешало LISP остаться наиболее популярным языком для решения таких задач. На протяжении почти сорокалетней истории его существования появился ряд диалектов этого языка: Common LISP, Mac LISP, InterLISP, Standard LISP и др. [3] Различия между ними не носят принципиального характера и в основном сводятся к несколько отличающемуся набору встроенных функций и некоторой разнице в форме записи программ. Поэтому, программист, научившийся работать на одном из них, без труда сможет освоить и любой другой.

Большим достоинством LISP является его функциональная направленность, т. е. программирование ведется с помощью функций. Причем функция понимается как правило, сопоставляющее элементам некоторого класса соответствующие элементы другого класса. Сам процесс сопоставления не оказывает никакого влияния на работу программы, важен только его результат - значение функции. Это позволяет относительно легко писать и отлаживать большие программные комплексы. Ясность программ, четкое разграничение их функций, отсутствие каверзных побочных эффектов при их выполнении является обязательными требованиями к программированию таких логически сложных задач, каковыми являются задачи искусственного интеллекта. Диiиплина в программировании становится особенно важной, когда над программой работает не один человек, а целая группа программистов. [1]

Цель курсовой работы - изучение особенностей языка LISP. Для достижения цели курсовой работы в ней будут рассмотрены основные функции данного языка программирования и отличительные особенности некоторых его диалектов.

Для достижения цели курсовой работы были поставлены и решены следующие задачи:

подробный анализ основных функций языка программирования LISP;

выявление и анализ отличительных особенностей некоторых диалектов данного языка программирования.

1. Язык программирования Лисп

1.1 Основные функции языка Лисп

К числу основных особенностей языка Лисп относится то, что программой является несколько определенных пользователем функций (Приложение А). С точки зрения синтаксиса Лисп-функция, как и обрабатываемые ею данные, представляет собой так называемое S-выражение. В простейшем случае S-выражением является атом (идентификатор или число), в более сложном - список, т.е. последовательность элементов, разделенных обычно пробелом и заключенных в круглые скобки [4].

Списки языка Лисп имеют рекурсивную структуру: элементом списка может быть произвольное S-выражение - как атом, так и список, например: (1() (a b (c)) class). Некоторые S-выражения можно вычислять, получая в результате значения (тоже S-выражения); такие выражения