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))))

)

)


 

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

26346. Политическая борьба в США после окончания Войны за независимость. Американская конституция 1787 г 20.18 KB
  представляла отдельным штатам фактическую самостоятельность вплоть до права объявления войны; конгресс же конфедерации являлся консультативным органом и даже бюджет его составлялся только из добровольных взносов штатов. Уже первая конституция Статьи конфедерации знала институт президента глава которого возглавлял Конгресс своего рода собрание дипломатов тринадцати участвующих штатов. в большинстве отдельных штатов была разработана новая конституция губернаторов сделали чисто исполнительными органами парламентов урезав ссылаясь на...
26347. Франция в п.п. XVII в. Ришелье 20.09 KB
  Ришелье. Ришелье занимал пост первого министра Людовика XIII и был фактическим руководителем государства. Ришелье и политика укрепления абсолютизма. Ришелье многое сделал для укрепления абсолютизма.
26348. Внутренняя и внешняя политика Франции в годы правления Людовика XIV 19.96 KB
  Внутренняя и внешняя политика Франции в годы правления Людовика XIV. Внутренняя политика Людовика XIV Внешний блеск царствования Людовика XIV страшно истощил силы населения которое временами очень бедствовало особенно во вторую половину царствования когда Людовика XIV окружали в основном бездарности или посредственности. Сосредоточивая управление всеми делами в своих руках или в руках министров Людовик XIV окончательно утвердил во Франции систему бюрократической централизации. Стесняя права церкви по отношению к королевской власти и...
26349. Французская абсолютная монархия в XVIII в. – внутренняя и внешняя политика Людовика XV 13.64 KB
  внутренняя и внешняя политика Людовика XV. Система Людовика XIV привела страну к совершённому разорению под бременем тяжёлых налогов громадного государственного долга и постоянных дефицитов. И Людовик XV и Людовик XVI были люди беспечные не знавшие иной жизни кроме придворной; они ничего не сделали для улучшения общего положения дел. В начале царствования Людовика XV который приходился Людовику XIV правнуком за малолетством короля управлял герцог Орлеанский Филипп.
26350. Франция при Людовике XVI. Революционная ситуация 1787-1789 г 26.35 KB
  Франция при Людовике XVI. Людо́вик XVI 23 августа 1754 21 января 1793 король Франции из династии Бурбонов сын дофина Людовика Фердинанда наследовал своему деду Людовику XV в 1774. Людовик сначала принял конституцию 1791 года отказался от абсолютизма и стал конституционным монархом однако вскоре начал нерешительно противодействовать радикальным мерам революционеров и даже попытался бежать из страны. После свержения республиканские власти лишили Людовика XVI титула короля и дали ему фамилию Капет фр.
26351. Начало Французской буржуазной революции. Взятие Бастилии 14.43 KB
  12 июля в Париж проникли известия об отставке министра Неккера которому король приказал покинуть пределы Франции. Уже вечером 12 июля произошли первые столкновения народа с правительственными войсками. Утром 13 июля над Парижем загудел набат призывая парижан к восстанию. 13 июля парижские выборщики организовали Постоянный комитет преобразованный позднее в коммуну Парижский муниципалитет.
26352. Буржуазные преобразования во Франции в 1789 – 1791 г 21.47 KB
  Уже в июле Собрание создало комиссию по подготовке декларации и конституции Франции. Однако изза роста крестьянских восстаний Собрание безотлагательно начинает с решения аграрного вопроса. Призывая остальную часть дворянства пожертвовать своими правами в интересах справедливости и принести жертвы на алтарь отечества Учредительное собрание 11 августа приняло декреты по аграрному вопросу. Таким образом не решив сути аграрного вопроса Учредительное собрание в декретах 4 11 августа объявило что полностью уничтожает феодальный режим.
26353. Общественно – политическая жизнь Франции в 1791 – 1792 гг. Вареннский кризис и Конституция 1791г 21.07 KB
  и переезд короля и Собрания в Париж резиденцией монархии стал дворец в Тюильри. Дантон Шометт Кондорсе выступали ее горячими поборниками на собраниях секций. Депутаты Учредительного собрания на момент разбирательства временно отрешили короля от власти. Не теряя надежды после стольких преобразований договориться с Людовиком XVI и установить в королевстве конституционную монархию а также стремясь дать самый решительный отпор сторонникам республики депутаты Собрания прикладывали все усилия для спасения сильно пошатнувшейся репутации...
26354. Второй этап революции. 1792-1793 г. Начало революционных войн 30.8 KB
  Свержение монархии во Франции Подготовка интервенции против революционной Франции Революция во Франции способствовала подъему антифеодальной борьбы в других странах. Не только в Лондоне и Петербурге Берлине и Вене в Варшаве и Будапеште но и за океаном прогрессивные общественные круги с жадностью ловили вести из революционной Франции. Чем очевиднее становилось сочувствие к Французской революции и ее прогрессивным идеям со стороны передовой общественности всех стран тем большую ненависть к революционной Франции обнаруживали европейские...