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


 

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

21341. Структура базовой информационной технологии и алгоритм решения 513.5 KB
  Структура базовой информационной технологии и алгоритм решения Концептуальный уровень описания содержательный аспект Так как средства и методы обработки данных могут иметь разное значение то различают глобальную базовую и специальную конкретную информационные технологии1. Специальные конкретные ИТ задают обработку данных в определенных типах задач пользователей. Следующие за процессом Получение информационные процессы уже производят преобразование данных. Процесс обработки данных включает .
21342. Информационные технологии. Введение в дисциплину 216 KB
  К основным направлениям дальнейшего влияния ИСиТ на экономику и управление производством относятся: активизация процессов рыночного взаимодействия; создание рынка информации и информационных услуг; увеличение потребности в информационных услугах; глобализация международного бизнеса за счет развития сетей типа Интернет; изменения организационных структур предприятия и др. Различные задачи обработки информации требуют соответствующей подготовки информационной культуры всех членов общества. Существование множества определений информации...
21343. Информатика — научная дисциплина 863.5 KB
  Информатика как наука Информатика научная дисциплина изучающая структуру и общие свойства информации а также закономерности всех процессов обмена информацией. Информатика трактовалась как комплексная научная и инженерная дисциплина изучающая все аспекты разработки проектирования создания оценки функционирования основанных на ЭВМ систем переработки информации их применения и воздействия на различные области социальной практики. Информатика в широком смысле представляет собой единство разнообразных отраслей науки техники и...
21344. Преобразования структурных схем 749 KB
  Перенос точки ветвления через узел Перенос узла суммирования через звено по ходу сигнала Перенос узла суммирования через звено против хода сигнала Перенос точки ветвления через звено по ходу сигнала Перенос точки ветвления через звено против хода сигнала Последовательное соединение звеньев Последовательным соединением звеньев называется такое соединение при котором выходная величина предыдущего звена поступает на вход последующего. Следовательно при последовательном соединении звеньев их передаточные функции перемножаются Нули и...
21345. Устойчивость систем автоматического управления 1.15 MB
  Оценить устойчивость системы можно в результате исследования ее математической модели то есть решить соответствующую систему дифференциальных уравнений. Для разомкнутой системы математическая модель в операторной форме: или где оператор дифференцирования. Для замкнутой системы: или .
21346. Свойства систем автоматического управления 975.5 KB
  Системы характеризуются: запасом устойчивости областями устойчивости притяжения качеством регулирования и другими характеристиками. Структурная устойчивость неустойчивость Это такое свойство замкнутой системы при наличии которого она не может быть сделана устойчивой ни при каких изменениях параметров. Годограф Найквиста для данной системы изображен на Рис. Устойчивость этой системы определяется значениями параметров и .
21347. Теория автоматического управления 720 KB
  Постановка задачи автоматического управления. Типовые звенья систем автоматического управления все виды математических моделей построение частотных характеристик: Идеальное и реальное усилительные идеальное и реальное дифференцирующие идеальное формирующее идеальное интегрирующее звено второго порядка апериодическое колебательное консервативное минимально фазовые звенья. Устойчивость систем автоматического управления: Анализ устойчивости САУ по корням характеристического уравнения Алгебраический критерий устойчивости Гурвица.
21348. Минимально фазовые и неминимально фазовые звенья 1.64 MB
  Если в передаточной функции произвести замену то получаем называемое частотной характеристикой звена частотный коэффициент передачи звена. Общая фаза выходного сигнала звена будет складываться из частичных фаз определяемых каждым двучленом числителя и знаменателя. Если хотя бы один из корней звена расположен справа то такое звено не минимально фазовое звено.
21349. Порядок эксплуатации станции. Подготовка к работе 34.71 KB
  Подготовка станции помех к работе заключается в подготовке к работе основных устройств и блоков изделия. Перед включением, проверьте надежность и правильность подключения заземления, состояние и надежность подключения кабелей питания.