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

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

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

? из трех типов телевизоров: Цветной, Черно-белый и Переносной. Например, нам нужно создать новый файл, в котором будут храниться записи только о цветных телевизорах. Поэтому мы сначала введем имя нового файла, а затем выберем 1.

 

Рисунок 14 - Создание файла, в котором будут сохранены элементы с заданным значеним ключевого поля

 

Для сравнения, на рисунке 15 изображено содержание начального набора данных.

После того, как мы выберем значение ключевого поля и нажмем Enter, мы можем увидеть содержимое нового файла, в который скопированы записи с заданным значением ключевого поля. Это изображено на рисунке 16

 

Рисунок 15 - Исходный НД

 

Рисунок 16 - Созданный НД

 

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

 

Выберем пункт меню Сохранение всех элементов в другом НД и нажмем клавишу Enter. Программа запросит имя НД, в который следует скопировать текущий. Это изображено на рисунке 17

 

Рисунок 17 - Запрос на имя нового файла

 

На рисунках 18 и 19 изображены два исходных файла, а на рисунке 20 мы можем видеть файл после копирования в него другого.

 

Рисунок 18 - Первый набор данных

 

Рисунок 19 - Второй набор данных

Рисунок 20 - Результат выполнения запроса Сохранение всех элементов в другом НД

Заключение

программа данное множество

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

Все условия и ограничения, описанные в задачах и целях данной курсовой работы, были соблюдены. Как было установлено во второй главе, вся работа с НД выполняется корректно.

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

 

1.Зуев Е.А. Программирование на языке Turbo Pascal 6.0,7.0,/ Е.А. Зуев// М.:Веста,Радио и связь, 1993. - 376с.

.Введение в программирование [Текст] : учеб. пособие для вузов по направлению и специальности Асои [Текст] / Л.В. Шапоров [и др.]; под ред. И.В. Фленов. - М. : Высшая школа, 2005. - 601 с.

.Свободная энциклопедия ВикипедиЯ [Электронный ресурс]. - 2011. - Режим доступа:

 

Приложение А

 

ПОЛНЫЙ КОД ПРОГРАММНОГО КОМПЛЕКСА

 

Листинг основной программы:

Uses Crt, MenuMod, RabotaND, RabotaDR;

;

{Ввод имени файла}(Введите путь к файлу: );(Filename);

{Инициализация переменной для обозначения текущего элемента}:=2;

{Заполнение массива пунктов меню значениями}[1]:=1:Создать новый НД;[2]:=2:Добавить новые элементы в конец НД;[3]:=3:Просмотреть все элементы НД;[4]:=4:Поиск элемента по номеру ;[5]:=5:Перейти к работе с другим НД;[6]:=6:Создание нового НД из всех элементов с заданным значением ключе-вого поля.;[7]:=7:Cохранение всех элементов в другом НД;;

{Вывод на экран текущих НД и элемента}(14);(1, 9);(Текущий НД - ,Filename);(1,12);(Номер текущего элемента - ,n-1);(1,13);(Содержание текущего элемента:);(1,14);

tek:=n-1;

Vivod_Tek(FileName, tek);(2,2);

{Вывод меню}_Meny(mas,punkt);

textcolor (LightCyan);

{Выполнение процедур в зависимости от выбраного пункта}punkt of

: {Создание нового НД и его просмотр}

begin

Sozdat_ND (FileName, n);

Prosmotr_ND (FileName, n);

end;

: {Добавление новых элементов в конец НД и его просмотр}

begin

Dobavit_ND (FileName, n);

Prosmotr_ND (FileName, n);

end;

: {Просмотр всех элементов НД}

Prosmotr_ND (FileName, n);

: {Поиск элемента}

Poisk_Elem_ND (FileName, n);

: {Переход к работе с другим НД и просмотр его содержимого}

begin

Perehod_Drug_ND (FileName);

Prosmotr_ND (FileName, n);

end;

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

begin

Sozdat_ND_kl (FileName, n);

Prosmotr_ND (FileName, n);

end;

: {Cохранение всех элементов в другом НД}

Sohr_v_nov(FileName, n);;(Для возврата нажмите Enter, для выхода нажмите Esc);

answ:=Readkey;

{Цикл выполняется до того, как будет нажат ESC}answ=#27;.

 

Листинг модуля menumod:

menumod;

 

crt;

Massiv=array [1..7] of string;mas:massiv;

My_Meny(Mas:Massiv; var punkt:byte);

 

My_Meny;x=1;=1;

k=7;i,pred,Max_dlin:integer;:char;,y1:byte;

{Инициализация переменных}

; pred:=0; max_dlin:=0;

{Определенние максимальной длины строки}i:=1 to k dolength(Mas[i])>max_dlin then max_dlin:=length(Mas[i]);

{end if}

{end for}

{Дополнение всех строк до максимальной}i:=1 to k dolength(Mas[i])<>max_dlin do Mas[i]:=Mas[i]+ ;

{end while}

{end for}

{Расчет координат X1 и Y1}:=max_dlin+x+3;:=k+y+3;

{Прорисовка меню}(x,y,x1,y1);I:=1 to k do(x,i);(Mas[i]);;

{end for}:=1;(x,1);(DarkGray);(0);

{Подсветка первого поля меню}(Blue);(15);(Mas[1]);:=punkt;:=Readkey;Otv=#0 then Otv:=Readkey;

{end If}

{Реакция на нажатие клавиш}Otv of

{Нажатие клавиши esc}

#27:begin

punkt:=0;(0);

{Нажатие клавиши enter}

#13: begin(1, 1, 80, 25);(black);(10);;;;

{Нажатие клавиши вниз}

#80: If punkt<k then punkt:=punkt+1punkt:=1;

{end If}

{Нажатие клавиши ввверх}

#72: If punkt>1 then punkt:=punkt-1punkt:=k;

{end If};

{Прорисовка поля меню в исход-ный цвет}(x,pred);(DarkGray);(yellow);(Mas[pred]);

{Подсветка следующего выбранного поля меню} (x,punkt);(Blue);(15);(Mas[punkt]);False

{end Repeat};.

 

Листинг модуля RabotaND:

 

unit RabotaND;

menumod;

 

{Спецификация файла}

Tip=(cvet, gherno_bel, perenosn);

Televizor=record

nazvanie:string;

razmer:integer;

sr_stoimist:real;<