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

)

)


 

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

20365. ОБЩИЕ ПРИНЦИПЫ ГЕНЕРИРОВАНИЯ И УСИЛЕНИЯ ВЧ И СВЧ КОЛЕБАНИЙ 209 KB
  ОБЩИЕ ПРИНЦИПЫ ГЕНЕРИРОВАНИЯ И УСИЛЕНИЯ ВЧ И СВЧ КОЛЕБАНИЙ Классификация и физический механизм работы ВЧ и СВЧ генераторов Генератор на электровакуумном приборе Генератор на биполярном транзисторе Генератор на полевом транзисторе Генератор на диоде Клистронный генератор Генератор на лампе бегущей волны Время взаимодействия носителей заряда с электромагнитным полем Принципы синхронизма и фазировки носителей заряда с электромагнитным полем Мощность взаимодействия носителей заряда с электромагнитным полем 3. В основе работы всех типов...
20366. ЭЛЕКТРИЧЕСКИЕ ЦЕПИ ВЧ ГВВ 136 KB
  ЭЛЕКТРИЧЕСКИЕ ЦЕПИ ВЧ ГВВ 10. Согласующие цепи в узкополосных ВЧ транзисторных генераторах 10. Согласующие цепи в широкополосных ВЧ генераторах 10. Обобщенная схема ГВВ Назначение входной цепи состоит в согласовании входного сопротивления транзистора Zвх с источником возбуждения.
20367. ЭЛЕКТРИЧЕСКИЕ ЦЕПИ широкополосных генераторов 63 KB
  Согласующие электрические цепи в широкополосных ВЧ генераторах 11. Согласующие электрические цепи в широкополосных ВЧ генераторах Предельная возможность согласования генератора с нагрузкой в полосе частот. На одной частоте можно произвести оптимальное согласование генератора с нагрузкой при любых параметрах последней выполнив условие 5. при создании широкополосного генератора.
20368. СВЧ ТРАНЗИСТОРНЫЕ ГВВ 97.5 KB
  СВЧ ТРАНЗИСТОРНЫЕ ГВВ 13. СВЧ транзисторный генератор балансного типа 13. Линейный режим работы транзисторного СВЧ генератора 13. Режим перелива мощности в транзисторных СВЧ генераторах 13.
20369. Устройства генерирования и формирования сигналов (УГФС) в системах подвижной радиосвязи (СПРС) 93.5 KB
  Место и функции радиопередающих устройств РпдУ в системах подвижной связи Радиопередающими устройствами более коротко радиопередатчиками называются радиотехнические аппараты служащие для генерирования усиления по мощности и модуляции высокочастотных ВЧ и сверхвысокочастотных СВЧ колебаний подводимых к антенне и излучаемых в пространство. Третья из названных функций модуляция есть процесс наложения исходного сообщения например речи или телевизионного изображения на ВЧ или СВЧ колебания. В зависимости от назначения...
20370. КЛАССИФИКАЦИЯ, КАСКАДЫ, СТРУКТУРНАЯ СХЕМА и параметры РАДИОПЕРЕДАТЧИКОВ 228 KB
  Для характеристики типа радиопередатчика следует указать к какому виду он относится в каждом из пяти названных разрядов.1 Наименование диапазона Длина волны Частота Назначение системы и радиопередатчика Мириаметровые сверхдлинные волны 100. В зависимости от полосы пропускания различают узко и широкополосные генераторы; умножитель частоты служащий для умножения частоты колебаний; преобразователь частоты предназначенный для смещения частоты колебаний на требуемую величину; делитель частоты служащий для деления частоты колебаний; частотный...
20371. ОСНОВЫ ТЕОРИИ ВЧ ГЕНЕРАТОРА С ВНЕШНИМ ВОЗБУЖДЕНИЕМ 372.5 KB
  ОСНОВЫ ТЕОРИИ ВЧ ГЕНЕРАТОРА С ВНЕШНИМ ВОЗБУЖДЕНИЕМ 4. Обобщенная схема генератора с внешним возбуждением и ее анализ 4. Динамические характеристики ВЧ генератора и максимально отдаваемая им мощность 4. Нагрузочные амплитудные и частотные характеристики ВЧ генератора 4.
20372. Ламповые высокочастотные генераторы с внешним возбуждением 433.5 KB
  4 а для анодного тока при при ; при 5. Для анодного тока рис.7 где крутизна линии граничного режима проводимая через точки резкого спада анодного тока см.4а для сеточного тока при запишем: при ; при 5.
20373. Юридичні терміни. Тлумачний словник 1.71 MB
  Рекомендовано Міністерством освіти і науки України лист№ 14 18. У роботі над словником взяли участь викладачі Академії адвокатури України та юридичного факультету Київського національного університету імені Тараса Шевченка. Законодавство України на відміну від законодавства деяких країн напр. АГРАРНЕ ПРАВО одна з важливих галузей права України що є правонаступником колгоспного та сільськогосподарського права.