20981

Конструирующая рекурсия

Лабораторная работа

Информатика, кибернетика и программирование

DEFUN F11_2 X L COND NULL L T = 0 REM X CAR L NIL T F11_2 X CDR L DEFUN F11_1 X Y S IF = 2 Y SETQ S NIL SETQ S F11_1 N Y 1 COND AND = 0 REM X Y F11_2 Y S CONS Y S T REVERSE S DEFUN F11 N COND OR NOT INTEGERP N NOT PLUSP N Error_Not_Integer = N 1 NIL T F11_1 N N Реверсировать элементы списка произвольной структуры на всех уровнях. DEFUN F12_1 L COND NULL L ' ATOM CAR L APPEND F12_1 CDR L LIST CAR L LISTP CAR L APPEND...

Русский

2013-08-02

20.47 KB

1 чел.

Лабораторная работа № 3.

Конструирующая рекурсия.

  1.  Сформировать список простых множителей заданного числа.

(DEFUN F11_2 (X L)

(COND ((NULL L) T)

((= 0 (REM X (CAR L))) NIL)

(T (F11_2 X (CDR L)))

)

)

(DEFUN F11_1 (X Y S)

(IF (= 2 Y)

(SETQ S NIL)

(SETQ S (F11_1 N (- Y 1)))

)

(COND ((AND (= 0 (REM X Y)) (F11_2 Y S)) (CONS Y S))

(T (REVERSE S))

)

)

(DEFUN F11 (N)

(COND ((OR (NOT (INTEGERP N)) (NOT (PLUSP N))) Error!_Not_Integer)

((= N 1) NIL)

(T (F11_1 N N))

)

)

  1.  Реверсировать элементы списка произвольной структуры на всех уровнях.

(DEFUN F12_1 (L)

(COND ((NULL L) '())

((ATOM (CAR L)) (APPEND (F12_1 (CDR L)) (LIST (CAR L))))

((LISTP (CAR L)) (APPEND (F12_1 (CDR L)) (LIST (F12_1 (CAR L)))))

)

)

(DEFUN F12 (L)

(COND ((NOT (LISTP L)) Error!_Not_list!)

((NULL L) List_is_Empty!)

(T (F12_1 L))

)

)

  1.  Линеаризовать список произвольной структуры.

(DEFUN F13_1 (L)

(COND ((NULL L) NIL)

((LISTP (CAR L)) (APPEND (F13_1 (CAR L)) (F13_1 (CDR L))))

(T (CONS (CAR L) (F13_1 (CDR L))))

)

)

(DEFUN F13 (L)

(COND ((NOT (LISTP L)) Error!_Not_list!)

((NULL L) List_is_Empty!)

(T (F13_1 L))

)

)

  1.  Сформировать список, являющийся пересечением двух заданных линейных списков.  Повторяющиеся в исходных списках элементы должны входить в результирующий список не более одного раза.

(DEFUN F14_1 (L1 L2 P)

(COND ((NULL L2) P)

((AND (MEMBER (CAR L2) L1) (NOT (MEMBER (CAR L2) P)))

(SETQ P (CONS (CAR L2) P))

(SETQ P (F14_1 L1 (CDR L2) P)))

(T (SETQ P (F14_1 L1 (CDR L2) P)))

)

)

(DEFUN F14 (L1 L2)

(COND ((OR (NOT (LISTP L1)) (NOT (LISTP L2))) Error!_Not_list!)

((NULL L1) NIL)

((NULL L2) NIL)

(T (F14_1 L1 L2))

)

)

  1.  Сформировать список чисел ряда Фибоначчи (см. задание N 5) от первого числа до числа с заданным номером включительно.

(DEFUN F15_1 (M N P H)

(SETQ H (+ (CAR P) (CDR P)))

(IF (< M N)

(CONS H (F15_1 (+ M 1) N (CONS H (CAR P))))

(LIST H)

)

)

(DEFUN F15 (N)

(COND ((NOT (NUMBERP N)) Error!_Not_number!)

((<= N 0) Error!_Wrong_number!)

((EQ N 1) '(1))

((EQ N 2) '(1 2))

(T (CONS 1 (CONS 2 (F15_1 3 N))))

)

)


 

А также другие работы, которые могут Вас заинтересовать

1596. Клинические исследования молочной железы 18.95 KB
  Молочная железа, вымя коровы - железистый орган, состоящий из 4 четвертей; каждая из них внизу заканчивается соском. Вымя осматривают сзади и сбоку; при этом обращают внимание на его форму, сохранность волосяного покрова, цвет кожи; выявляют повреждения, кожные заболевания или их следы
1597. Конструкция искусственных вагин используемых в ветеринарии 19.23 KB
  Искусственная вагина - прибор, состоящий из цилиндра, изготовленного из металла, резины или эбонита, в просвет которого вставлена эластичная резиновая трубка. Искусственная вагина для быка имеет цилиндр из толстой резины и эластичную камеру, концы которой завернуты на концы цилиндра.
1598. Контроль за животными в послеродовый период. Ранняя акушерско-гинекологическая диспансеризация на фермах 21.01 KB
  Необходимость этого обусловлена тем, что организм животного, ослабленный беременностью и родами, в этот период необходимо в рацион включать легкопереваримые корма, богатые витаминами и минеральными солями, и скармливать эти корма нужно небольшими порциями.
1599. Кормление, содержание и эксплуатация производителей 21.45 KB
  Кормление производителей по энергетическому уровню должно быть таким, чтобы они постоянно находились в заводской кондиции. Во избежание ожирения или, напротив, снижения упитанности их ежемесячно взвешивают.
1600. Краткая история развития ветеринарного акушерства, гинекологии и биотехники размножения животных. Роль и достижения отечественных ученых 21.79 KB
  Элементы ветеринарного акушерства зарождались в то время, когда человек начал приручать животных, и возникла необходимость в простейших приемах родовспоможения. Постепенно накапливался акушерский опыт у определенных людей, появились так называемые знахари, которые передавали свои знания другим поколениям.
1601. Макроскопическая оценка качества спермы: объем, цвет, консистенция, запах 18.5 KB
  Доброкачественная сперма должна содержать достаточное количество живых, устойчивых во внешней среде и способных принять участие в оплодотворении спермиев.
1602. Маститы. Распространение и экономический ущерб 20.23 KB
  Мастит – воспаление молочной железы, развивающиеся как следствие воздействия механических, термических, химических и биологических факторов.
1603. Методика и степень разбавления спермы 19.18 KB
  Для разбавления спермы используют специальные среды, создающие следующие преимущества: получается большой объем спермы, что имеет важное практическое значение для интенсивного использования ценных производителей, в сперме, смешанной с некоторыми разбавителями, спермии переходят из активного в анабиотическое состояние.
1604. Методы определения течки, охоты, полового и овуляции у разных видов животных 20.38 KB
  Течка — выделение прозрачной слизи из половых органов самки. Характеризуется покраснением и набуханием слизистой оболочки преддверия влагалища и влагалищной части шейки матки.