Практическая обработка множества данных, представляющих собой массив указателей на записи
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
практическая обработка множества данных, представляющих собой массив указателей на записи
СОДЕРЖАНИЕ
Введение
.Описание программы
1.1Описание главной программы и перечень модулей
.2Модуль menumod.tpu
.3Модуль RabotaND.tpu
.4Модуль RabotaDR.tpu
2.Проверка работы программы
2.1Создание нового набора данных
.2Добавление новых элементов в конец НД
.3Просмотр всех элементов НД
.4Поиск элемента по номеру
.5Переход к работе с другим НД
.6Создание нового НД из всех элементов с заданным значением ключевого поля.
2.7 Сохранение всех элементов в другом НД
Заключение
Список использованных источников
Приложение А
Введение
Целью данной курсовой работы является практическая обработка множества данных, представляющих собой массив указателей на записи.
В программе необходимо реализовать следующие запросы к заданному множеству данных:
- Создание НД.
- Добавление новых элементов в конец НД.
- Просмотр всех элементов НД.
- Поиск элемента по номеру (позиционирование текущего элемента).
- Переход к работе с другим НД.
Дополнительно, в соответствии с моим вариантом (18 вариант), необходимо выполнить реализацию следующих запросов:
- Создание нового НД из всех элементов с заданным значением ключевого поля.
- Сохранение всех элементов в другом НД.
Множество данных должно представлять собой информацию о марках телевизорах:
- название (string);
- размер по диагонали (integer);
- средняя стоимость (real);
- тип: цветной, черно-белый, переносной (перечислимый тип).
В работе должны быть соблюдены следующие условия и ограничения:
- Главную процедуру программы с реализацией простейшего меню следует определить в отдельном модуле.
- Процедуры, реализующие запросы, должны быть размещены в одном или более модулях.
- Глобальные данные: Спецификация файла. Никаких других глобальных переменных использовать нельзя.
- Вместе с меню на экране должно быть отображено:
- номер текущего элемента;
- содержимое текущего элемента.
- На экран выводить элементы в виде таблицы (один элемент - одна строка таблицы).
- Если после выполнения запроса изменяется хотя бы один элемент, то заканчивать запрос выводом всего множества элементов.
- Тестами к заданиям служат 2 НД с правдоподобной информацией.
Описание программы
1.1Описание главной программы и перечень модулей
Программа состоит из трех модулей и главной программы. Все подпрограммы, которые выполняют необходимые запросы по работе с НД, находятся в трех модулях (MenuMod, RabotaND, RabotaDR).
В начале работы программы мы указываем набор данных, с которым будем работать. Затем на экране отображается вертикальное меню. В этом меню будут указаны все запросы, которые пользователь может выполнить с набором данных. При выборе пункта меню Выход работа программы будет закончена. Вместе с меню на экране отображается номер текущего элемента и его содержимое.
В главной программе также происходит заполнение массива пунктов меню значениями.
Код главной программы:
Uses Crt, MenuMod, RabotaND, RabotaDR;
;
{Ввод имени файла}
{Инициализация переменной для обозначения текущего элемента}
{Заполнение массива пунктов меню значениями}
{Вывод на экран текущих НД и элемента}_Tek(FileName, tek);
{Вывод меню}_Meny(mas,2,2,punkt);
{Выполнение процедур в зависимости от выбраного пункта}punkt of
: {Создание нового НД и его просмотр}
2: {Добавление новых элементов в конец НД и его просмотр}
3: {Просмотр всех элементов НД}
4: {Поиск элемента}
5: {Переход к работе с другим НД и просмотр его содержимого}
: {Создание нового НД из всех элементов с заданным значением ключе-вого поля.}
7: {Cохранение всех элементов в другом НД}
Sohr_v_nov(FileName);;
{Цикл выполняется до того, как будет нажат ESC}answ=#27;.
1.2Модуль menumod.tpu
Данный модуль содержит подпрограмму, которая прорисовывает на экран вертикальное меню для выполнения запросов пользователя. Для навигации в данном меню используются клавиши вверх, вниз, enter и esc на клавиатуре.
Описательная часть данного модуля:
Unit menumod;crt;Massiv=array [1..25] of string;
var mas:massiv;
В данном модуле тип Massiv это массив пунктов меню, а переменная, принадлежащая этому типу, является пунктом меню.
В модуле есть одна процедура:
My_Meny(Mas:Massiv; var punkt:byte);
В процедуру из главной программы передаются массив пунктов меню, состоящий из следующих значений:
Mas[1]:=1:Создать новый НД;
Mas[2]:=2:Добавить новые элементы в конец НД;
Mas[3]:=3:Просмотреть все элементы НД;
Mas[4]:=4:Поиск элемента по номеру ;
Mas[5]:=5:Перейти к работе с другим НД;
Mas[6]:=6:Создание нового НД из всех элементов с заданным значением ключе-вого поля.;
Mas[7]:=7:Cохранение всех элементов в другом НД;
Из процедуры в главную программу передается значение переменной punkt, в соответсвии с которой выбирается один из пунктов оператора CASE и соответственно происходит выполнение определенных процедур в главной программе.
В процедуре описаны следующие переменные и константы: