14733

Ознакомиться с реализацией рекурсивных структур данных (на примере списков) на языке Lisp

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

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

Лабораторная работа №7 Цели работы Ознакомиться с реализацией рекурсивных структур данных на примере списков на языке Lisp. Реализовать основные функции работы со списками: создание списка вставка элемента с клавиатуры на позицию по з

Русский

2013-06-09

31.5 KB

7 чел.

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

Цели работы

  1.  Ознакомиться с реализацией рекурсивных структур данных (на примере списков)  на языке Lisp.

  1.  Реализовать основные функции работы со списками:
    1.  создание списка,
    2.  вставка  элемента с клавиатуры на позицию по заданному номеру,
    3.  удаление элемента по номеру элемента,
    4.  поиск по номеру элемента (вывод значения),
    5.  поиск по значению элемента (вывод номера),
    6.  вывод на экран элемента по номеру,
    7.  вывод на экран всего списка.

  1.  Вызов функций осуществить с помощью системы текстового меню.

Описание работы

Работа представляет собой несколько дополнительных функций и одну основную (menu), средствами которой реализована работа со списком. Меню реализует 7 пунктов  для работы со списком и 1 для выхода из программы.

Перечислим эти пункты:

  1.  создание списка,
    1.  вставка  элемента с клавиатуры на позицию по заданному номеру,
    2.  удаление элемента по номеру элемента,
    3.  поиск по номеру элемента (вывод значения),
    4.  поиск по значению элемента (вывод номера),
    5.  вывод на экран элемента по номеру,
    6.  вывод на экран всего списка,
    7.  сортировка списка (вывод списка до и после сортировки),
    8.  Выход;

Исходный список задается изначально вводом с клавиатуры и выглядит следующим образом:

(8 7 6 5 4 3 2 1)

При выборе определенного пункта меню содержимое списка может быть изменено в соответствии с работой части кода функции menu, соответствующей данному пункту.  После работы определенной части кода, menu рекурсивно вызывает себя. Для завершения работы программы следует ввести “0”,  который соответствует завершению работы программы.

Описание дополнительных функций

insert (X N LST) - Вставка по номеру

Если список пуст, идёт добавление элемента. Иначе, если счетчик стоит на указанной позиции (для N = 1) идёт добавление элемента.  Для прочих N – рекурсивный вызов для N = N-1 и хвоста списка.

DEL (N LST)  – Удаление по номеру

Если N = 1, возвращается хвост, иначе – возвращается голова + результат рекурсивного вызова удаления.

SCH (N list) – Поиск

Функция рекурсивно вызывает саму себя, каждый раз передавая в качестве списка хвост текущего списка. Если функция находит искомый элемент, то возвращает строку "НАЙДЕН!" и прекращает поиск.  Если функция доходит до конца списка – возвращает строку  "НЕ НАЙДЕН!".

Примечание: Все прочие функции, использованные в лабораторной работе, с помощью которых были реализованы некоторые пункты меню, являются стандартными функциями среды GNU CLisp 2.45.

Вывод:

В ходе работы мы ознакомились с реализацией рекурсивных структур данных (на примере списков)  на языке Lisp. Были реализовать основные функции работы со списками (вставка, удаление, вывод), а также следующие дополнительные функции, такие как реверс списка, сортировка, очистка, поиск, определение длинны списка, нахождение максимального и минимального элемента, сумма элементов. Вызов функций был осуществлен с помощью системы текстового меню.


 

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

34543. Исторический роман 13.83 KB
  В пределах этой общей характеристики исторического романа нового типа диапазона переходов и разновидностей достаточно велик: от модернизации истории т. романа в котором исторически достоверны сюжет основные факты описание быта национальный и временный колорит но в конфликты и отношения героев внесены современные мотивировки и проблемы Безобразная герцогиня или Еврей Зюсс Л. романа представляющего собой в сущности исторически костюмированную современность романа намеков и иносказаний в котором в условноисторической оболочке...
34544. Роман воспитания в немецкой литературе 16.13 KB
  Bildungsromn тип романа получивший распространение в литературе немецкого Просвещения. Роман воспитания традиционная разновидность жанра романа в эволюции которой проступает одна из магистральных линий развития немецкой романистики на протяжении нескольких столетий. Уходя своими истоками в глубь времен в рыцарские повествования средневековья и плутовской роман барокко XVII века он получил законченную классическую форму в творчестве великих просветителей Германии К.
34545. Интеллектуальный роман Т. Манна 18.45 KB
  Манна Термин интеллектуальный роман был впервые предложен Томасом Манном. Манна или Г. Манна или Гессе существенно отличается от психологизма например у Дёблина. Манна признает перед собравшимися свою вину.
34546. Судьба художника в романе «Доктор Фаустус» Т. Манна 17.19 KB
  Манна выяснение природы художественного дара великого поэта выяснение связи этого дара со всеми особенностями человеческого характера Гете. Писатель видит в Гете и неповторимо . В романе речь идет не только о Гете о его творчестве но и о природе художникареалиста о самых фундаментальных свойствах реалистического искусства. Каждый из последовательно появляющихся героев романа Ример Лотта Адель фон Шопенгауэр Август наконец сам Гете это новая манера мышления новый вариант восприятия и оценки личности и творчества поэта.
34547. Противоречие духа и жизни в произведениях Т. Манна и Г. Гессе 19.73 KB
  Гессе Уже в раннем творчестве писателя наметилось устойчивое стремление варьировать и развивать углублять от произведения к произведению родственные темы конфликты и антитезы. Герман Гессе во многом был близок Т. Но интеллектуальный роман Гессе неповторимый художественный мир построенный по своим особым законам. Гессе свойственно живое восприятие романтизма Гельдерлина Нвалиса Эйхендрофа.
34548. Отрицание реалистической концепции характера в эстетике и творчестве В. Вулф 14.48 KB
  Все романы Вулф это своеобразное путешествие вглубь личности которую читатель может принять или не принять но которой не имеет право диктовать. Все ее романы об этой внутренней жизни в которой она находит больше смысла нежели в социальных процессах. Наибольшей известностью пользуются ее романы Комната Джекоба 1922 Миссис Дэллоуэй 1925 К маяку 1927 Волны 1931.
34549. Мифологизация повествования в произведениях Джойса 15.31 KB
  Сначала Джойс видел главную задачу искусства в познании истины и выражении истины через красоту а постепенно он приходит к мысли о том что красота выше истины он замечает что художник привносит красоту в мир все важнее для него формы. Джойс еще пишет что миф развернутый символ. Джойс движется от символа к мифу.
34550. Проблема художественной традиции в эстетике Т.С.Элиота 17.42 KB
  В собственном художественном творчестве Элиот стремился устранить расхождение между чувственным и интеллектуальным началом достигая синтеза с целью вернуть весомость поэтическому слову обесценившемуся изза романтической декламации. Элиот как поэт и в меньшей степени как драматург добившийся наиболее значительных высот в жанре стихотворной драмы со сложными этическими коллизиями Убийство в соборе 1935 предстает художником воплотившим типичные особенности мирочувствования и умонастроений своей катастрофической эпохи. В сознании...
34551. Проблематика и построение книги Рида Десять... 17.37 KB
  Революции. Ему важно понять суть революции. Он пишет о чужой революции но предельно заинтересованно и страстно. Десять дней которые потрясли мир книга американского журналистаДжона Рида об Октябрьской революции 1917 года в России свидетелем которой он был сам.