ПЗ 4_2021. Название Линейный однонаправленный список
Скачать 31.29 Kb.
|
Практическое задание № 4 Название: «Линейный однонаправленный список» Целью выполнения практического задания является достижение следующих результатов освоения (РО): - знания методов разработки алгоритмического и специального программного обеспечения вычислительной техники; - умения разрабатывать алгоритмическое и специальное программное обеспечение вычислительной техники. Перечисленные РО являются основой для формирования следующих компетенций: профессиональных: ДПК3 - Способность владеть языками процедурного и объектно-ориентированного программирования, навыками разработки алгоритмического и специального программного обеспечения вычислительной техники. Теория и методические указания Динамическая структура данных – это структура данных, определяющие характеристики которой могут изменяться на протяжении ее существования. Обеспечиваемая такими структурами способность к адаптации часто достигается меньшей эффективностью доступа к их элементам. Динамические структуры данных отличаются от статических двумя основными свойствами: 1) в них нельзя обеспечить хранение в заголовке всей информации о структуре, поскольку каждый элемент должен содержать информацию, логически связывающую его с другими элементами структуры; 2) для них зачастую неудобно использовать единый массив смежных элементов памяти, поэтому необходимо предусматривать ту или иную схему динамического управления памятью. Для обращения к динамическим данным применяют указатели. Созданием динамических данных должна заниматься сама программа во время своего исполнения. В языке программирования Паскаль для этого существует специальная процедура New(Current). После выполнения данной процедуры в оперативной памяти ЭВМ создается динамическая переменная, тип которой определяется типом указателя Current. После использования динамического данного и при отсутствии необходимости его дальнейшего использования необходимо освободить оперативную память ЭВМ от этого данного с помощью соответствующей процедуры Dispose(Current).Список – это структура данных, представляющая собой логически связанную последовательность элементов списка. Наиболее простой способ организовать структуру данных, состоящее из некоторого множества элементов - это организовать линейный список. При такой организации элементы некоторого типа образуют цепочку. Для связывания элементов в списке используют систему указателей, и в зависимости от их количества в элементах различают однонаправленные и двунаправленные линейные списки. В таком списке любой элемент имеет один указатель, который указывает на следующий элемент в списке или является пустым указателем у последнего элемента. Задание на выполнение Разработать программу, выполняющую обработку данных динамических структур в соответствии с индивидуальным заданием. Программа должна обеспечивать: 1) формирование структуры; 2) вывод данных структуры на экран. Варианты задания Вариант задания выдается преподавателем (таблица 1). Отчет должен содержать: титульный лист, задание, листинг программы, скриншоты результаты программы. Таблица 1 – Варианты заданий
Пример выполнения Разработать программу, которая обрабатывает данные в виде линейного однонаправленного списка. Элемент списка имеет информационное поле типа «строка». Алгоритм работы программы: Описание структуры списка. Формирование списка. Вывод списка на экран. Листинг программы: program spisok; uses crt; type point=^zveno; zveno=record data:string;{информационное поле} sled:point; end; var i,n:integer; l,s:point; begin clrscr; writeln('Введите первоначальное количество элементов списка'); readln(n); writeln('Введите данные списка'); {Формирование списка} new(l); readln(l^.data); l^.sled:=nil; s:=l; for i:=1 to n-1 do begin new(s^.sled); s:=s^.sled; readln(s^.data); s^.sled:=nil; end; {Установка указателя на начало списка} s:=l; writeln('Сформированный список'); {Пока не дойдем до конца списка выводим содержимое элементов списка} while s<>nil do begin write(s^.data,' '); s:=s^.sled; end; end. Результаты работы программы: Контрольные вопросы 1) Линейный однонаправленный список. 2) Операция создания элемента. 3) Операция удаления элемента. 4) Преимущества и недостатки линейного однонаправленного списка. Список учебно-методической и дополнительной литературы 1) Орлов С.А. Теория и практика языков программирования : учебник по направлению «Информатика и вычислит. техника» / С.А. Орлов. - СПб.: Питер, 2014. - 688 с.: ил. 2) Невская Е.С. Искусство программирования / Е.С. Невская, А.А. Чекулаева, М.И. Чердынцева; под ред. Г.А.Угольницкого. - 2-е изд. - М.: Вузовская кн., 2014. - 207 с. : ил. 3) Ключарев А.А., Матьяш В.А., Щекин С.В. Структуры и алгоритмы обработки данных: Учеб. пособие/ СПбГУАП. СПб., 2003. 172 с.: ил. |