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

)

)


 

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

27910. Исследование работы неуправляемых однофазных выпрямителей с помощью по «Electronics Workbench» 311.5 KB
  Выпрямители служат для преобразования переменного напряжения питающей сети в постоянное. Основными компонентами выпрямителей служат вентили – элементы с явно выраженной нелинейной вольт-амперной характеристикой. В качестве таких элементов используют кремниевые диоды.
27911. Ремонт подшипников кол вала. Обоснование необходимости ремонта 48 KB
  3 Системы сертификации действующие в сфере автомобильного транспорта. Правовые основы сертификации в РФ. Началом для введения сертификации послужило принятие двух законов: О защите прав потребителя О сертификации товаров и услуг В 1998 году были приняты кардинальные изменения к закону О сертификации товаров и услуг которые в качестве формы подтверждения соответствия определили: Обязательную сертификацию. С этого момента 1998 начали развиваться системы добровольной сертификации.
27912. Оценка технического состояния а/м. Нормативные значения параметров тех состояния. Начальное, предельно-допустимое и предельное значение параметров тех сост 90 KB
  2 Способы мойки и очистки деталей. Очистка деталей от нагара накипи и продуктов коррозии производится механическим термохимическим и комбинированным методами. Механическая очистка твердых отложений на а м дет осуществляется при помощи металлических щеток косточковой крошкой металлическим песком гидропескоструйной обработкой. Косточковая крошка изготавливается из скорлупы зёрен плодов является мягким материалом и не разрушает повти дет включая алюминиевые.
27913. Комплексные показатели эффективности системы ТО и ремонта. Расчёт коэффициента технической готовности по нормативным показателям 46.5 KB
  Обозначение допусков размеров и формы на чертежах смотри вопрос 3 При разработке конструкторской документации на изделие в зависимости от вида изделия могут выполняться следующие документы: рабочий чертеж детали это документ содержащий изображение детали и другие данные необходимые для ее изготовления и контроля; сборочный чертеж это документ содержащий изображение сборочной единицы и другие данные необходимые для ее сборки и контроля; чертеж общего вида это документ определяющий конструкцию изделия взаимодействие его составных...
27914. ОПРЕДЕЛЕНИЕ КОМПРЕССИИ 38.5 KB
  Техническая норма времени характеризует время необходимое для выполнения определенной работы в условиях данного производства с учетом передового опыта и современных достижений техники технологии и организации производства. Тшт = То Тв Тоб Тп То основное технологического время необходимого на изменение состояния дет формы размеров Тв вспомогательное время включает время на установку и снятие обрабатываемой дет на промеры подвод и отвод инструмента и тд; Тоб время на организационнотехническое обслуживание рабочего...
27915. Способы предпусковой тепловой подготовки двигателей. Теплоносители. Устройство передачи тепла к двигателям 56 KB
  Устройство передачи тепла к двигателям. Существующие способы можно разделить на три группы: 1сохранение тепла от предыдущей работы дв; 2использование тепла от внешнего источника; 3холодный пуск. Пуск с использованием тепла от внешних источников применяется при длительном хранении а м в межсменное время. Для равномерного распределения тепла при вводе пара в рубашку охлаждения в последней применяются специальные отражатели.
27916. Показатели безотказности. Расчет показателей безотказности 48.5 KB
  Геометрическими свойствами являются шероховатость и направление неровностей поверхности погрешности формы конусность овальность и т. Качество поверхности оказывает влияние на все эксплуатационные свойства деталей машин: износостойкость усталостную прочность прочность неподвижных посадок коррозионную стойкость и т. Целенаправленное формирование качества поверхности при изготовлении и восстановлении изношенных деталей имеет огромное значение для обеспечения долговечности и надёжности автомобилей. Из геометрических свойств наибольшее...
27917. Причины преждевременного износа и разрушения а/м шин. Технология ремонта местных повреждений шин 53.5 KB
  Технология ремонта местных повреждений шин. Долговечность шины в эксплуатации определяется полным износом протектора или наличием местных разрушений. По статистическим данным около 74 шин гр а снимают с эксплуатации вследствие износа протектора около 20 изза механических повреждений пробои порезы и около 5 в результате разрыва каркаса.
27918. АКБ в сухозаряженном исполнении выпускаются без электролита 82 KB
  4 Лизинговые системы и методы расчета по ним В лизинговые платежи включаются: амортизация лизингового имущества за весь срок действия договора лизинга компенсация платы лизингодателя за использованные им заемные средства комиссионное вознаграждение плата за дополнительные услуги лизингодателя предусмотренные договором лизинга а также стоимость выкупаемого имущества если договором предусмотрены выкуп и порядок выплат указанной стоимости в виде долей в составе лизинговых платежей. При согласовании метода начисления лизингового платежа...