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

)

)


 

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

38997. Вход Господень в Иерусалим. Тайная вечеря и распятие 36.5 KB
  Эта традиция уходит корнями в те времена когда по земле ходил Господь Иисус Христос. Однажды заболел Его друг Лазарь а Господь находился в другом селении. Господь прослезился и сказал открыть гроб. Пальмовая ветвь символ победы в сражениях а Господь победил смерть.
38998. Традиции празднования Пасхи 42.5 KB
  Входит Шуня с пасхальным лукошком Шуня: Христос воскресе Здравствуйте ребята смотрите что у меня есть Матильда Леонардовна: Воистину воскресе Здравствуй Шунечка какое у тебя красивое лукошко а в нем все символы Пасхи собраны Шуня: И никакие не символы а самая вкусная пасхальная еда. Вот и яичко и пасочка и какаято горка творога вкусная наверное Матильда Леонардовна: Как ты не знаешь что это не простая еда а со значением символизирующая все самое важное в Пасхе И что это никакая не горка а творожная пасха а это не...
38999. Светлая седмица. Лукошко сказок: «Глухой колокол» 54 KB
  А Светлая потому что дарит людям радость на душе светло и легко Господь победил смерть Воскрес Смерти больше нет Зубок: А что вы говорили о загадке Матильда Леонардовна: Слушайте и отгадывайте: язык есть речей нет вести подает и поёт. Что это Шуня: Я не знаю а ты Зубок Зубок: Я тоже. А вы ребята Шуня: А давайте у Енотыча спросим Зубок: Побежали скорее Изучение нового материала. Енот Енотович: Что же это за загадка такая Зубок: Язык есть речей нет вести подает и поёт.
39000. Урок-повторение «Дорогой добра» 46.5 KB
  Вставь пропущенные буквы: ОЕНЬ ЛИА ОРА Осень липа Лиза лиса гора нора пора Кто такой Денница Падший ангел В какой день Бог отдыхал В седьмой Дополни пословицу: Маленькое лучше большого безделья. Спой песенку о днях творения День один день один Бог свет сотворил. День два день два сотворил Он небеса. День три день три реки травы и цветы.
39001. Откуда мы узнаем о Боге. Библия – Откровение Божие. Каков Он, Бог 36 KB
  08 Тема: Откуда мы узнаем о Боге Библия Откровение Божие. Каков Он Бог Цель: Познакомить детей с Книгой книг Библией; рассказать о том какой Он Бог свойства Божие; рассмотреть новозаветную и ветхозаветную иконы Святой Троицы объяснить понятие Бог Святая Троица на примере явления Ангелов Аврааму; изучить молитву Слава Тебе Боже наш слава Тебе. Скажи нам пожалуйста что такое святой угол Это то место в доме где находятся святые иконы и где мы можем общаться с Богом. Смотрите зажигаешь лампадку согревается сердце...
39002. Как Бог мир сотворил (1-3 дни творения) 40.5 KB
  И был вечер и было утро: день один. Матильда Леонардовна: Я даже знаю песенку ребята подпевайте первый куплет: День один день один Свет во тьме Бог сотворил. Шуня: А про этот день есть песенка Матильда Леонардовна: Да конечно подпевайте второй куплет: День два день два Небеса и облака. Подпевайте: День три день три Деревья травы и цветы.
39003. Как Бог человека сотворил. Человек – венец творения. Правила жизни, данные Богом в Раю 32.5 KB
  Цель: Изучить с детьми библейскую историю о сотворении человека; закрепить знания воспитанников о сотворении видимого мира; познакомить детей с жизнью первых людей в Раю; формировать у детей мировоззрение основанное на православных традициях; воспитывать ответственность за свое поведение. А как он создал человека Из чего Матильда Леонардовна: Внимание внимание открываем заседание клуба Совинформ Сегодня узнаем о создании человека. Изучение нового материала Рассказ жителей Шишкиного леса о сотворении человека.
39004. Дети Адама и Евы - Каин и Авель. Не завидуй 32 KB
  У Адама и Евы родились дети которых они назвали Каин и Авель. Каин был земледельцем выращивал овощи фрукты а Авель пастухом. Авель с любовью относился к Богу выбирал самое лучшее в дар Господу.
39005. Спасение Ноя. Обетование Бога 33 KB
  Оборудование: иллюстрации ковчега водной стихии радуги голубя кукла Шуни мышки. Преподаватель: А напоминает она о том как спасся Ной и об обещании Бога данном людям. Шуня: Ухты а как это было Преподаватель: Вспомните ребята почему был всемирный потоп Потому что люди стали забывать Бога думали только о еде и развлечениях стали недобрыми Сколько лет дал Бог людям для того чтобы они исправились 120 лет пока Ной с сыновьями строил ковчег Кто находился в ковчеге Все животные по паре которые не могут жить в воде;...