20980

Рекурсивная обработка списковой информации

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

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

DEFUN F7_1 L COND NULL L 0 LISTP CAR L F7_1 CAR L F7_1 CDR L T IF NUMBERP CAR L CAR L F7_1 CDR L F7_1 CDR L DEFUN F7 L COND NOT LISTP L Error_Not_list T F7_1 L Определить максимальную глубину списка произвольной структуры. DEFUN F8_1 L COND NULL L 1 ATOM CAR L F8_1 CDR L T MAX 1 F8_1 CAR L F8_1 CDR L DEFUN F8 L COND NOT LIST L Error_Not_list T F8_1 L 1 Найти максимальный элемент в числовом списке...

Русский

2013-08-02

23.34 KB

6 чел.

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

Рекурсивная обработка

списковой информации.

  1.  Определить  предикат,  распознающий списки,  имеющие четное (нечетное) количество элементов.

(DEFUN F6_1 (L N)

(COND ((NULL L) (EVENP N))

(T (F6_1 (CDR L) (+ N 1)))

)

)

(DEFUN F6 (L)

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

 ((NULL L) List_is_empty)

((EQ (F6_1 L 0) T) Chislo_elementov_Chetno)

(T Chislo_elementov_Nechetno)

)

)

  1.  Подсчитать сумму всех числовых атомов в списке произвольной структуры.

(DEFUN F7_1 (L)

(COND ((NULL L) 0)

((LISTP (CAR L)) (+ (F7_1 (CAR L)) (F7_1 (CDR L))))

(T (IF (NUMBERP (CAR L)) (+ (CAR L) (F7_1 (CDR L))) (F7_1 (CDR L))))

)

)

(DEFUN F7 (L)

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

 (T (F7_1 L))

)

)

  1.  Определить максимальную глубину списка произвольной структуры.

(DEFUN F8_1 (L)    

(COND

 ((NULL L) 1)

 ((ATOM (CAR L)) (F8_1 (CDR L)))

 (T (MAX (+ 1 (F8_1 (CAR L))) (F8_1 (CDR L))))

)

)

(DEFUN F8 (L)

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

(T (F8_1 L 1))

)

)

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

(DEFUN F9_1 (L)

(COND ((NULL (CDR L)) (IF (NUMBERP (CAR L))

(CAR L)

(F9_1 (CAR L))

))

(T (IF (< (F9_1 (CAR L)) (F9_1 (CDR L)))

(F9_1 (CDR L))

(F9_1 (CAR L))

))

)

)

(DEFUN F9 (L)

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

((NULL L) List_is_empty)

  (T (F9_1 L))

)

)

  1.  Написать  функцию,  выполняющую  вычисление арифметических выражений, заданных в виде списка. Используемые операции – умножить (*), разделить (/), сложить (+), вычесть (-). При вычислении учитывать приоритет операций и скобочные выражения.

(DEFUN F10_6 (L)

(COND ((NULL (CDR L)) (IF (LISTP (CAR L)) (F10_6 (CAR L)) (CAR L))) ((LISTP (CAR L))

(SETQ L (APPEND (LIST (FUNCALL (CADR L) (F10_6 (CAR L))

(F10_6 (CADDR L)))) (CDDDR L))) (F10_6 L))

(T (SETQ L (APPEND (LIST (FUNCALL (CADR L) (CAR L) (F10_6 (CADDR L)))) (CDDDR L))) (F10_6 L))

)

)

(DEFUN F10_5 (L P)

(IF (NULL P) (SETQ L (APPEND (LIST (F10_3 (CAR L))) (CDR L))))

(COND ((NULL L) NIL)

((OR (EQ (CADR L) "*" ) (EQ (CADR L) "/" )) (APPEND (LIST (CAR L) (CADR L)) (F10_5 (CDDR L))))

(T (LIST (CAR L)))

)

)

(DEFUN F10_4 (L)

(COND ((NULL (CDR L)) NIL)

((OR (EQ (CADR L) "*" ) (EQ (CADR L) "/" )) (F10_4 (CDDR L)) )

(T (CDR L))

)

)

(DEFUN F10_3 (L)

(COND ((NULL L) NIL)

((ATOM L) L)

(T (F10_2 L))

)

)

(DEFUN F10_2 (L P)

(IF (NULL P) (SETQ L (APPEND (LIST (F10_3 (CAR L))) (CDR L))))

(COND ((NULL (CDR L)) L)

((OR (EQ (CADR L) "*") (EQ (CADR L) "/")) (SETQ L (CONS (F10_5 L P) (F10_4 L))) (F10_2 L 1))

(T (APPEND (LIST (CAR L) (CADR L)) (F10_2 (CDDR L))))

)

)

(DEFUN F10_1 (L P)

(COND ((AND (NOT (NUMBERP (CAR L))) (NOT (LIST (CAR L)))) NIL)

((AND (LISTP (CAR L)) (NULL P)) (AND (F10_1 (CAR L)) (F10_1 L 1)))

((NULL (CDR L)) T)

((NULL (CDDR L)) NIL)

((OR (EQ (CADR L) '+ ) (EQ (CADR L) '- ) (EQ (CADR L) '* ) (EQ (CADR L) '/ ))

(F10_1 (CDDR L)))

(T NIL)

)

)

(DEFUN F10 (L)

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

((NULL L) List_is_empty)

((NOT (F10_1 L NIL)) Syntax_error!)

(T (SETQ L (F10_2 L)) (F10_6 L))

)

)


 

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

26652. Целостность географической оболочки 22 KB
  В результате происходят сложные и непрерывные процессы обмена веществ и энергии приводящие к изменению и развитию составных частей и в целом всей географической оболочки. Эта закономерность прослеживается в пределах как всей географической оболочки так и в небольших комплексах и в отдельных компонентах природы. Целостность системы носит настолько всеобщий характер что если в географической оболочке изменится какойлибо один компонент природы то начнут меняться все остальные.
26653. Экологические проблемы современности 321.5 KB
  С момента изготовленияпервого примитивного орудия человек уже не довольствует предметамисозданными природой а начинает изготовлять вводить в свой обиходпредметы вещества и т. В результате потоки вещества и энергии вызываемые деятельностью человека стали составлять заметную долю от общей величины биогенного круговорота.Отходы побочные продукты производства и быта загрязняют биосферу вызывают деформации экологических систем нарушают глобальный круговорот веществ и создают угрозу для здоровья человека.тонн: 1200 взвешенных веществ 190...
26654. ЭКОЛОГИЧЕСКИЙ ПОТЕНЦИAЛ И ЕГО РAЗРУШЕНИЕ 121.5 KB
  Эксплуaтaция экологического потенциaлa природных систем трaдиционно не входит в кaтегорию природопользовaния, однaко чистый воздух, водa, продукты питaния - это тот же сaмый природный ресурс, столь же дефицитный нa одних территориях, богaтый нa других и точно в той же степени, кaк и прочие ресурсы, исчерпaемый
26655. Природа и общество: этапы взаимодействия 65.5 KB
  многие принципиально новые явления – начала и продолжает формироваться наука все более получающая права гражданства под именем экологии человека происходит экологизация человеческого знания экологизируется человеческое мышление и создаются предпосылки для формирования глобального экологического мировоззрения. Каков был переход от общеэкологических исследований к разработке проблематики экологии человека и как эта последняя формировалась постепенно в недрах общей экологии Наверное не столько разрушения нанесенные человечеством природе...
26656. ЭКОЛОГИЧЕСКИЙ ПОТЕНЦИAЛ И ЕГО РAЗРУШЕНИЕ 113.5 KB
  Чем большим потенциaлом устойчивости облaдaют экосистемы и тем больше чистого водухa воды пищи достaнется в конечном счете человеку. ПАДЕНИЯ УРОВНЯ АРАЛА Непосредственная физическая причина снижения уровня Аральского моря это нарушение водного баланса водоема: превышение расхода воды над приходом. Важную роль сыграли дополнительные потери воды на испарение с поверхности многочисленных водохранилищ построенных в бассейнах Амударьи и Сырдарьи. На сокращении стока Амударьи и Сырдарьи сказались также нерациональное и неэкономное использование...
26657. Актуальные экологические проблемы современности 84 KB
  Тщательное изучение последствий изменения климата приводит к выводу что развивающиеся страны окажутся наиболее уязвимы. Исследование опубликованное Кембриджским Университетом под названием Изменения климата: воздействие на разные страны и их сопричастность представлено учеными из 30 стран в т. Хотя влияние изменения климата не везде одинаково приведенные в исследовании примеры демонстрируют насколько драматичным оно может оказаться для ряда стран.
26658. ЛАНДШАФТ АНТРОПОГЕННЫЙ 43 KB
  Anthropos человек Genes рождающий рожденный Антропогенный ландшафт географический ландшафт: созданный в результате целенаправленной деятельности человека; или возникший в ходе непреднамеренного изменения природного ландшафта. К антропогенным ландшафтам относятся природнопроизводственные комплексы городские поселения и т. В современной ландшафтной архитектуре выделяют понятия природного и антропогенного ландшафта. Они весьма чутки к изменениям вызываемым процессом урбанизации промышленного и сельскохозяйственного освоения...
26659. Аральское море 70 KB
  Одновременно значительно сократились объем воды в Арале с 1093 до 330 км3 то есть на 763 км3 или более чем в три раза и площадь водоема с 68 500 до 36 500 км2 то есть на 32 000 км2 или почти вдвое табл. Пролив Берга соединявший ранее Малое и Большое моря превратился в небольшой но достаточно длинный проток по которому излишки воды из Малого сбрасывались в Большое море. О НЕПОСРЕДСТВЕННОЙ ПРИЧИНЕ ПАДЕНИЯ УРОВНЯ АРАЛА Непосредственная физическая причина снижения уровня Аральского моря это нарушение водного баланса водоема:...
26660. Биосфе́ра 84.5 KB
  Масса живого вещества сравнительно мала и оценивается величиной 24361012 т в сухом весе и составляет менее 10−6 массы других оболочек Земли. Эту геологическую роль живого вещества можно представить себе по месторождениям угля нефти карбонатных пород и т. Рассеянные атомы непрерывно создающиеся из всякого рода земного вещества под влиянием космических излучений. Биологическое разнообразие – основа формирования устойчивых биогеохимических циклов вещества и энергии в биосфере Земле.