Автор работы: Пользователь скрыл имя, 04 Декабря 2014 в 15:15, контрольная работа
При помощи последовательного вызова функций CAR и CDR получит символ * из списка (1 (2 (3 4) *) 5).
Выполняя данное задания, нужно учитывать, что легко запутаться. Поэтому задание мною выполнялось постепенно и последовательно. Просматривая, какие символы из списка еще нужно удалить чтоб достичь нужного результата.
1. Задание 1………………………………………………………………….
5
2. Задание 2………………………………………………………………….
5
3. Задание 3………………………………………………………………….
8
4. Задание 4………………………………………………………………….
8
5. Задание 5…………………………………
6
7
8
9
10
Министерство образования и науки РФ
ФГБОУВПО СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ
Контрольная работа
(ИТС. 127025.073 ПЗ)
Руководитель:
________Л.А. Жуков
(подпись)
____________________
(оценка, дата)
Разработал:
Студент группы 77-3
________ О.Н.Малкова
(подпись)
____________г.
(дата)
г. Лесосибирск 2014
Задание на контрольную работу
Вариант 5
Реферат
Контрольная работа представлена в виде пояснительной записки. Пояснительная записка излагается на 10 страницах машинописного текста. В ней представлены 2 рисунка.
Цель выполнения контрольной работы состоит в развитие практических навыков по работе с языком программирования Lisp.
Содержание
1. Задание 1…………………………………………………………………. |
5 |
2. Задание 2…………………………………………………………………. |
5 |
3. Задание 3…………………………………………………………………. |
8 |
4. Задание 4…………………………………………………………………. |
8 |
5. Задание 5………………………………………………………………… |
8 |
Задание № 1.
S - выражения записать в форме обычных математических выражений без интерпретаторов Lisp и вычисления результата.
(*5(+ atan 4) (exp (/3 2))))
Решение:
(arctg4 + exp3/2) * 5.
(/ (+ (expt (sin (* 2 pi)) 2) 5) (+ 1 (*2.05(abs(/7 8))))
Решение:
.
(* (+ (- 1 (/1 (* 1 2 3))) (/ 1 (* 1 2 3 4 5))) (/ (log 10) (sqrt 10)))
Решение:
.
Задание № 2
Записать каждое данное математическое выражение на языку Lisp в виде S- выражений с помощью интерпретатора вычислить их значения.
при x= 17.421
y=10.365
Решение:
expt (+ 10.365 (expt (- 17.421 1) (/ 1 3))) (/ 1 4)
Ответ: 1.8954147
Рисунок 1 Вычисления первого выражения
(*(ABS(- 17.421 10.365))(+ (expt (sin 0.8) 2) tan 0.8))
Error: The variable TAN is unbound.
В данном выражении мною была допущена синтаксическая ошибка.
(*(ABS(- 17.421 10.365))(+ (expt (sin 0.8) 2) (tan 0.8)))
После исправления данной ошибки был получен результат 10.896145.
Где x = 16.55
y= -2.75
z = 0.15
Решение:
(sqrt (*10 (+ (expt 16.55 (/ 1 3))(expt 16.55 (- -2.75 2)))))
В данном выражении допущена ошибка Undefined operator *10 in form (*10 (+ (EXPT 16.55 (/ 1 3)) (EXPT 16.55 (- -2.75 2)))). То есть не хватает запятой после умножения и 10.
(sqrt (* 10 (+ (expt 16.55 (/ 1 3))(expt 16.55 (- -2.75 2)))))
После исправлении ошибки получаем результат: 5.0481606
Где x = 16.55
y= -2.75
z = 0.15
Решение:
(+ (* (asin 0.15)(asin 0.15)) (+ 16.55 -2.75))
Ответ: 13.82267
Где x= 0.22
y= -6.72
u= 10.05
v = 0.35
Решение:
(*(+ 2 (expt -6.72 2)) (/(+ 0.22 (/ -6.72 2)) (+ (expt -6.72 2) (/ 1 (+ (expt -6.72 2) 1)))))
Ответ: -3.2774935
Где u= 10.05
v = 0.35
Решение:
(sqrt (+ (* (expt (sin (atan 10.05)) 2) (abs (cos 0.35)))))
Ответ: 0.96444977
Задание № 3
При помощи последовательного вызова функций CAR и CDR получит символ * из списка (1 (2 (3 4) *) 5).
Выполняя данное задания, нужно учитывать, что легко запутаться. Поэтому задание мною выполнялось постепенно и последовательно. Просматривая, какие символы из списка еще нужно удалить чтоб достичь нужного результата.
Решение:
(car (cdr (cdr (car (cdr'(1 (2 (3 4) * 4 5)))))))
Задание № 4
Из списка (А B) С ( D Е)) получить список (С . D).
Для решения данной задания присвоим значение исходного списка некоторой переменной х, и будем работать с переменной а не со списком.
CL-USER 1 > (setq x'((A B) C (D E)))
((A B) C (D E))
CL-USER 2 > (cons (car (cdr x)) (car (cdr x)))
((B) . C)
CL-USER 3 > (cons (car (cdr x)) (car (car x)))
(C . C)
CL-USER 4 > (cons (car (cdr x)) (cdr (car x)))
(C B)(cons (car (cdr x)) (car (cdr x)))
(C . A)
CL-USER 6 > (cons (car (cdr x)) (car (car x)))
(C B)
Задание №5.
Для решения этого задания сначала построим структуру будущего списка
Рисунок 2 Структура списка
Решение:
CL-USER 19 : 2 > cons 3 (cons 4 nil)
(3 4)
CL-USER 23 : 4 > cons(cons 3 (cons 4 nil)) (cons 5 nil)
((3 4) 5)
CL-USER 24 : 4 > cons 2 (cons(cons 3 (cons 4 nil)) (cons 5 nil))
(2 (3 4) 5)
CL-USER 25 : 4 > cons (cons(cons 3 (cons 4 nil)) (cons 5 nil)) nil
(((3 4) 5))
CL-USER 26 : 4 > cons 2 (cons (cons(cons 3 (cons 4 nil)) (cons 5 nil)) nil)
(2 ((3 4) 5))
CL-USER 27 : 4 > cons (cons 2 (cons (cons(cons 3 (cons 4 nil)) (cons 5 nil)) nil)) nil
((2 ((3 4) 5)))
CL-USER 28 : 4 > cons 1(cons (cons 2 (cons (cons(cons 3 (cons 4 nil)) (cons 5 nil)) nil)) nil)
Библиографический список
Информация о работе Контрольная работа по "Безопасность жизнедеятельности"