> 1 <

Автор Сообщение

Dimon

Members


Статус

1 сообщений

Где: Russia
Род занятий:
Возраст:

#3602   2010-12-06 17:12 GMT+3 часа(ов)      
Помогите пожалуйста решить, сам чето не разберусь никак
1.) Определите рекурсивную функцию MBR (от двух аргументов) выбора конкретного члена из списка имен. При определении функции ис-пользуйте следующий алгоритм:
а. Если список - NULL, возврат NIL. Имя не является членом нулевого списка.
b. Если имя - EQL с CAR от списка(имя сопоставимо с CAR от спис-ка), то возврат Т. Имя является первым членом списка.
c. Если имя не является EQL с CAR от списка, то возврат - значение возвращенное процедурой, примененной к CDR от списка .Имя является членом списка тогда, когда оно является членом CDR от списка .
2.) Определите рекурсивную функцию EQLIST, которая возвращает Т, если два списка, состоящие из атомов, равны. Иначе возвращается NIL. При определении функции используйте следующий алгоритм:
а. Если первый список - NULL, возврат: проверка второго списка.
b. Если второй список - NULL, возврат: NIL .
c. Если NOT EQL CAR от первого списка с CAR от второго, возврат: NIL .
d. Возврат: EQLIST CDR от первого списка с CDR от второго.

megamanx

Members


Статус

307 сообщений

Где: Russia
Род занятий:
Возраст:

#3605   2010-12-06 23:06 GMT+3 часа(ов)      
(defun mbr(A L)
(cond
((null L) nil)
((eql (car L) A) T)
(T (mbr A (cdr L)))))
 
(defun eqlist(L1 L2)
(cond
((null L1) (if (null L2) T nil))
((eql (car L1) (car L2)) (eqlist (cdr L1) (cdr L2)))
(T nil)))

мне так грустно(((( что даже не хочется читать морали(((((((((
I wish I'd made you angry earlier
> 1 <


Онлайн :

0 пользователь(ей), 37 гость(ей) :