14733

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

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

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

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

Русский

2013-06-09

31.5 KB

6 чел.

Лабораторная работа №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. Были реализовать основные функции работы со списками (вставка, удаление, вывод), а также следующие дополнительные функции, такие как реверс списка, сортировка, очистка, поиск, определение длинны списка, нахождение максимального и минимального элемента, сумма элементов. Вызов функций был осуществлен с помощью системы текстового меню.


 

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

47500. Маркетинг. Тестові та ситуаційні завдання 2.67 MB
  Самостійна робота у навчанні студентів ІЕУ ІОФ маркетингу. теоретичні методичні та практичні аспекти маркетингу Змістовий модуль Теоретичні та методичні основи маркетингу. Актуальність і практична необхідність вивчення і використання маркетингу в умовах ринкових відносин.
47502. Телекомунікаційні системи та мережі. Методичні вказівки 430 KB
  Містять рекомендації щодо змісту структури правил оформлення дипломного проекту а також методику організації роботи студентадипломника приведено порядок представлення дипломного проекту до захисту. ЗАГАЛЬНІ ПОЛОЖЕННЯ Дипломне проектування його мета і структура Дипломне проектування є заключним етапом навчання студентів у ВНЗ і має своєю метою: а систематизацію закріплення і розширення теоретичних і практичних знань за фахом та використання їх під час розв’язання конкретних наукових технічних економічних і виробничих задач; б...
47503. СТАНДАРТ ПРЕДПРИЯТИЯ. МЕТОДИЧЕСКИЕ УКАЗАНИЯ 1.54 MB
  Цели и задачи квалификационной выпускной дипломной работы Цели и задачи квалификационной работы магистра Этапы подготовки квалификационной работы Защита квалификационных работ РАЗДЕЛ СТРУКТУРА И СОДЕРЖАНИЕ КВАЛИФИКАЦИОННОЙ РАБОТЫ
47504. Методичні вказівки. Економіка підприємства 201.5 KB
  Гетьмана МЕТОДИЧНІ ВКАЗІВКИЗ НАПИСАННЯ ДИПЛОМНОЇ РОБОТИ для студентів спеціальності “Економіка підприємства†спеціалісти денної та заочної форми навчання Сімферополь 2012 Методичні вказівки і тематика дипломних робіт для студентів спеціальності “Економіка підприємства†підготовлена кафедрою економіки підприємства Кримського економічного інституту ДВНЗ Київський національний економічний університет ім. МЕТА І ЗАВДАННЯ ДИПЛОМНОЇ РОБОТИ Написання і захист дипломної роботи є заключним етапом технологічного процесу підготовки...
47506. Методи стиснення інформації 161.5 KB
  Текст складається з досить обмеженої кількості символів. Український алфавіт наприклад складається з 33 літер та невеликої кількості спеціальних символів на кшталт коми тире апострофа и тд. Якщо враховувати всі 256 символів то для не буде різниці в стисканні тестового чи exe файлу. Файл довжиною в 100 байт що має 6 різних символів в собі.
47507. МЕТОДИЧНІ ВКАЗІВКИ ПО ВИКОНАННЮ РОЗДІЛУ ОХОРОНА ПРАЦІ 116 KB
  Методичні вказівки по виконанню розділу Охорона праці випускної молодшого спеціаліста для студентів спеціальності 5. Методичні вказівки роз'ясняють зміст і структуру розділу Охорона праці у випускній роботі молодшого спеціаліста. В них приводяться загальні організаційні моменти щодо роботи над розділом правил оформлення чернетки та опрацювання зауважень консультанта з охорони праці та навколишнього середовища.
47508. МЕТОДИЧНІ ВКАЗІВКИ ДО ВИКОНАННЯ РОЗДІЛУ БЕЗПЕКА ЖИТТЯ І ДІЯЛЬНОСТІ ЛЮДИНИ 888.5 KB
  Враховуючи що нещодавно Україна заявила про підтримку Концепції ООН де пріоритет віддається розвитку безпеки кожної людини а також виходячи з незадовільного стану безпеки громадян нашої держави якісна розробка питань забезпечення безпеки життя та діяльності людини БЖДЛ з метою запобігання виникнення ризику життя і здоров’ю людей має бути повною мірою реалізована у дипломному проектуванні виходячи з основних складових БЖДЛ Безпека життєдіяльності Екологія Охорона праці в галузі Цивільна оборона. При виконанні розділу “Безпека...