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).
Далее происходит ввод параметров, по которым будет происходить поиск в базе данных:
write('Specializacia: ');
readln(sp);
write('Nomer: ');
readln(no);
После этого в цикле производится чтение записи из типизированного файла:
For i:=1 to Filesize(g) do Begin
Read(g,z[i]);
По завершению выполнения процедуры, введенные данные сравниваются с данными в считанной записи и, при выполнении условия, запись выводится на экран:
if (sp = z[i].s) and ( pos(no,z[i].t) = 1) then
VIVOD_TELO;
end;
Результаты поиска по данному запросу оформляются в табличном виде.
Процедура POISK2 производит поиск информации о торговых точках по времени работы.
В начале выполнения процедуры происходит процесс ввода информации, которую будем искать в базе данных:
Write('Vremya raboti: ');
readln(vremya);
Writeln;
После этого в цикле производится чтение из типизированного файла очередной записи:
For i:=1 to Filesize(g) do
begin
Read(g,z[i]);
По завершению выполнения процедуры, введенные данные сравниваются с данными в типизированном файле и выводятся на экран:
If vremya = z[i].v then
VIVOD_TELO;
end;
Результаты поиска по данному запросу оформляются в табличном виде.
Процедура POISK3 производит поиск информации о точках по заданной форме собственности с последующей сортировкой по алфавиту их названий.
В начале выполнения процедуры происходит процесс ввода информации, которую будем искать в базе данных:
Writeln('Poisk to4ek');
Writeln;
Write('Froma sobstvennosti: ');
readln(formsob);
Writeln;
Следующим этапом выполнения процедуры служат два вложенных цикла: внешний цикл определяет первую букву названия торговой точки , внутренний цикл производит чтение записи из типизированного файла и проверяет два условия:
for q:='A' to 'z' do begin
For i:=1 to Filesize(g) do begin
Read(g,z[i]);
If (formsob = z[i].f) and (z[i].n[1]=q) then begin
VIVOD_TELO;
В результате поиска по данному запросу на экран выводится таблица наименование, торговых точек в которой упорядочены по алфавиту.
Процедура POISK выводит на экран меню поиска, оформленное в отдельном окне.
В начале выполнения процедуры в цикле с постусловием выполняются две процедуры, описанные ниже: процедура рисования окна и рамки.
Repeat ClrScr;
windo;
window(18,7,50,15);
После того, как рамка нарисована пользователю представлен список действий, при выборе которых можно будет организовать тот или иной поиск информации о торговых точках при помощи цифр от 1 до 4 и подтвердить свой выбор клавишей Enter.
Writeln('Vyberite zapros: ');
Writeln('1- Poisk to4ek po specializacii i pervim chifram telefona');
Writeln('2- po vremeni raboty');
Writeln('3- po vorme sobst');
Writeln('4- vyhod v glavnoe menu');
Readln(menu);
Case menu of
1:poisk1;
2:poisk2;
3:poisk3;
4:exit;
end;
Writeln;
Until x=4;
end;
2.9 Интерфейс программы
Программа предназначена не только для опытных пользователей, но и для тех людей, которые недавно начали работать на персональных компьютерах.
В данной программе выбор нужной действия в меню происходит с помощью нажатия клавиш с цифрами от 1 до 5.
Меню программы выводится в оконном режиме, что не может не порадовать пользователей привыкших к оконному интерфейсу, тем самым облегчается выбор нужной строчки.
Просмотр информации осуществляется в виде таблицы, что делает выводимую информацию наиболее читабельной и понятной для простого пользователя.
3. Руководство пользователю
3.1 Назначение программы
Программа предназначена для хранения, добавления, изменения информации о торговых точках, быстрого поиска необходимой информации по заданным параметрам. Программа обеспечивает более удобную работу со справочником, уменьшает времени, которое затрачивается на поиск сведений, то есть повышает оперативность и эффективность работы с информацией, содержащейся в справочнике.
... мире. Внутренняя схема - это сама база данных. Отсюда вытекают основные этапы, на которые разбивается процесс проектирования базы данных информационной системы: Концептуальное проектирование - сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия: обследование предметной области, изучение ее информационной структуры выявление всех фрагментов, каждый ...
... оптимальные варианты оснащения офиса коммерческой компании комплектом оборудования, достаточным для решения поставленной задачи Глава 1. 1.1 Постановка задачи. Целью данного дипломного проекта является разработка системы управления работой коммерческой компании. Исходя из современных требований, предъявляемых к качеству работы управленческого звена коммерческой компании, нельзя не отметить, что ...
... также невысока и обычно составляет около 100 кбайт/с. НКМЛ могут использовать локальные интерфейсы SCSI. Лекция 3. Программное обеспечение ПЭВМ 3.1 Общая характеристика и состав программного обеспечения 3.1.1 Состав и назначение программного обеспечения Процесс взаимодействия человека с компьютером организуется устройством управления в соответствии с той программой, которую пользователь ...
... и дальнейшего использования «Автоматизированной системы агентства недвижимости» на предприятии. 1.4 Постановка цели и подзадач автоматизации. Критерии достижения цели 1.4.1 Экономическая сущность задачи Экономической сущностью задачи автоматизации риэлтерской деятельности агентства недвижимости «Елена» является повышение результативности труда посредством автоматизации ...
0 комментариев