База данных на языке Turbo PaskalРефераты >> Программирование и компьютеры >> База данных на языке Turbo Paskal
MulC(a, b, c);
WriteLn('Умножение: 'c.re:5:1, c.im:5:l,'i') ;
DivC(a, b, c);
WriteLn('Деление: 'c.re:5:l, с.im:5:1,'i');
end.
После объявления Uses Cmplx программе стали доступны все объекты, объявленные в интерфейсной части модуля CMPLX. При необходимости можно переопределить любой их этих объектов, как это произошло, например, с объявленной в модуле типизированной константой С. Переопределение объекта означает, что вновь объявленный объект «закрывает» ранее определенный в модуле одноименный объект. Чтобы получить доступ к «закрытому» объекту, нужно воспользоваться составным именем: перед именем объекта поставить имя модуля и точку. Например, оператор
WriteLn(cmplx.c.re:5:l, cmplx.с.im:5:1,'i');
выведет на экран содержимое «закрытой» типизированной константы из предыдущего примера.
3.8. СТАНДАРТНЫЕ МОДУЛИ
В Турбо Паскале имеется восемь стандартных модулей, в которых содержится большое число разнообразных типов, констант, процедур и функций. Этими модулями являются SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBOS и GRAPH3. Модули GRAPH, TURBOS и GRAPHS выделены в отдельные TPU-файлы, а остальные входят в состав библиотечного файла TURBO.TPL. Лишь один модуль SYSTEM подключается к любой программе автоматически, все остальные становятся доступны только после указания их имен в списке, следующем за словом USES.
Ниже приводится краткая характеристика стандартных модулей. Полное описание входящих в них программных средств приведено в прил.4, а описанию объектно-ориентированной библиотеки Turbo Vision посвящена вся вторая часть книги.
Модуль SYSTEM. В него входят все процедуры и функции стандартного Паскаля, а также встроенные процедуры и функции, которые не вошли в другие стандартные модули (например, INC, DEC, GETDIR и т.п.). Как уже отмечалось, модуль SYSTEM подключается к любой программе независимо от того, объявлен ли он в предложении USES или нет, поэтому его глобальные константы, переменные и подпрограммы считаются встроенными в Турбо Паскаль.
Модуль PRINTER. Делает доступным вывод текстов на матричный принтер. В нем определяется файловая переменная LST типа TEXT, которая связывается с логическим устройством PRN. После подключения модуля может быть выполнена, например, такая программа:
Uses Printer;
begin
writeln (LST, 'Турбо Паскаль')
end.
Модуль CRT. В нем сосредоточены процедуры и функции, обеспечивающие управление текстовым режимом работы экрана. С помощью входящих в модуль подпрограмм можно перемещать курсор в произвольную позицию экрана, менять цвет выводимых символов и окружающего их фона, создавать окна. Кроме того, в модуль включены также процедуры «слепого» чтения клавиатуры и управления звуком.
Модуль GRAPH. Содержит обширный набор типов, констант, процедур и функций для управления графическим режимом работы экрана. С помощью подпрограмм, входящих в модуль GRAPH, можно создавать разнообразные графические изображения и выводить на экран текстовые надписи стандартными или разработанными программистом шрифтами. Подпрограммы модуля GRAPH после соответствующей настройки могут поддерживать различные типы аппаратных графических средств. Настройка на имеющиеся в распоряжении программиста технические средства графики осуществляется специальными программами - драйверами, которые не входят в файл GRAPH. TPU, но поставляются вместе с ним.
Модуль DOS. В модуле собраны процедуры и функции, открывающие доступ программам к средствам дисковой операционной системы MS- DOS.
Модуль OVERLAY. Он необходим при разработке громоздких программ с перекрытиями. Как уже говорилось, Турбо Паскаль обеспечивает создание программ, длина которых ограничивается лишь основной оперативной памятью ПК. Операционная система MS-DOS оставляет исполняемой программе около 580 Кбайт основной памяти (без учета резидентных программ и самой системы Турбо Паскаль). Память такого размера достаточна для большинства применений, тем не менее, использование программ с перекрытиями снимает это ограничение.
4.МОДУЛЬ VVOD
Созданный нами модуль представляет собой следующий набор процедур:
· 3 процедуры ввода информации
procedure vdecan(nazdecan:string; var z:jurn);
procedure vkafed(nazkafed:string; var z:jurn);
procedure vfio(nazfio:string; var z:jurn);
procedure vlekc(nazlekc:string; var z:jurn);
procedure vlab(nazlab:string; var z:jurn);
· Процедура вывода на экран информации
procedure pechat(var z:jurn);
· Процедура обработки данных
procedure zamenit(var z:jurn);
Рассмотрим подробней каждую из процедур
4.1 ПРОЦЕДУРАVDEC
procedure vdecan;
begin
writeln('Декан:');
readln(nazdecan);
repeat
nazdecan:=nazdecan+' ';
until length(nazdecan)>9 ;
z.decan:='| '+nazdecan;
write(fdecan,z.decan);
end; {vdecan}
Процедура приглашает пользователя вести имя преподавателя, считывает эту информацию и присваивает значение переменной nazdecan. Далее удлиняем строку до 9 символов для табличного отображения информации при последующем использовании процедуры pechat. После удлинения строки информация записывается в файл.
Оставшиеся процедуры аналогичны процедуре vdecan лишь с тем отличием, что записи данных производятся в другие файлы.
4.2 ПРОЦЕДУРА PECHAT
procedure pechat;
begin
reset(fkafed);reset(fdecan);reset(ffio);reset(flekc);reset(flab);
read(fdecan,z.decan);
read(fkafed,z.kafed);
read(ffio,z.fio);
read(flekc,z.lekc);
read(flab,z.lab);
textcolor(lightblue);
{clrscr;}
writeln(z.decan);writeln(z.kafed);writeln(z.fio);writeln(z.lekc);writeln(z.lab);
textcolor(white);
end;
Процедура ставит курсор в начало всех файлов, для этого мы использовали процедуру RESET, далее из каждого файла считывается необходимая информация и выводится на экран голубым цветом.
4.3 ПРОЦЕДУРА ZAMENIT
procedure zamenit;
var
zamgde,zamcto,zamcem:string;
j,l,gde:integer;
begin
writeln('где заменить? если декан - 1, кафедра - 2, фамилия - 3, лекции - 4, лаборатрные - 5');
readln(gde);
writeln('======== слово которое надо заменить=======');
readln(zamcto);
writeln('========== чем заменить==========');
readln(zamcem);
case gde of
1: zamgde:=z.decan;
2: zamgde:=z.kafed;
3: zamgde:=z.fio;
4: zamgde:=z.lekc;
5: zamgde:=z.lab;
end;
begin
l:=Length(zamcto);{узнаем длину слова которое надо заменить}
j:=pos(zamcto,zamgde);{ищем это слово в строке}
if j=0 then
begin
textcolor(red);
writeln;
writeln('==============Повторите попытку, вы ошиблись=================');
end
else
begin
delete(zamgde,j,l);
insert(zamcem,zamgde,j);
case gde of
1: begin z.decan:=zamgde; rewrite(fdecan); write(fdecan,z.decan); end;
2: begin z.kafed:=zamgde; rewrite(fkafed); write(fkafed,z.kafed); end;
3: begin z.fio:=zamgde; rewrite(ffio); write(ffio,z.fio); end;