|
|
Другие темы раздела | |
Lisp Линия от заданной координаты (орто) до ближайшего пересечения Уже есть чертеж, осталось нарисовать последние 4 линии, которые я не могу понять как сделать: Если с красными линиями понятно как начать, т.е. вычислить координаты начала, но не понятно как найти точку пересечения с окружностью. С синими линиями вообще не могу понять от чего оттолкнуться.. привожу свой листинг кода: (defun c:my_point () ; Сохраняем системные переменные ... https://www.cyberforum.ru/ lisp/ thread1671810.html |
Удаление из списка каждого каждого второго элемента Lisp Добрый день, можете пожалуйста написать и прокомментировать построчно код, решающий следующую задачу: Описать функцию, которая удаляет из списка каждый второй элемент (на верхнем уровне). |
Lisp Определить функцию, которая имеет значение T, если n-й элемент списка L есть атом.
https://www.cyberforum.ru/ lisp/ thread1671203.html Для каждого из следующих условий определить функцию одного аргумента L , которая имеет значение T , если условие удовлетворяется, и NIL в противном случае: • n - ый элемент L есть атом; |
Lisp Почему так работает "_line" ?
https://www.cyberforum.ru/ lisp/ thread1670643.html Доброго всем времени суток! (defun c:my_point () (setq p1 (getpoint "\nââåäèòå áàçîâóþ òî÷êó:")) ; (setq p2 (polar p1 pi 100)) ; Çàäàåì êîîðäèíàòû òî÷êè p2 (setq p3 (polar p2 (/ (- pi) 2) 100)) ; (command "_line" p1 p2 "") ; ðèñóåì ëèíèþ 1 (setq line1 (entlast)) ; Çàïèñûâàåì èìÿ îáúåêòà (command "_line" p2 p3 "") ; ðèñóåì ëèíèþ 2 (setq line2 (entlast)) ;... |
Подсчет атомов во всем списке Lisp Добрый вечер, помогите пожалуйста решить задачу, кому не будет в тягость. Определить функцию, которая считает количество атомов во всем списке (с учетом подсписков). |
Lisp Как вызвать функцию?
https://www.cyberforum.ru/ lisp/ thread1669901.html Подскажите пожалуйста, как вызвать функцию F для поиска минимального остовного дерева? https://www.cyberforum.ru/post6334776.html Ввожу: (F (1 a b)) выводит ошибку EVFUN: Не найдена функция 1 ==> ERRSTATE Добавлено через 8 минут |
Lisp Прокомментировать код Добрый вечер, можете пожалуйста прокомментировать сей чудесный код (автор - Catstail) более подробно? ;; Проверить ребро (defun chk-vert (v s) (let ((a1 (car v)) (a2 (cadr v))) (not (forsome s (lambda (w) (and (member a1 w) (member a2 w))))))) ;; Добавление очередного ребра в "лес" https://www.cyberforum.ru/ lisp/ thread1669768.html |
Запишите последовательность вызовов CAR и CDR, выделяющие из приведенных списков символ "а" Lisp Запишите последовательность вызовов CAR и CDR, выделяющие из приведенных списков символ "а" (1(2((3 4(5(6 a)))))) |
Lisp Подскажите, как преобразовать строку в список Возник еще один вопрос: На вход функции поступает Список. Каким образом можно преобразовать строку вида: "((x (y L) L) (z L) L))" в список вида '((x (y L) L) (z L) L)) ? Данная строка или множество подобных строк будут считываться из входного файла. Функции (concatenate 'list str) и (coerce "abc" 'list) не дают искомого, возвращают список с элементами вида #\x Заранее благодарен. https://www.cyberforum.ru/ lisp/ thread1669240.html | Lisp Разбор лямбда-функции, описывающей часть логической схемы Здравствуйте, друзья! Очень прошу помочь в следующей задаче (\lambda-исчисление): - имеются константы следующего вида: - xL ;логическое НЕ - xLy ;логическое ИЛИ - x(yL)L ;логическое И - имеется булева функция: f (x,y,z) = x & y & z, т.е. два последовательных конъюнктора (первый с входами X, Y и второй с входами ВЫХОД ПЕРВОГО, Z (т.е. включены каскадом)). Эта же... https://www.cyberforum.ru/ lisp/ thread1669106.html |
Определите значение выражения Lisp Определите значение выражения ‘(+ 2 (* 3 5)) И есть ли какие нибудь уроки по LispWork? И какие еще бывают компиляторы на Lisp? |
Lisp Алгоритм Прима Алгоритм Прима отличается от алгоритма Краскала тем, что на каждом шаге добавляется не ребро, a вершина (такая, чтобы длина добавляемого ребра при этом была минимальной). Вот неоптимальная реализация: ;; Дать список "свободных" вершин (defun get-free-v (graph tree) (let ((full-v (apply 'append (mapcar 'butlast graph)))) (setof (remove-if (lambda (x) (member x tree)) full-v)))) https://www.cyberforum.ru/ lisp/ thread1666392.html |
4527 / 3521 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
|
|
27.02.2016, 20:08 | 0 |
Преобразовать список во множество - Lisp - Ответ 880938427.02.2016, 20:08. Показов 2115. Ответов 11
Метки (Все метки)
Ответ
setf лишний. Макрос pushnew сам выполняет присваивание — для этого он, собственно, говоря, и нужен. При этом он возвращает значение — список, полученный после присвоения, и вы его второй раз присваиваете.
Есть и функция adjoin, которая для данного списка и объекта добавляет объект в список, если его там нет. Как пишет CLHS, (pushnew item place), грубо говоря, эквивалентно (setf place (adjoin item place)). То есть pushnew относится к adjoin как push относится к cons. Вернуться к обсуждению: Преобразовать список во множество Lisp
3
|
27.02.2016, 20:08 | |
Готовые ответы и решения:
11
Функция работы со списками: преобразовать список во множество Определить функцию "Множество", преобразующую список в множество Дан список (a b) (b c) (c d) .). Преобразовать его в ассоциативной список Вложение словаря в множество - почему нельзя? Альтернативы: список словарей или множество кортежей(списков) |
27.02.2016, 20:08 | |
27.02.2016, 20:08 | |
Помогаю со студенческими работами здесь
0
Преобразовать множество Список: Преобразовать список так, чтобы сначала шли нечетные элементы, а потом четные Преобразовать формулу во множество дизъюнктов Преобразовать список в список позиций чётных элементов. |