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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 13:38   #1
Alexey123
Новичок
Джуниор
 
Регистрация: 24.12.2010
Сообщений: 1
По умолчанию Задача на ЛИСП

Помогите пожалуйсиа с задачей на ЛИСП
1.) Определите рекурсивную функцию MBR (от двух аргументов) вы-бора конкретного члена из списка имен. При определении функции ис-пользуйте следующий алгоритм:
а. Если список - NULL, возврат NIL. Имя не является членом нулево-го списка.
b. Если имя - EQL с CAR от списка(имя сопоставимо с CAR от спис-ка), то возврат Т. Имя является первым членом списка.
c. Если имя не является EQL с CAR от списка, то возврат - значение возвращенное процедурой, примененной к CDR от списка .Имя является членом списка тогда, когда оно является членом CDR от списка .
Alexey123 вне форума Ответить с цитированием
Старый 24.12.2010, 15:53   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Могу конечно ошибаться, ЛИСП недавно стал изучать плотно, но предполагаю что-то вроде этого:
Код:
(defun foo (a b)
 (cond (
           (EQL (car b) a) (T)
           (EQ (cdr b) nil) (nil)
           (foo a (cdr b))
          )
 )
)
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 24.12.2010, 16:27   #3
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Немного поправлю:
Код:
(defun mbr (name nameList)
  (cond
    ((eq nameList nil) nil)
    ((eql name (car nameList)) t)
    (t (mbr name (cdr nameList)))))
netrino вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лисп: Применение. Рейтинги. Levsha100 Свободное общение 2 26.04.2010 06:55
Лисп сопоставить leest Помощь студентам 9 09.03.2010 23:13