Turbo Pascal
ГЛАВНАЯ | ЗАКАЗАТЬ РАБОТУ НА TURBO PASCAL | КАК ОПЛАТИТЬ? | О САЙТЕ | КОНТАКТЫ

Подключение стандартных процедур Turbo Pascal

Среда
24 мая 2017 года

Подключение стандартных процедур Turbo Pascal

При использовании технологии нисходящего структурного программирования появляется возможность включать в разрабатываемые программные комплексы, созданные ранее, программные модули (процедуры), выполняющие идентичные или практически идентичные функции. Использование готовых программных модулей значительно повышает надежность программного комплекса, упрощает процесс его разработки, сокращает время разработки и снижает стоимость самой разработки.

Стандартные процедуры и алгоритмы

Оттестированные программные модули, которые могут использоваться в других программах без каких-либо изменений или с небольшими изменениями, мы будем называть стандартными программными модулями или стандартными процедурами, а алгоритмы, которые они реализуют, — стандартными алгоритмами. Система программирования Турбо Паскаль, так же, как и другие системы программирования, имеет профессиональную библиотеку стандартных программ, однако на этапе первоначального обучения её использование вызывает определенные трудности.

Следует отметить, что каждый программист, как правило, со временем сам создает значительное количество процедур, с помощью которых решаются общие для многих программ задачи (элементы оформления программ, организация интерфейса пользователь - компьютер, средства контроля и защиты от ошибок пользователя и др). Эти процедуры, являясь стандартными процедурами, могут составить постоянно пополняющуюся личную библиотеку программиста.

Способы включения стандартных процедур в программу

Способ включения стандартной процедуры зависит от того, требует ли стандартная процедура каких-либо изменений для использования во вновь разрабатываемом программном комплексе или может быть включена в него и в любые другие без изменений.

Рассмотрим три способа включения стандартной процедуры из библиотеки в программный комплекс. Первый способ позволяет включать стандартные процедуры после внесения в них требуемых изменений. Второй и третий способы применимы для процедур, не требующих изменений.

Рассмотрим каждый из этих способов на примере разработки программы, которая имитирует сигнал звонящего телефона, прекращающегося после того, как пользователь снимет трубку (нажмёт клавишу "Пробел"). Сигнал звонящего телефона воспроизводится стандартной процедурой, записанной на диске под именем telephon.inc. Приводимые ниже примеры программ выполнялись на компьютере IBM PC 286 с частотой 16 Мгц, поэтому при их выполнении на компьютерах с другой частотой необходимо изменить значения в Delay (...) на величину, пропорциональную отношению частоты компьютера к частоте 16 или заменить оператор Delay (...) на стандартную процедуру Wait Dos, описанную в разделе 5.1.2.

{--	Telephon Процедура издает  сигнал  звонящего  телефона telephon.inc }
PROCEDURE  Telephon; 
VAR
i   :   integer; 
BEGIN
for  i   := 1  to 10  do begin
Sound(1200) ; 
Delay(100) ;
NoSound; 
end; 
Delay(1500) ; 
END;

Способ 1

Исходный текст стандартной процедуры Telephon включается непосредственно в исходный текст разрабатываемой программы с помощью редактора, встроенного в систему программирования Турбо Паскаль, или другого текстового редактора. Использование редактора позволяет внести изменения в текст стандартной процедуры. В качестве примера в стандартной процедуре Telephon, включенной в программу DemoTelephon_l, изменена число повторений цикла (для наглядности этот оператор выделен).

PROGRAM DemoTelephon_l; 
USES  Crt;
PROCEDURE Telephon;
{ Процедура издает сигнал звонящего телефона } 
VAR
i : integer; 
BEGIN
for i := 1 to 8 do begin
Sound(1200) ; 
Delay(100) ;
NoSound; 
end; 
Delay(1500); 
END; 
BEGIN
ClrScr;
GotoXY (20, 10) ;
Write ('Снимите трубку (нажмите клавишу "Пробел")');
repeat
Telephon until  KeyPressed; 
END.

Способ 2

Стандартная процедура включается в разрабатываемую программу при её компиляции с помощью директивы компилятора [1] {$1 ИмяФайла }

Расширением по умолчанию для параметра "ИмяФайла" является PAS. Для включаемых файлов допускается уровень вложения на глубину до восьми. Приводимые ниже стандартные процедуры имеют расширение INC, что сделано для того, чтобы отличить их от нестандартных процедур. Для того, чтобы при компиляции файлы с именем "ИмяФайла" были найдены, достаточно использовать один из трех возможных вариантов:

1) поместить их в каталог с файлом turbo.exe;
2) установить в меню Options/Directories/Include Directories каталог, где расположены файлы с именем "ИмяФайла", например, C:\INC (в данном случае в каталоге C:\INC записаны включаемые при компиляции файлы);
3) указать непосредственно в разрабатываемой программе полное имя включаемого файла, например: {$1 c:\inc\signal_v.inc }

Приводимый пример демонстрирует подключение процедуры telephon.inc в программу при её компиляции.

PROGRAM DemoTelephon_2; 
USES  Crt;
{$1 telephon.inc} { Процедура издает сигнал звонящего телефона } 
BEGIN 
ClrScr;
GotoXY (20, 10) ;
Write ('Снимите трубку (нажмите клавишу "Пробел")'); 
repeat
Telephon 
until KeyPressed; 
END.

Способ 3

Текст одной или нескольких стандартных процедур оформляется в виде библиотечного программного модуля, файл которого имеет расширение TPU, и после указания его имени в разделе USES программа получает доступ к процедурам из этого модуля.

Предположим, что мы создаем библиотечный программный модуль, состоящий из одной стандартной процедуры Telephon.

В этом случае исходный текст процедуры необходимо переписать, как показано ниже.

UNIT Teleph_3;  { Процедура издает сигнал звонящего телефона }
{	}
INTERFACE
{	}
USES Crt;
PROCEDURE Telephon;
{	}
IMPLEMENTATI ON
{	}
PROCEDURE Telephon; VAR
i : integer; BEGIN
for i := 1 to 10 do begin
Sound(1200) ; 
Delay(100); 
NoSound; 
end; 
Delay(1500); 
END; 
END.
После компиляции в режиме Compile с установленной директивой Destinatio = Disk создается библиотечный файл teleph_3.tpu.

Текст программы DemoTelephon_3, в котором используется этот библиотечный файл, запишется следующим образом.

PROGRAM DemoTelephon 3; 
USES Crt, Teleph_3; 
BEGIN
ClrScr;
Write ('Снимите трубку (нажмите клавишу 'Пробел")');
repeat
Telephon;
until KeyPressed;
END.

С методологической точки зрения предпочтительнее на начальном этапе обучения использовать первые два способа, так как они позволяют достаточно просто изменять и модифицировать тексты стандартных процедур, в то время как третий способ требует повторной работы по созданию библиотечного программного модуля в случае изменения хотя бы одной стандартной процедуры Turbo Pascal, входящей в библиотечный программный модуль.


Последние новости

Сервис инновация
заправка картриджей Предлагаю Вам оценить сайт наших партнеров - Сервисный центр по заправке картриджей "Сервис инновация". Они профессионально занимаются заправкой картриджей в Красноярске с 2007 года. Очень быстро и качественно оказывают заправку картриджей. Рекомендую!

Скупка новых картриджей

Если у на работе остались неипользованные новые картриджи, а принтер уже вышел из строя, мы купим у вас такие картриджи по высокой цене. Мы занимаемся скупкой новых картриджей в Красноярске.

скупка картриджей

Скупка новых картриджей уже многим принесла неплохой дополнительный заработок. Скупка осуществляется круглосуточно, без выходных. Осуществляется выезд к клиенту!


Счетчики






Реклама

Полезная информация



 
 
 
email
:tanucik2004@ya.ru Copyright © TP7.INFO, 2007-2013
icq
: 308-364-613
тел.
: +7 953 580 83 78