Курсовая работа по предмету "Программирование" на тему "Язык лисп"

В свободное время наши преподаватели пишут курсовые работы и рефераты на распространённые темы. Данные работы представлены в целях ознакомления с предметом работы. Каждую такую работу вы можете купить в нашем магазине.

Преимущества покупки готовой работы

Купив готовую работу вы получаете материал для ознакомления моментально, без ожидания, прямо сейчас, оплатив онлайн.

Эксклюзивные условия

После покупки работы вами - купить её повторно кому-то ещё будет нельзя. Работа предоставляется вам для ознакомления на эксклюзивных условиях.

Популярные темы

В нашем магазине представлены только курсовые работы (теоретические и практические), рефераты, доклады по самым распространённым тематикам. Дипломы, сложные технические работы, работы по редким темам, по понятным причинам (по причине трудоёмкости или редкой востребованности) не представлены.

Описание

Тип Курсовая работа
Предмет Программирование
Тема Язык лисп
Объём 3
Добавлено 04.07.2016
Уникальность по Антиплагиату 59%
Уникальность по etxt 39%

Цена 2000 р.

Для любой нашей работы действует бесплатное гарантийное обслуживание. Но если вы хотите максимальной экономии, то можете купить её в режиме "без гарантии". Такая работа будет стоить дешевле на 20%, но доработки будут платными.

Укажите email для получения работы

Отрывок 1


Оглавление
Введение 3
Тема 1 5
Тема 2 8
Тема 3 12
Заключение 16
Список использованной литературы 17
Введение
Лисп (LISP, от англ. LISt Processing language — «язык обработки списков»; современное написание: Lisp) — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Лисп является вторым в истории (после Фортрана) используемым по сей день высокоуровневым языком программирования. Создатель Лиспа Джон Маккарти занимался исследованиями в области искусственного интеллекта (в дальнейшем ИИ) и созданный им язык по сию пору является одним из основных средств моделирования различных аспектов ИИ1.
Длительное время не существовало стандарта этого языка. Но такое разнообразие не доставляло неприятностей, пока язык использовался лишь в исследованиях. Даже напротив, идеи Лиспа таким образом могли постоянно развиваться и поэтому в язык вошли новые, оказавшиеся полезными свойства, в том числе и из других языков. Однако недостатки, возникающие из-за несовместимости между диалектами становились все более существенными по мере роста числа практических приложений Лиспа.
В конечном счете стандарт языка был разработан. Им стал Common Lisp. Этот диалект содержит важнейшие черты современных Лисп-систем: разнообразные типы данных, возможности определения типов, управляющие структуры, макросы с помощью которых легко определяются новые синтаксические формы, функционалы, замыкания, последовательности, а также синтаксический интерпретатор и транслятор.
Можно сказать, что Common Lisp содержит почти все, что на сегодняшний день могут дать другие известные языки программирования, и кроме того, он предусматривает средства для расширения.
Актуальность работы заключается в том, что задача разработки систем искусственного интеллекта по прежнему существует.
Целью и задачами работы является решение предложенных задач и описание процесса решения.
Тема 1
1.
Простое преобразование. Каждый оператор(функция) отвечает за математическую операцию.
“difference” он же “-” он же знак “минус”.
“times” он же “*” он же знак “умножение”

Отрывок 2

(dispersion (list-average
(mapcar (lambda (x)
(expt (- x average) 2)) list))))
; вычисляем среднеквадратическое отклонение (корень из дисперсии)
(sqrt dispersion))))
6.
Преобразование мат. формулы в рекурсивную функцию.
(defun mersenn-numbers (p)
(if (= p 1)
2
(1- (expt 2 (mersenn-numbers (1- p))))))
7.
(defun print_list (list)
(mapcar #'print list))
Тема 3
Примем, что структура данных “вертолет” состоит из свойств “количество винтов”, “наличие хвостового винта”, “тип оружия” и “двигатель”.
Соответственно, это функции которые оперируют этими свойствами (возвращают их или изменяют). И функция print-helicopter, которая отображает данные о вертолете в удобной форме.
В двухвинтовых вертолетах нет хвостового винта, поэтому он автоматически обнуляется.
В самом конце идет процесс создания структур для нескольких вертолетов (Ми-24, Ми-8, Ка-32).
(defun set-tail-rotor (symbol bool)
(setf (get symbol 'tail-rotor) bool))
(defun get-tail-rotor (symbol)
(if (get symbol 'tail-rotor)
t
nil))
(defun set-arms (symbol arms)
(setf (get symbol 'arms) arms))
(defun get-arms (symbol)
(get symbol 'arms))
(defun set-engine (symbol engine)
(setf (get symbol 'engine) engine))
(defun get-engine (symbol)
(get symbol 'engine))
(defun set-main-rotor (symbol rotor-type)
(setf (get symbol 'main-rotor)
(if (or (equal rotor-type '2-helics) (equal rotor-type '1-helic))
rotor-type))
(if (rotor-2-helics-p symbol)
(set-tail-rotor symbol nil)))
(defun get-main-rotor (symbol)
(get symbol 'main-rotor))
(defun rotor-2-helics-p (symbol)
(equal (get-main-rotor symbol) '2-helics))
(defun print-helicopter (helicopter)
(princ "Count of helics - ")
(princ (if (rotor-2-helics-p helicopter) 2 1))
(princ #\Newline)
(princ "Engine - " )
(princ (get-engine helicopter))
(princ #\Newline)
(princ "Tail rotor - " )
(princ (if (get-tail-rotor helicopter) "Yes" "None"))
(princ #\Newline)
(princ "Arms - ")
(princ
(or
(get-arms helicopter)
"None"))
(princ #\Newline)
nil)
(progn
(set-arms 'mi-24 "NUV-1")
(set-main-rotor 'mi-24 '1-helic)
(set-tail-rotor 'mi-24 t)
(set-engine 'mi-24 "2x TV3-117")
(print-helicopter 'mi-24))
(progn
(set-arms 'mi-8 nil)
(set-main-rotor 'mi-8 '1-helic)
(set-tail-rotor 'mi-8 t)
(set-engine 'mi-8 "TVZ-117VMA-SBM1V")
(print-helicopter 'mi-8))
(progn
(set-arms 'ka-32 "machine guns")
(set-main-rotor 'ka-32 '2-helics)
(set-engine 'ka-32 "TV3-117VMA")
(print-helicopter 'ka-32))
1.
Для каждого элемента списка делается преобразование – если это список и он не равен '(* 0 f), то преобразование идет для каждого элемента списка, иначе для элемента преобразования не делается.
(defun replace-0f (expression)
(mapcar
(lambda (part)
(if (listp part)
(if (equal part '(* 0 f))
0
(replace-0f part))
part)) expression))
2.
Алгоритм

+7 (495) 772-33-48
e-mail: mail@xvostov.net

Офис: Москва, м. Новогиреево
просп. Свободный, д.19
Хвостов.Нет

Наши услуги

Курсовая: 1-7 дней

Диплом: 1-20 дней

Реферат: 1-7 дней

Диссертация: от 5 дней