КАТЕГОРИИ: Архитектура-(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).
Дата добавления: 2014-01-07; Просмотров: 1346; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |