Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Lisp Помогите решить задание https://www.cyberforum.ru/ lisp/ thread345965.html
Задание 1 1.1 Задача о преобразовании компонентов числовых векторов. Функция реобразования элементов Задание исх. данных 2*c(i) + b LIST (LIST/READ) 1.2 Задача преобразования списков. Функция преобразования Заменить вхождение одного элемента на заданную величину
Lisp Каррирование
Читаю про каррирование. Почему не работает код из Википедии?: CL-USER 11 > (defun curry(x) (lambda (y) (+ x y))) CURRY CL-USER 12 > ((curry 2) 3) Error: Syntactic error in form ((CURRY 2) 3): Illegal function name (CURRY 2). 1 (abort) Return to level 0.
Lisp Функционалы https://www.cyberforum.ru/ lisp/ thread345473.html
Здравствуйте, помогите, пожалуйста решить следующую задачу. Как-то сложно у меня идет с функционалами. Опpеделите на языке ЛИСП функционал, вставляющий перед каждым элементом списка, обладающим определенным свойством, символ *. Проверьте работу функционала для предикатов: -неотрицательное число (при вызове используйте лямбда-функцию); -четное число. В теле функции использование...
Lisp Экспертная система оценки качества непродовольственных товаров :(помогите пожалуйста... Я очень не успеваю сессия на носу=(, для того чтобы разобрать времени совсем нет. Нужно в программе написать. Экспертная система оценки качества непродовольственных товаров Должны быть правила как минимум для 3-х а →b , b→c , c→d Экспертная система на LISP (AvtoCAD) Буду очень благодарна!!!!!! https://www.cyberforum.ru/ lisp/ thread342048.html
Lisp Контрольный вопрос
Здравствуйте. Помогите ответить на один контрольный вопрос к лабе: Что общего и чем отличия между Лямбда-выражениями в исчислении Черча и соответствующими выражениями в Common Lisp? Искал, читал, но че то мало что понятно. Заранее благодарен.
Lisp Как определить функцию? Определите функцию, зависящую от двух аргументов a и b, являющихся списками, которая вычисляет список всех элементов a, не содержащихся в b. https://www.cyberforum.ru/ lisp/ thread339250.html
Lisp Записать определение функции F1 на языке программирования Common Lisp https://www.cyberforum.ru/ lisp/ thread338947.html
Помогите с сессией! Записать определение функции F1 на языке программирования Common Lisp, которая выполняла бы следующие действия: 1. Выводила сообщение, в котором пользователю предлагалось ввести 4 числа xi; 2. Записывала введенные числа в список (x1 x2 x3 x4); 3. Вычисляла значения функций Y1 Y2 Y3 Y4 для каждого xi; 4. Записывала значения этих функций в свойства каждой пере-менной xi....
Два задания не могу найти ошибку...подскажите.. Lisp
Идет построение параметрического изображения стрелы экскаватора при загрузке файла выдает таку ю ошибку ; error: bad argument type: numberp: nil воот собственно сам кодт оси нижнего колена стрелы до шарнира крепления гидроцилиндра рукояти ; HSI1 - ширина нижнего колена стрелы у изгиба ; LVS - длина верхнего колена стрелы ; HSI2 - ширина верхней части стрелы у изгиба ; HSR - ширина верхней...
Lisp Прошу проверьте https://www.cyberforum.ru/ lisp/ thread330429.html
Задание таково: создать функцию, определяющую подобны ли два треугольника. В качестве аргументов должна принимать длины сторон. Если треугольники подобны, то возвратить коэффициент подобия. Решить нужно двумя способами: с помощью if и с помощью cond. Я пока решил с помощью if. (defun ipod(a b c x y z) (setf k (/ (+ a b c) (+ x y z))) (if (OR (= k (/ a x)) (= k (/ a y)) (= k (/ a...
Lisp Рeкурcивные cтруктуры дaнных (деревья) Добрый день! Помогите, пожалуйста, с решением задачки при помощи Lisp Нaписaть прогрaмму для нaхождения среднего aрифметического отрицaтельных узлов деревa. Спасибо за любой ответ! https://www.cyberforum.ru/ lisp/ thread327894.html
Программа, объединяющая множества, в функциональном стиле Lisp
Добрый вечер! Требуется переделать программу, объединяющую два множества l1 и l2, в функциональный стиль (set 'y '(2 3 4)) (defun conc (l1 l2) (cond ((null l1) nil) (t (cond ( (null (subfunc (car l1) l2)) (set 'y (cons y (car l1))) )
Lisp сессия не успеваю((( помогите!!!некогда разбираться(((( Разработать рекурсивный вариант программы в функциональном стиле для решения предложенной задачи. Разработать итерационный вариант программы в императивном стиле для решения предложенной задачи. В теле функций можно использовать только примитивы car, cdr, cons. Все остальные функции должны быть определены через эти примитивы. Определять атом списка,... https://www.cyberforum.ru/ lisp/ thread326416.html
Эксперт С++
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
30.08.2011, 05:48 0

Вывести минимальное значение функции на заданном интервале и соответствующее ему значение аргумента. - Lisp - Ответ 1948421

30.08.2011, 05:48. Показов 3151. Ответов 3
Метки (Все метки)

Ответ

Дело в том, что оптимизация хвостовых вызовов (tail-call optimization) не входит в стандарт языка Common Lisp. Поэтому это зависит от реализации языка, будут ли хвостово-рекурсивные (tail-recursive) процедуры оптимизированы (специальный вид рекурсивных процедур; вкратце, если рекурсивный вызов процедуры - это последняя операция, то можно провести следующую оптимизацию: заменить рекурсивный вызов на безусловный переход, таким образом, чтобы не выделялся новый фрейм стека, а вычисления производились в постоянном объеме памяти). Например, sbcl использует tail-call optimization, и следующий код (как и твой, собственно) будет у меня работать:
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
(defun min-value-and-corresponding-arg (fun left-threshold right-threshold step)
  (labels ((iter (l-t prev-min)
         (if (> l-t right-threshold)
         prev-min
         (iter (+ l-t step)
               (let ((prev-val (cdr prev-min))
                 (new-arg l-t)
                 (new-val (funcall fun l-t)))
             (if (< new-val prev-val)
                 (cons new-arg new-val)
                 prev-min))))))
    (iter (+ left-threshold step) (cons left-threshold
                    (funcall fun left-threshold)))))
Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
CL-USER> (min-value-and-corresponding-arg #'(lambda (x)
                          (+ (* 2 x x) (* 5 x) (- 7)))
                      -1000
                      1000
                      0.1)
(-1.2971125 . -10.120561)
CL-USER> ; увеличиваем диапазон и уменьшаем шаг - все опять работает:
; No value
CL-USER> (min-value-and-corresponding-arg #'(lambda (x)
                          (+ (* 2 x x) (* 5 x) (- 7)))
                      -10000
                      10000
                      0.01)
(-1.2509372 . -10.124998)
Так что если пишешь на Common Lisp, то предпочтение следует отдавать не рекурсивным функциям, а конструкциям циклов типа do, dolist, loop etc.

Вернуться к обсуждению:
Вывести минимальное значение функции на заданном интервале и соответствующее ему значение аргумента. Lisp
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.08.2011, 05:48
Готовые ответы и решения:

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

Вычислить минимальное по абсолютной величине значение функции и соответствующее значение аргумента
Составить программу табулирования и исследования функции f(x) на заданном диапазоне изменения...

Вычислить минимальное по абсолютной величине значение функции и соответствующее значение аргумента
Необходимо составить блок-схему и программу табулирования и исследования функции F(x) на диапазоне...

Взять минимальное значение из таблицы и соответствующее ему текстовое значение
Подскажите, пожалуйста, как взять минимальное значение из таблицы и соответствующее ему текстовое...

3
30.08.2011, 05:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.08.2011, 05:48
Помогаю со студенческими работами здесь

Найти минимальное значение функции на заданном интервале
х изменяется в интервале -15 до 12 необходимо минимальное значение найти. y=(x-9)! -8&lt;=x&lt;=3...

Найти наименьшее положительное значение функции и соответствующее значение аргумента
как найти наименьшее положительное значение функции и соответствующий х? (т.е. каждый шаг h новое...

Вычислить и вывести на экран значение функции на заданном интервале
Помогите Плиз))) задача во вложение. Ознакомьтесь, пожалуйста, с правилами форума. п. 5.18...

Найти и вывести среднее арифметическое значение функции на заданном интервале.
Y=cos(a - x 2 ) +b x 2 (x изменяется от 1 до 3 с шагом 0.3) Найти и вывести среднее...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru