Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.06.2013, 18:10   #1
DemonXZ
 
Регистрация: 21.05.2013
Сообщений: 4
Печаль [Язык LISP] Используя функцию DEFUN, определить функцию

Используя функцию DEFUN, определить функцию f (a x), где a – S - выражение, а x - список, состоящий из 2-3 элементов которая уменьшает элементы списка х на единицу, если число а является элементом списка х, и возвращает исходный список х в противном случае (х содержит 3 числовых атома).

Нужно использовать функции, как в нижеописанном примере:
Код:
CL-USER 1 > 
(defun g(a b x)
  (cond ((eql a b) x)
    (t (cons b x))))
G
 
CL-USER 2 > 
(defun f(a x)
  (cond ((atom a)               ;первая 
    (g a (car x)                ;пара
      (g a (cadr x)             ;формы
        (g a (caddr x) nil))))  ;cond
    (t x)))                     ;вторая пара  
F
 
CL-USER 3 > 
(f 'a '(a b a))              ;вызов функции
(B)                          ;элементы удалены, т.к. a - атом
 
CL-USER 4 > 
(f'(a b) '((a b) d a))           
((A B) D A)                  ;список не изменился, т.к. (a b) - не атом
В особенности нельзя использовать функцию mapcap

Последний раз редактировалось DemonXZ; 09.06.2013 в 18:16.
DemonXZ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[LISP] Требуется определить функцию DemonXZ Фриланс 3 22.05.2013 11:09
[LISP] Используя функцию DEFUN, определить функцию f (a x) DemonXZ Помощь студентам 0 21.05.2013 22:14
[LISP] Определить функцию без параметров, конструирующую список DemonXZ Фриланс 0 21.05.2013 22:10
Определить логическую функцию "I" (конъюнкция) двух аргументов (DrScheme, язык Lisp) Eone_TGX Помощь студентам 2 12.12.2011 21:37
Определить из наибольший общий делитель, используя функцию нахождения общего делителя. Igomax Помощь студентам 6 23.05.2009 19:41