Главная страница
Навигация по странице:

  • New(Current)

  • Dispose(Current)

  • ПЗ 4_2021. Название Линейный однонаправленный список


    Скачать 31.29 Kb.
    НазваниеНазвание Линейный однонаправленный список
    Дата16.03.2021
    Размер31.29 Kb.
    Формат файлаdocx
    Имя файлаПЗ 4_2021.docx
    ТипДокументы
    #185068

    Практическое задание № 4
    Название: «Линейный однонаправленный список»
    Целью выполнения практического задания является достижение следующих результатов освоения (РО):

    - знания методов разработки алгоритмического и специального программного обеспечения вычислительной техники;

    - умения разрабатывать алгоритмическое и специальное программное обеспечение вычислительной техники.
    Перечисленные РО являются основой для формирования следующих компетенций:

    профессиональных:

    ДПК3 - Способность владеть языками процедурного и объектно-ориентированного программирования, навыками разработки алгоритмического и специального программного обеспечения вычислительной техники.

    Теория и методические указания
    Динамическая структура данных – это структура данных, определяющие характеристики которой могут изменяться на протяжении ее существования.

    Обеспечиваемая такими структурами способность к адаптации часто достигается меньшей эффективностью доступа к их элементам.

    Динамические структуры данных отличаются от статических двумя основными свойствами:

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

    2) для них зачастую неудобно использовать единый массив смежных элементов памяти, поэтому необходимо предусматривать ту или иную схему динамического управления памятью.

    Для обращения к динамическим данным применяют указатели.

    Созданием динамических данных должна заниматься сама программа во время своего исполнения. В языке программирования Паскаль для этого существует специальная процедура New(Current).

    После выполнения данной процедуры в оперативной памяти ЭВМ создается динамическая переменная, тип которой определяется типом указателя Current.

    После использования динамического данного и при отсутствии необходимости его дальнейшего использования необходимо освободить оперативную память ЭВМ от этого данного с помощью соответствующей процедуры Dispose(Current).Список – это структура данных, представляющая собой логически связанную последовательность элементов списка.

    Наиболее простой способ организовать структуру данных, состоящее из некоторого множества элементов - это организовать линейный список. При такой организации элементы некоторого типа образуют цепочку. Для связывания элементов в списке используют систему указателей, и в зависимости от их количества в элементах различают однонаправленные и двунаправленные линейные списки.

    В таком списке любой элемент имеет один указатель, который указывает на следующий элемент в списке или является пустым указателем у последнего элемента.

    Задание на выполнение
    Разработать программу, выполняющую обработку данных динамических структур в соответствии с индивидуальным заданием. Программа должна обеспечивать:

    1) формирование структуры;

    2) вывод данных структуры на экран.

    Варианты задания
    Вариант задания выдается преподавателем (таблица 1). Отчет должен содержать: титульный лист, задание, листинг программы, скриншоты результаты программы.
    Таблица 1 – Варианты заданий



    Задание



    Разработать программу, которая содержит динамическую следующего характера: № компьютер, объем ОЗУ, объем ПЗУ.

    Программа должна обеспечивать начальное формирование данных в виде списка.



    Разработать программу, которая содержит текущую информацию о студентах: ФИО, группа, средний балл.

    Программа должна обеспечивать хранение данных обо всех студентах в виде списка.



    Разработать программу, которая содержит текущую информацию о мобильных телефонах: марка, год выпуска, цена.

    Программа должна обеспечивать начальное формирование данных обо всех телефонах в виде вписка.



    Разработать программу, которая содержит динамическую информацию о книгах: название, ФИО автора, количество страниц.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о горах: название горы, страна, высота.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о длинах катетов прямоугольного треугольника. Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию об адресе: улица, номер дома, номер квартиры.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о товарах: наименование, цена, количество. Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о процессорах: наименование, тактовая частота, количество ядер.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о книгах: название, цена, год издания.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о клиентах банка: ФИО, номер счета, сумма на счете.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о сотрудниках: ФИО, должность, оклад.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о мониторах: марка, цена, размер диагонали.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о вакансиях: название, размер оклада, дата добавления вакансии.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о школьниках: ФИО, класс, количество пропусков.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о банках: название, ФИО директора, уставный капитал.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о вузах: название, город, позиция в рейтинге.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию об основных средствах: наименование, первоначальная стоимость, подразделение.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о валютах: наименование, курс, дата курса.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию об объектах недвижимости: наименование, адрес, цена.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о музеях: наименование, страна, особенность.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию о футболистах: ФИО, название клуба, амплуа.

    Программа должна обеспечивать начальное формирование списка.



    Разработать программу, которая содержит динамическую информацию об исполнителях песен: ФИО, жанр, страна происхождения.

    Программа должна обеспечивать начальное формирование списка.


    Пример выполнения
    Разработать программу, которая обрабатывает данные в виде линейного однонаправленного списка. Элемент списка имеет информационное поле типа «строка».

    Алгоритм работы программы:

    1. Описание структуры списка.

    2. Формирование списка.

    3. Вывод списка на экран.


    Листинг программы:
    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 с.: ил.


    написать администратору сайта