LINUX.ORG.RU

Поиск выхода из лабиринта.Программа на ЛИСПе


0

0

(SETQ LABYRINTH '(A (B) B (C A) C (B K) H (I) I (P M H) J (K) K (J C Q R) L (M N) M (T I LS) N (L S) P (Q I) Q (V P R K W) R (Q K) S (M N) T (M V) V (Q T Z) W (Q) Z (V))) (DEFUN WAY(A B)(PRLISTS(PATH A ()))) (DEFUN PRLISTS(L)) (COND ((NULL L) 0) (T (PRINT (CAR l)) (+1 (PRLISTS (CDR L))))) (DEFUN PATH(THIS PATH) (COND ((EQ THIS B) (LIST (REVERSE (CONS B PATH)))) ((MEMBER THIS PATH) ()) (T (NEXT(CADR (MEMBER THIS LABYRINTH)) (CONS THIS PATH))))) (DEFUN NEXT(NEXT PATH) (COND ((NULL NEXT) NIL) (T (APPEND (PATH (CAR NEXT) PATH) (NEXT (CDDR NEXT) PATH))))) вот текст этой проги .интерпритатор выдает что "Undefined function PATH" .В чем проблема?Заранее спасибо за ответ!

В форматировании, на месте интерпретатора, я бы пустил 220 тебе на клавиатуру.

wfrr ★★☆
()

(SETQ LABYRINTH '(A (B) B (C A) C (B K) H (I) I (P M H) J (K) K (J C Q R) L (M N) M (T I LS) N (L S) P (Q I) Q (V P R K W) R (Q K) S (M N) T (M V) V (Q T Z) W (Q) Z (V)))
(DEFUN WAY(A B)(PRLISTS(PATH A ())))
(DEFUN PRLISTS(L))
	(COND ((NULL L) 0)
		(T (PRINT (CAR l)) (+1 (PRLISTS (CDR L)))))
(DEFUN PATH(THIS PATH)
	(COND ((EQ THIS B) (LIST (REVERSE (CONS B PATH))))
		((MEMBER THIS PATH) ())
		(T (NEXT(CADR (MEMBER THIS LABYRINTH))
			(CONS THIS PATH)))))
(DEFUN NEXT(NEXT PATH)
	(COND ((NULL NEXT) NIL)
		(T (APPEND (PATH (CAR NEXT) PATH)
			(NEXT (CDDR NEXT) PATH)))))

getbraine
() автор топика
Ответ на: комментарий от getbraine

> что сие означает?

Данный товарищ какбе намекает на то, за каким дьяволом было писать все в upper-case, а так-как руками такое набирать глупо, мягко говоря, то, возможно, этот код топикстатер скопировал сначала в интерпретатор, а уже его выхлоп скопировал в топик.

K.O.

anonymous
()
Ответ на: комментарий от getbraine

Дык сначала функция path должна компилироваться, а потом way.
Можешь ручками С-с каждую из них.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.