20983

Функционалы

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

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

DEFUN SORT FileName File1 File2 File3 File4 SETQ F OPENINPUTFILE FileName SETQ F1 OPENOUTPUTFILE File1 SETQ F2 OPENOUTPUTFILE File2 SETQ F3 OPENOUTPUTFILE File3 SETQ F4 OPENOUTPUTFILE File4 IF NOT EQ NIL F LOOP EQ NIL SETQ X READ F SORT_IS_FINISHED COND NUMBERP X WRITE X F1 LISTP X WRITE X F2 ;EQ SYM TYPE X WRITE X F3 T WRITE X F4 ERROR_WRONG_FILE_NAME .

Русский

2013-08-02

20.7 KB

3 чел.

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

Функционалы.

  1.  Сформировать список,  содержащий номера позиций  элементов исходного списка, удовлетворяющих заданному условию.

(DEFUN  F21_1  (L F K)

(COND ((NULL L)  NIL)

((FUNCALL F (CAR L)) (CONS K (F21_1 (CDR L) F (+ K 1))))  

(T (F21_1 (CDR L) F (+ K 1)))

)

)

(DEFUN F21 (L F)

(COND ((NOT (LISTP L)) ERROR!_WRONG_LIST_ARGUMENT!)

((NULL L) LIST_IS_EMPTY!)

 (T (F21_1 L F 1))

)

)

пример

(F21 ‘(-10 3 A P 4 -3 2 6 S) ‘MINUSP)  => (1 6)

 (F21 ‘(-10 3 A P 4 -3 2 6 S) ‘PLUSP)   => (2 5 7 8)

(F21 ‘(-10 3 A P 4 -3 2 6 S) ‘SYMBOLP)  => (3 4 9)

  1.  Задан линейный числовой список.  Сформировать список  сумм подмножеств элементов исходного списка таким образом, что на первом месте должна стоять сумма всех элементов списка,  на втором – сумма элементов без первого, на третьем - сумма элементов без первых двух и т.д.

(DEFUN F22 (L)

(COND ((NOT (LISTP L)) ERROR!_WRONG_LIST_ARGUMENT!)

((NULL L) LIST_IS_EMPTY!)

 (T (MAPLIST '(LAMBDA(L) (APPLY + L)) L))

)

)

пример

(F22 ‘(1 1 1 1 1 1 1))  => (7 6 5 4 3 2 1)

(F22 ‘(1 2 3 4 5 6 7))  => (28 27 25 22 18 13 7)

  1.  Удалить из исходного линейного списка все вхождения заданного элемента.

(DEFUN F23 (L X)

(COND ((NOT (ATOM X)) ERROR!_WRONG_ARGUMENT!)

((NOT (LISTP L)) ERROR!_WRONG_LIST_ARGUMENT!)

((NULL L) LIST_IS_EMPTY!)

(T  (MAPCON '(LAMBDA (L)

(IF (EQ (CAR L) X)

NIL

(LIST (CAR L))

)

)

L)

)

)

)

пример

(F23 ‘(A C X C A B Y X D A) X)   => (A C C A B Y D A)

(F23 ‘(A C X C A B Y X D A) A)   => (C X C B Y X D)

(F23 ‘(0 1 0 0 1 1 1 0 0) 1)   => (0 0 0 0 0)

  1.  Оставить в исходном линейном списке не более одного вхождения каждого элемента.

(DEFUN F24 (L)

(COND ((NOT (LISTP L)) "WRONG LIST ARGUMENT")

 (T  (MAPCON '(LAMBDA (L)

(IF (MEMBER (CAR L) (CDR L))

NIL

(LIST (CAR L))

)

)

     L)

)

)

)

пример

(F24 ‘(A C X C A B Y X D A))   => (A C X B Y D)

(F24 ‘(0 1 0 0 1 1 1 0 0))   => (0 1)

  1.  Даны два исходных списка одинакового размера. Сформировать из неравных друг другу элементов с одинаковыми порядковыми номерами точечные пары, объединив их в один результирующий список.

(DEFUN F25 (L1 L2)

(COND ((OR (NOT (LISTP L1)) (NOT (LISTP L2))) ERROR!_WRONG_LIST_ARGUMENT!)

((OR (NULL L1) (NULL L2)) ERROR!_LIST_IS_EMPTY!)

((NOT (= (LENGTH L1) (LENGTH L2))) ERROR!_DIFFERENT_LENGTHS!)

(T  (MAPCAN '(LAMBDA (L1 L2)

(IF (AND (ATOM L1) (ATOM L1) (Not (EQ L1 L2)))

(LIST (CONS L1 L2))

NIL

)

)

L1 L2)

)

)

)

пример

(F25 ‘(A B C D 2 F) ‘(A C X 3 6 F))  => ((B . C) (C . X) (D . 3) (2 . 6))

(F25 ‘(A B C D 2 F) ‘(A C X 3))   => ERROR!_DIFFERENT_LENGTHS!

Входной  файл  на внешнем носителе содержит исходные данные в виде множества допустимых в ЛИСП структур данных.  Рассортировать его  и записать на внешний носитель в виде четырех файлов, каждый из которых содержит либо  числовые  атомы,  либо  символьные атомы, либо точечные пары, либо списки.

(DEFUN SORT (FileName File1 File2 File3 File4)

(SETQ F   (OPEN-INPUT-FILE FileName))

(SETQ F1 (OPEN-OUTPUT-FILE File1))

(SETQ F2 (OPEN-OUTPUT-FILE File2))

(SETQ F3 (OPEN-OUTPUT-FILE File3))

(SETQ F4 (OPEN-OUTPUT-FILE File4))

(IF (NOT (EQ NIL F))

 (LOOP

  

  ((EQ NIL (SETQ X (READ F))) SORT_IS_FINISHED)

  (COND ((NUMBERP X) (WRITE X F1))

   ((LISTP X) (WRITE X F2))

   ;((EQ SYM (TYPE X)) (WRITE X F3))

   (T (WRITE X F4))

)

)

ERROR!_WRONG_FILE_NAME!

)

)


 

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

2723. Через тернии – к звездам 69.62 KB
  Внеклассное мероприятие, посвященное Дню космонавтики. КВН Через тернии – к звездам Пояснительная записка По данному сценарию я дважды проводила внеклассное мероприятие, посвящённое Дню Космонавтики: 12 апреля 2001 года (к 40-летию со дня пол...
2724. Деятельностный подход на уроке астрономии на тему: 58.35 KB
  Деятельностный подход на уроке астрономии на тему: Связь физических характеристик звезд Я считаю предмет астрономии очень важным для изучения в средней школе. Древнейшая наука непостижимым образом связывает воедино все естественнонаучные дисциплин...
2725. Удивительный мир Вселенной 25.78 KB
  Звездный час по теме, Удивительный мир Вселенной Учитель. Ребята, мы проводим занятие, тема которого Удивительный мир Вселенной. Успех его проведения зависит от вас, от вашей активности, дисциплинированности, организованности и самоу...
2726. Календарь исследовательских и творческих работ 43.05 KB
  Календарь исследовательских и творческих работ Проверь в природе- ежедневная системная потребность. Природоведение (естествознание), 5-й класс Не уставай шагать по дороге знаний. Литература  Настольные книги читального зала кабинета биологии....
2727. Мифы, отраженные в небе 20.82 KB
  Мифы, отраженные в небе. Урок по астрономии с использованием интерактивной доски Урок по астрономии с использованием интерактивной доски. Продолжительность 40 минут, проводится как обобщающе-повторительный после прохождения темы Введение в астрономию...
2728. Малые тела Солнечной системы 204.95 KB
  Объяснительно-иллюстрированный урок Малые тела Солнечной системы Ход урока Организационная часть. Формулировка темы и цели урока. Мотивация. Актуализация знаний. Объяснение нового материала. Итог урока...
2729. Поурочные разработки по теме: 37.51 KB
  Поурочные разработки по теме: Звезды Современная астрономия располагает большим количеством аргументов в пользу утверждения, что звезды образуются путем конденсации облаков газово - пылевой межзвездной среды. Процесс образования звезд из этой сред...
2730. Україна в складі Російської та Австрійської імперій 128.5 KB
  Україна в складі Російської та Австрійської імперій (ХІХ ст.) Суспільно-політичний рух в Наддніпрянській Україні у ХІХ ст. Національне відродження на Західноукраїнських землях. Основні етапи національного відродження та українське ...
2731. Субъекты таможенного права 250 KB
  Субъектом права в любой отрасли права принято считать носителя определенных прав и обязанностей, которым он наделен государством для реализации своих жизненных потребностей либо возложенных на него полномочий в соответствующей сфере общественных отношений.