База данных на языке 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;


Страница: