Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчет по учебной практике.docx
Скачиваний:
41
Добавлен:
11.05.2015
Размер:
325.14 Кб
Скачать

2.2 Запись

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

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

2.3 Абстрактный тип данных «список»

В математике список представляет собой последовательность элементов определенного типа: а1, а2, …..аn, где n≥0 и все аi имеют один тип. Количество, n – длина списка, если n ≥ 1, то а1 – первый элемент, а аn – последний, в случае n = 0 имеем пустой список.

Списки являются чрезвычайно гибкой структурой: их легко сделать большими или меньшими; их элементы доступны для вставки или удаления в любой позиции списка. Списки можно объединять или разбивать на меньшие списки.

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

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

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

3 Разработка алгоритма

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

Начало

Выбор действия

Редактирова-ние

Добавление

Конец

Просмотр всего списка