Практическая обработка множества данных, представляющих собой массив указателей на записи
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
? из трех типов телевизоров: Цветной, Черно-белый и Переносной. Например, нам нужно создать новый файл, в котором будут храниться записи только о цветных телевизорах. Поэтому мы сначала введем имя нового файла, а затем выберем 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;<