Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Внешние библиотеки в Pascal

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

Бывают случаи, когда одни и те же подпрограммы могут использоваться в различных программах одного и даже нескольких пользователей. В подобных ситуациях целесообразно создавать внешние подпрограммы, которые можно в необходимый момент подключать в любые программы. Как правило, внешние подпрограм­мы объединяют в отдельные пакеты, так называемые библиотеки внешних под­программ. Могут создаваться личные библиотеки, специализированные библиоте­ки коллективного пользования и др. С одной из таких библиотек – встроенной библиотекой стандартных подпрограмм – пользователи имеют дело практически всегда. В состав этой библиотеки входят процедуры и функции вычисления значе­ний ряда элементарных функций: синуса, косинуса, экспоненты и т.д., процеду­ры и функции обработки символьных величин, процедуры ввода-вывода и др. Встроенная библиотека подключается к любой программе автоматически при компиляции. Поэтому откомпилированный файл с расширением.com (иногда называемый «комовским»), как правило, занимает в 8 – 10 раз больше места в памяти, чем исходный текст.

Внешние подпрограммы создаются обычным образом в виде отдельного файла или файлов. Для подключения внешних подпрограмм в программе пользователя в разделе описания ставится директива {$1 'имя файла' }. С этого момента все процедуры и функции внешнего файла становятся внутренними для программы, и все входящие в него процедуры и функции распространяется правило локальных и глобальных переменных. В связи с этим директива подключения внешнего файла должна размещаться после описания всех ею используемых глобальных па­раметров, процедур и функций.

Пример 3. Создадим внешнюю библиотеку из двух процедур и одной функции. Первая процедура программы 20 очищает экран, выдает приветствие, затем после сжатия клавиши <Пробел> снова очищает экран. Вторая процедура возводит число а в степень b. Третья подпрограмма-функция вычисляет значение экспоненты с некоторым грубым приближением на основе ряда Тейлора.

Программа 20

procedure PRIVET;

var a: char;

begin

clrscr; gotoxy(20,10);

write('здравствуйте, желаю успехов!');

repeat (цикл позволяет}

gotoxy(35, 50); write ('пробел');

read(kbd,a); until а=' '; clrscr;

end;

rcocedure STEPEN(a,b: real; var y: real);

begin

у:=exp(b*ln(a));

end;

function MEXP(x: real): real; begin

mexp:=l+x+x*x/2+x*x*x/6+x*x*x*x/24; end;

Пусть представленные три подпрограммы записаны в файл с именем lab.pas/ А теперь составим программу, использующую созданную внешнюю библиотеку.

Программа 21

program primerl;

{$i lab)

var a,b: real;

begin

PRIVET;

STEPEN(2,4,a); writeln('2 в степени 4 =',a); b:=MEXP(l);

write(‘машинная exp(1) = ‘,EXP(1):6:4, ‘моя exp(1) = ‘,b:6:4); end.

В программе используется стандартная функция – экспонента EXP (1) и наша подпрограмма MEXP (1).

<== предыдущая лекция | следующая лекция ==>
Процедуры и функции в Pascal | Работа с файлами
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1289; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.