Форум программистов, компьютерный форум, киберфорум
Наши страницы
Lisp
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Kiril_123
0 / 0 / 0
Регистрация: 02.04.2012
Сообщений: 1
#1

Конструкции локальных определений LET і LAMBDA - Lisp

05.04.2012, 20:41. Просмотров 1080. Ответов 5
Метки нет (Все метки)

Здравствуйте! Помогите написать программу с использованием конструкции локальных определений LET і LAMBDA. Для нахождения арккосинуса.
http://www.cyberforum.ru/lisp/thread1421944.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2012, 20:41
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Конструкции локальных определений LET і LAMBDA (Lisp):

Сконструировать \lambda-вызов и вычислить его значение Lambda
Задание Для выражения из таблицы согласно номеру варианта сконструировать...

LAMBDA - выражение
Доброй ночи! Вопрос тупой, но я с Лиспом первый день:) LAMBDA - выражение...

Как работают lambda выражения?
Можете объяснить как работает функция lambda? у меня вот такая часть задачи:...

%EXPAND-FORM: (EQL N 0) should be a lambda expression
http://ideone.com/PsVwBi подскажите: в чем пробдлема? Заранее благодарен.

Найти произведение всех ненулевых чисел из заданного сложного списка с использованием lambda
Помогите пожалуйста. У нас есть код который находит произведение всех ненулевых...

5
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,979
06.04.2012, 14:55 #2
Слишком невнятно. Приведи точный текст задания.
0
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
06.04.2012, 15:45 #3
Catstail, скорее всего, нужно написать функцию вычисления арккосинуса через разложение в ряд Маклорена, что само по себе несложно. Сложность в том, куда там впихнуть лямбду.
0
bokunopico
306 / 261 / 5
Регистрация: 03.04.2011
Сообщений: 456
06.04.2012, 15:57 #4
Я нашёл лямбду.
Lisp
1
2
3
CL-USER> (macroexpand '(defun f (x) (acos x)))
(PROGN (CCL::%DEFUN (CCL:NFUNCTION F (LAMBDA (X) (DECLARE (CCL::GLOBAL-FUNCTION-NAME F)) (BLOCK F (ACOS X)))) 'NIL) 'F)
T
1
Nameless One
Эксперт С++
5785 / 3434 / 351
Регистрация: 08.02.2010
Сообщений: 7,448
06.04.2012, 16:36 #5

Не по теме:

bokunopico, а теперь положи обратно, это плохая лябмда!



По теме: вот «решение» с let и lambda, но у меня такое чувство, что ТС оно не удовлетворит:

Lisp
1
2
3
4
(defun my-acos (x)
  (let ((dummy (lambda (x)
         (acos x))))
    (funcall dummy x)))
1
Catstail
Модератор
23531 / 11641 / 2034
Регистрация: 12.02.2012
Сообщений: 18,979
06.04.2012, 21:00 #6
Вот (хотя без let и lambda можно было бы легко обойтись)...

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(defun arccos (x eps)
  (let* ((n 0) 
        (pi 3.1415926535)
        (s  (* 0.5 pi))
        (a 0)
        (p x)
        (f '(lambda (z n) (/ (* z z (+ n n 1) (+ n n 1) (+ n n 2)) 
                             (* 4 (+ n 1) (+ n 1) (+ n n 3))))))
        (setq s (- s p))
        (loop
           (setq a (funcall f x n))
           (setq p (* p a)) 
           (setq s (- s p))
           (when (<= p eps) (return s))
           (setq n (+ n 1))
        )
  )
)
А вот проверка:

(arccos 0.5 0.00001)

==> 1.04719808919681

(acs 0.5)

==> 1.0471975511966
0
06.04.2012, 21:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.04.2012, 21:00
Привет! Вот еще темы с решениями:

Эквивалентность определений
1 Граф связный только когда его нельзя подать, как объединение двух графов. 2...

gcc не видит определений
У меня есть свой тип, задекларирован с помощью typedef. Все нужные заголовочные...

Список определений с использованием стилей
Для оформления шапки текста используется следующий код &lt;hr /&gt; &lt;div...

Multiple definition - несколько определений
Написал программу(не очень слаженную, но) используя множественное наследование....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru