> 1 <

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

Alda

Members


Статус

2 сообщений

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

#5512   2012-01-13 06:48 GMT+3 часа(ов)      
Доброго времени суток! Дано задание написать программу на параллельную рекурсию: определить предикат, проверяющий, что все элементы первого числового списка больше элементов второго списка.
Прежде чем задавать рекурсию, как я понимаю, надо сравнить списки по количеству элементов.
Подскажите, пожалуйста, это сделать. Что-то зависла на этом пункте((

VH

Members


Статус

289 сообщений

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

#5517   2012-01-13 18:31 GMT+3 часа(ов)      
(defun F (L1 L2)
(cond
((null L1))
((null L2))
((<= (car L1) (car L2)) nil)
(T
(and
(F L1 (cdr L2))
(F (cdr L1) L2)))))

А количество сравнивать нет смысла: если в первом списке один элемент, но он больше каждого элемента второго списка - предикат должен возвратить T; если во втором списке один элемент, но каждый элемент первого списка больше него - предикат должен возвратить T.

VH

Members


Статус

289 сообщений

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

#5520   2012-01-13 19:59 GMT+3 часа(ов)      
Для устранения некоторой избыточности действий функции:
(defun F (L1 L2)
(cond
((null L1))
((null L2))
((atom L1)
(and
(> L1 (car L2))
(F L1 (cdr L2))))
(T
(and
(F (car L1) L2)
(F (cdr L1) L2)))))

Alda

Members


Статус

2 сообщений

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

#5529   2012-01-17 20:03 GMT+3 часа(ов)      
Спасибо большое.
> 1 <


Онлайн :

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