Практическая обработка множества данных, представляющих собой массив указателей на записи

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

 

 

 

 

 

 

 

 

 

 

 

 

 

практическая обработка множества данных, представляющих собой массив указателей на записи

СОДЕРЖАНИЕ

 

Введение

.Описание программы

1.1Описание главной программы и перечень модулей

.2Модуль menumod.tpu

.3Модуль RabotaND.tpu

.4Модуль RabotaDR.tpu

2.Проверка работы программы

2.1Создание нового набора данных

.2Добавление новых элементов в конец НД

.3Просмотр всех элементов НД

.4Поиск элемента по номеру

.5Переход к работе с другим НД

.6Создание нового НД из всех элементов с заданным значением ключевого поля.

2.7 Сохранение всех элементов в другом НД

Заключение

Список использованных источников

Приложение А

 

Введение

 

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

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

  1. Создание НД.
  2. Добавление новых элементов в конец НД.
  3. Просмотр всех элементов НД.
  4. Поиск элемента по номеру (позиционирование текущего элемента).
  5. Переход к работе с другим НД.

Дополнительно, в соответствии с моим вариантом (18 вариант), необходимо выполнить реализацию следующих запросов:

  1. Создание нового НД из всех элементов с заданным значением ключевого поля.
  2. Сохранение всех элементов в другом НД.

Множество данных должно представлять собой информацию о марках телевизорах:

  1. название (string);
  2. размер по диагонали (integer);
  3. средняя стоимость (real);
  4. тип: цветной, черно-белый, переносной (перечислимый тип).

В работе должны быть соблюдены следующие условия и ограничения:

  1. Главную процедуру программы с реализацией простейшего меню следует определить в отдельном модуле.
  2. Процедуры, реализующие запросы, должны быть размещены в одном или более модулях.
  3. Глобальные данные: Спецификация файла. Никаких других глобальных переменных использовать нельзя.
  4. Вместе с меню на экране должно быть отображено:
  5. номер текущего элемента;
  6. содержимое текущего элемента.
  7. На экран выводить элементы в виде таблицы (один элемент - одна строка таблицы).
  8. Если после выполнения запроса изменяется хотя бы один элемент, то заканчивать запрос выводом всего множества элементов.
  9. Тестами к заданиям служат 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 и соответственно происходит выполнение определенных процедур в главной программе.

В процедуре описаны следующие переменные и константы:

  1. Х и у - Переменные для позиционирования левого верхнего угла окна, в котором будет выводиться меню.
  2. Х1 и У1 - Переменные для позициониро