50290 (Проектирование базы данных "Справочник покупателя" в среде Turbo Pascal), страница 2
Описание файла
Документ из архива "Проектирование базы данных "Справочник покупателя" в среде Turbo Pascal", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "50290"
Текст 2 страницы из документа "50290"
К специальным символам относятся также следующие пары символов:
, = , : = , ( * , * ) , ( . , . ) , / / .
В программе эти пары символов нельзя разделять пробелами, если они используются как знаки операций отношения или ограничители комментария.
Зарезервированные слова не могут использоваться в качестве идентификаторов, но имеют вполне определенный смысл и определенное назначение. Их нельзя изменять: любая неточность в написании таких слов является серьезной ошибкой. Язык Turbo Pascal состоит приблизительно из 80 зарезервированных слов и специальных символов.
2.3 Таблица идентификаторов
В программе используются переменные, описанные в таблице 2.
Таблица 2 – Список переменных
Имя переменной | Тип переменной | Комментарий |
sp | String | Специализация |
no | String | Номер |
i | Integer | Счетчик |
x | Integer | Количество точек |
komanda | Integer | Буферная переменная |
z | array[1..20] of Sprav | Массив |
g | File of Text | Типизированный файл |
vremya | String | Время работы |
formsob | String | Форма собственности |
gd, gm | Integer | Определяет графический драйвер |
xx | Integer | Координаты по Х |
yy | Integer | Координаты по У |
rr | Integer | Цвет пикселя |
2.4 Используемые модули. Модуль Crt. Модуль Graph
Модуль - это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний (типы, константы, переменные, процедуры и функции) и, возможно, некоторые исполняемые операторы инициирующей части.
Наличие модулей в Turbo Pascal позволяет программировать и отлаживать программу по частям, создавать библиотеки подпрограмм и данных, воспользоваться возможностями стандартных модулей, практически неограниченно увеличивать кодовую (содержащую коды команд) часть программы.
Модуль содержит описания типов данных, переменных и других объектов, а также подпрограммы, которые используются в различных программах. Подпрограмму имеет смысл включать в состав модуля в том случае, когда она реализует действие, которое приходится выполнять достаточно часто. Подпрограммы, входящие в модуль, можно написать, отладить и откомпилировать один раз, а использовать многократно.
Модуль Crt. Модуль Crt содержит процедуры и функции, обеспечивающие управление текстовым режимом работы экрана.
В отличие от стандартного ввода (или вывода), когда он осуществляется через операционную систему, подпрограммы модуля Crt работают с BIOS, и даже непосредственно с видеопамятью, вследствие чего значительно повышается скорость вывода информации на дисплей. Имеет смысл всегда подключать модуль Crt, даже если его процедуры и функции не используются в программе.
При подключении модуля Crt перед выполнением основного блока программы происходит переназначение стандартных файлов Input и Output. Системные стандартные файлы Input и Output связываются с фиктивным устройством Crt.
Для вывода текста используются процедуры Write и Writeln, которые выводят информацию, начиная с той позиции экрана, в которой находится курсор.
При работе с экраном через модуль Crt весь экран разбивается на отдельные строки, а каждая строка на отдельные позиции, в каждую из которых можно поместить один символ (в том числе и пробел). Для каждого символа можно создать цвет фона (задний план) и цвет символа (передний план).
Для указания выводимого символа, а также его атрибутов в видеопамять помещаются два байта. Первый байт содержит выводимый символ, второй – информацию о цвете.
Модуль Graph. Библиотека содержащая процедуры и функции для поддержки графического режима называется модулем Graph. Этот модуль позволяет создавать различные графические изображения и выводить на экран надписи стандартными или созданными программистом шрифтами.
Запуск и завершение работы в графической системе осуществляется следующим образом:
1) Подключить модуль Graph (библиотеку графических процедур): uses Graph;
2) Установить графический режим:
- описать переменные, которые определяют графический драйвер и монитор: var gd, gm: integer;
- задать команду ПК для самовыбора значений переменных: gd := Detect (detect - драйвер сам определяет лучший режим);
- инициализировать графический режим InitGraph(gd, gm, ’указывается путь к драйверу’). С этого момента все графические средства доступны пользователю.
3) Завершить работу в графической системе CloseGraph.
2.5 Записи. Объявление записи
Запись – это структура данных, состоящая из фиксированного числа компонентов, называемых полями записи. В отличие от массива, компоненты (поля) записи могут быть различного типа. Чтобы можно было ссылаться на тот или иной компонент записи, поля именуются.
Структура объявления типа записи такова:
type Sprav = record
n,a,s,v,f,t:string;
end;
Где:
Sprav- имя записи;
Record - тип запись, служит для построения базы данных. После этой команды идет описание компонентов (полей) записи.
Таблица 3 - Поля записи Sprav
Имя поля | Тип поля | Комментарий |
n | String | Название торговой точки |
a | String | Адрес торговой точки |
s | String | Специализация |
v | String | Время работы |
f | String | Форма собственности |
t | String | Телефон торговой точки |
2.6 Массивы
Массивом называется однородная фиксированная по размеру совокупность однотипных элементов любой структуры, упорядоченных по номерам и имеющих единое имя. При описании массива следует записать его имя, диапазон, и его тип (пример: z:array [1..100] of Sprav). Чтобы обратиться к любому элементу массива, нужно указать имя массива (идентификатор) и порядковый номер необходимого элемента.
Массив может участвовать только в операциях отношения «равно», «не равно» и в операторе присваивания. Массивы, участвующие в этих действиях, должны быть идентичны по структуре, т. е. иметь одинаковые типы индексов и одинаковые типы компонентов.
Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент матрицы обозначается как Z (I, J), где Z - имя массива, I - индекс (номер) строки, J - индекс (номер) столбца.
2.7 Разработка процедур
Процедурой в Турбо Паскале называется особым образом оформленный фрагмент программы, имеющий собственное имя. Упоминание этого имени в тексте программы приводит к активизации процедуры и называется ее вызовом. Сразу после активизации процедуры начинают выполняться входящие в нее операторы, после выполнения последнего из них управление возвращается обратно в основную программу и выполняются операторы, стоящие непосредственно за оператором вызова процедуры. Тело процедуры, так же как и программы в свою очередь может содержать описания процедур и функций, таким образом, процедуры и функции могут быть вложены друг в друга. Довольно часто уже на этапе разработки алгоритма программы можно обнаружить, что некоторые одинаковые или очень похожие действия в программе должны, выполнятся несколько раз. Избежать дублирования инструкции можно, если повторяющиеся инструкции оформить как процедуры, а в программу поместить инструкцию вызова процедуры.
Правила языка Паскаль предусматривают единую для всех программ форму основной структуры:
Program ;
Begin
End.
Здесь слова Program, Begin и End являются служебными. Правильное и уместное употребление этих слов является обязательным.
Раздел описаний может иметь такие же подразделы, как и раздел описаний основной программы. Однако все описанные здесь объекты "видимы" лишь в этой процедуре. Они здесь локальны также, как и имена формальных параметров. Объекты, описанные ранее в разделе описаний основной программы и не переопределенные в процедуре, называются глобальными для этой подпрограммы и доступны для использования.
2.8 Процедуры, использованные в программе
1) Процедура заставки (выводит титульный лист программы в графическом режиме). Процедура состоит из графических процедур и функций.
gd:=detect;
initgraph (gd,gm,'c:\tp7\BIN');
где процедура detect автоматически определяет тип драйвера;
процедура initgraph переводит монитор с текстового режима в графический.
Если необходимо вывести цветной текст, то следует использовать процедуру setcolor(с), где с выбранный вами цвет от 0 до 15. При помощи процедуры settextstyle(a,b,c), (где а – шрифт, b – стиль, с – размер текста), можно задать шрифт, размер и стиль текста, и с использованием процедуры outtextxy(х,у,' '), (где х,у – координаты расположения курсора для вывода текста, а в кавычках записывается сам текст), вывести его в любом месте экрана. Процедура closegraph завершает работу в графическом режиме.
setcolor(15);
settextstyle(8,0,1);
outtextxy(160,70,'ПАВЛОДАРСКИЙ КОЛЛЕДЖ УПРАВЛЕНИЯ');
outtextxy(170,165,'КУРСОВОЙ ПРОЕКТ ПО ДИСЦИПЛИНЕ: ');
outtextxy(110,180,'"ОСНОВЫ АЛГОРИТМИЗАЦИИ И ПРОГРАММИРОВАНИЯ"');
outtextxy(150,225,'TEMA: Проектирование баз данных «Справочник покупателя»');
outtextxy(465,345,'Разработал');
outtextxy(465,365,'Запорожец А.С.');
outtextxy(465,385,'Группа П-33);
outtextxy(270,410,'2010 год’);
Процедура ВВОD организует окно, в котором будут заноситься данные в базу данных.
В начале выполнения процедуры запрашиваются количество записей:
write('skolko to4ek v spravochnike');
readln(x);
Далее в цикле происходит заполнение полей записи после вывода на экран соответствующих сообщений:
write('nazvanie to4ku: ');
readln(z[i].n);
write('telefon: ');
readln(z[i].t);
write('agpec: ');
readln(z[i].a);
write('specializacia: ');
readln(z[i].s);
write('forma sobstven: ');
readln(z[i].f);
write('vpemya rapoti: ');
readln(z[i].v);
По завершению ввода каждой записи, информация заносится в типизированный файл в переменную типа массив:
Write(g,z[i]);
Процедура Windo вырисовывает рамку для главного и подменю.
В начале выполнения процедуры, фон и цвет надписей задается двумя командами.
TextBackground(Blue);
TextColor(Yellow);
После этого при помощи циклов и ASCII кодов вырисовывается сама рамка, в которой будет находиться список пунктов меню:
Window(14,5,66,20);
ClrScr;
Write(#218);
for k:= 14+1 to 66-1 do Write(#196);
Write(#191);
for k:= 5+1 to 20-1 do
begin
GotoXY(1,k-5+1);
Write(#179);
GotoXY(66-14+1,WhereY);
Write(#179);
end;
Write(#192);
Window(14,5,66,20+1);
GotoXY(2,20-5+1);
for k:= 14+1 to 66-1 do Write(#196);
Write(#217);
Window(14+1,5+1,66-1,20-1);
Процедура ZAPOLNENIE производит заполнение введенной информации в типизированный файл на диске
Rewrite(g);
clrscr;
BBOD;
Close(g);
Процедура DOPOLNENIE позволяет дополнить информацию в справочник
Reset(g);
Seek(g,FileSize(g));
clrscr;
BBOD;
Close(g);
Процедура VIVOD_SHAPKA выводит на экран верхнюю часть таблицы (заголовки столбцов).
Процедура VIVOD_TELO выводит на экран каждую запись построчно:
writeln(z[i].n:18, z[i].s:12, z[i].t:12, z[i].v:6, z[i].f:11, z[i].a:11);
Процедура VIVOD выводит на экран всю таблицу целиком. В неё включены процедуры VIVOD_TELO и VIVOD_SHAPKA. Чтение производится из типизированного файла с помощью цикла:
For i:=1 to Filesize(g) do Begin
Read(g,z[i]);
Процедура POISK1 производит поиск информации о торговых точках по специализации, телефон которых начинается с двух заданных цифр.
В начале выполнении процедуры курсор в типизированном файле помещается в начало при помощи функций Seek(g,0).
Далее происходит ввод параметров, по которым будет происходить поиск в базе данных: