Форум программистов, компьютерный форум, киберфорум
Lisp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 21

Задание со спискоразрушающими функциями

14.12.2015, 20:08. Показов 535. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток
Помогите пожалуйста с заданием:
- Используя спискоразрушающие функции RPLACA и RPLACD, вставить новый элемент за каждым вхождением заданного элемента в список.
И все бы ничего, но кроме rplaca и rplacd можно использовать простейшие функции Лиспа и рекурсии. Никаких циклов и прочего.
Заранее благодарю!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2015, 20:08
Ответы с готовыми решениями:

Задание с функциями
УСЛОВИЕ ЗАДАНИЯ При заданных пяти вариантах допустимой ошибки e заданным численным методом вычислить приближенное значение корня...

Задание с функциями
Два простых (которое делится на 1 и на самого себя) числа называются «близнецами», если они отличаются один от другого на 2 (например, 41...

Задание с функциями
Помогите с решением задачи, я не могу понять, как её делать:(: Даны отрезки a, b, c,d. Проверить для каждой тройки этих отрезков, можно...

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
14.12.2015, 21:02
Цитата Сообщение от jack_sparrow228 Посмотреть сообщение
Никаких циклов и прочего
- а было бы легче, если бы?

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(defun task (lst a x &optional (f (cdr lst)))
  (cond ((null lst) nil)
        ((eq (car lst) a) (rplacd f (cons x (cdr lst))) (task (cddr lst) a x (cdr lst)))
        (t (task (cdr lst) a x (cdr lst)))))
 
==> task
 
 
(setq *z* '(1 2 3 4 2 5 2))
 
==> (1 2 3 4 2 5 2)
 
(task *z* 2 '!)
 
==> NIL
 
*z*
 
==> (1 2 ! 3 4 2 ! 5 2 !)
1
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 21
14.12.2015, 21:29  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
а было бы легче, если бы?
С опшионалом, безусловно, выглядит короче и интереснее, но нужно и без него тоже)
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,724
Записей в блоге: 14
15.12.2015, 20:08
Цитата Сообщение от jack_sparrow228 Посмотреть сообщение
С опшионалом, безусловно, выглядит короче и интереснее, но нужно и без него тоже)
- попробуй изжить &optional самостоятельно. Это просто.
1
1 / 1 / 0
Регистрация: 09.04.2015
Сообщений: 21
22.12.2015, 21:23  [ТС]
Цитата Сообщение от Catstail Посмотреть сообщение
- попробуй изжить &optional самостоятельно. Это просто.
Извините, не могли бы вы объяснить как работает опшионал здесь? зачем после него стоит (f(cdr lst))? Куда программа записывает обрабатываемый список? В f ? Что возвращает программа? Опять f?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.12.2015, 21:23
Помогаю со студенческими работами здесь

Строки, решение задание стандартными функциями
Задание: В строке имеются лишние проблемы Нужно преобразовать ее так, чтобы между словами был ровно один пробел. Подскажите, с помощью...

В чем различие между функциями VBA и функциями Excel?
В чем различие между функциями VBA и функциями Excel. Скажите пожалуйста , в гугле не могу найти)

Задание исходного значения параметра эксперимента (задание интенсивности прибытия заявок)
Доброго времени! Вопрос в следующем: можно ли сделать так, чтобы в блоке source число генерируемых заявок задавалось не напрямую в...

Проверьте верно ли сделано задание (задание для ослабленных детей)
Схема дана на фото, нужно найти скорости точек А и В изображенных на схеме, проверьте мое решение пожалуйста !!!

Переписать коды командных файлов, выполняющих одно задание, так, чтобы они выполняли другое задание
задание №1 нужно каким-то образом переделать в задание №2 Задание №1: Написать командный файл, выполняющий следующие действия...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru