рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Организация библиотек. Стандартные библиотечные модули и модули пользователя. Структура Unit.

Организация библиотек. Стандартные библиотечные модули и модули пользователя. Структура Unit. - раздел Информатика, Оглавление Организация Библиотек. 1 Стандартные Библиотечны...

Оглавление

Организация библиотек. 1

Стандартные библиотечные модули и модули пользователя. 1

Структура Unit 2

Пример 1. Pазработкa собственного модуля. 3

Пример 2. Pазработкa собственного модуля. 4

Контрольные вопросы.. 5

Комбинированный урок №11

Тема:Организация библиотек. Стандартные библиотечные модули и модули пользователя. Структура Unit.

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

Организация библиотек

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

Стандартные библиотечные модули и модули пользователя

Ниже приводится краткая характеристика стандартных модулей. Модуль SYSTEM. В него входят все процедуры и функции стандартного Паскаля, а… Модуль PRINTER. Делает доступным вывод текстов на матричный принтер. В нем определяется файловая переменная LST типа…

Структура Unit

Структура модуля имеет вид:

ЗАГОЛОВОК МОДУЛЯ

Unit< имя модуля >;

ИНТЕРФЕЙСНАЯ ЧАСТЬ

Interfaсe

Uses< список используемых модулей >

Type{ открытые объявления переменных, которые будут доступны в основной программе}

Var

Procedure

Function

РЕАЛИЗАЦИОННАЯ ЧАСТЬ или ИСПОЛНЯЕМАЯ ЧАСТЬ

Implementation {выполнение}

Uses < список используемых модулей >

{ собственные объявления , доступны только внутри данной реализации подпрограмм}

Type

Var

{ процедуры и функции }

Procedure

Function

ИНИЦИИРУЮЩАЯ ЧАСТЬ

Begin

{Основной блок модуля}

End.

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

Далее записывается раздел интерфейсной части (за ключевым словом Interfaсe). Эта часть модуля является доступной (“видимой”) для любой программы, использующей этот модуль. То есть объявленные в этом разделе константы, типы данных, переменные, процедуры и функции, могут использоваться в любой другой программе. В свою очередь, в разделе интерфейса могут указываться другие используемые модули (их список следует за ключевым словом Uses). При этом все объекты, объявленные в интерфейсах этих модулей могут быть использованы в любом объявлении в интерфейсе данного модуля.

Примечание. Для “видимых” процедур и функций в интерфейсном разделе приводится только их заголовки. Полностью эти процедуры и функции записываются в разделе реализации.

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

Раздел реализации модуля начинается ключевым словом Implementation и заканчивается end. Но если между ними появляется ключевое слово begin, то получившийся составной оператор begin…end становится разделом инициализации модуля. Раздел инициализации обычно используется для открытия файлов и для формирования значений структур данных и переменных.

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

Например, вы разработали программу, которая наряду со стандартным модулей Crt использует ваш разработанный собственный модуль с именем Modul. Тогда, в программе следует указать список используемых модулей в следующем виде:

Program Pr;

Uses Crt, Modul;

. . .

Модули транслируются отдельно. В отличие от основных программ результатом трансляции которых будут файлы с расширением EXE модули получают расширение TPU. Полученные в результате трансляции TPU - файлы можно подсоединить к стандартному файлу TURBO.TPL с помощью утилиты TPUMOVER.EXE. Если этого не делать, то при трансляции самой программы все используемые модули (TPU - файлы) присоединяться к ней автоматически. Если в каком-либо из используемых модулей были внесены изменения, то при трансляции программы, все модифицируемые модули также будут предварительно перетранслированы (эту функцию реализует интегрированная среда).

Пример 1. Pазработкa собственного модуля

Разработку собственного модуля рассмотрим на следующем примере:

Пусть дано задание: разработать личную библиотеку, включив в нее процедуры:

· ввода элементов числовой матрицы размером N*N;

· транспонирования матрицы;

· вывода результирующей матрицы.

В основной программе ввести размер матрицы N.

Начнем разработку модуля, который будет носить название Matrix. Программно это будет выглядеть так:

 

Unit Matrix;

{Зарезервированное слово Unit служит для указания имени библиотеки. Это имя должно совпадать с именем PAS-файла библиотеки (т.е библиотека Matrix должна находиться с файле Matrix.Pas), а иначе компилятор даст ошибку при попытке использования такой библиотеки}

Interface

{Секция Interface содержит описания общедоступных типов данных, констант, процедур и функций. Т.е. все, что будет здесь находиться можно будет использовать при подключении данной библиотеки.}

Type

TMatrix = array [1..10,1..10] of Integer; { Квадратная матрица }

procedure MatrInput (Var m : TMatrix; n : Integer); { ввод матрицы }

procedure MatrOutput (Var m : TMatrix; n : Integer); { вывод матрицы }

procedure MatrTransp (Var m : TMatrix; n : Integer); { транспонирование }

Implementation

{Процедура обмена местами двух элементов матрицы (x1,y1) и (x2,y2). Эта процедура используется при транспонировании матрицы, но ее нельзя вызвать… procedure Swap (Var m : TMatrix; x1,y1,x2,y2 : Integer); var temp : Integer;

Begin

End.

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

 

{Это отдельный файл, содержащий основную программу}

UsesCrt, { Библиотека стандартных процедур управления экраном и клавиатурой }

Matrix; {Наш разработанный модуль-библиотека работы с квадратными матрицами (личная)}

Var m : TMatrix; { Объявляем матрицу - максимальный размер 10*10 }

n : Integer; { Размер матрицы }

Begin

repeat{ Повторяем ввод размера, пока не будет введено корректное значение}

ClrScr;

Write('Введите размер матрицы (1..10) : ');

ReadLn(n);

until (n >= 1) and (n <= 10);

WriteLn;

WriteLn('Введите матрицу размера ',n,'*',n,' по строкам:');

MatrInput (m,n); {вызов процедуры ввода матрицы, определенной в модуле Matrix}

MatrTransp (m,n); {вызов процедуры транспонирования матрицы, определенной в модуле Matrix}

WriteLn;

WriteLn('Транспонированная матрица :');

MatrOutput (m,n); {вызов процедуры вывода матрицы, определенной в модуле Matrix}

End.

Пример 2. Pазработкa собственного модуля

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

UNIT Cmplx;

INTERFACE

type complex = record re, im:real

end;

Procedure AddC (x, у : complex; var z : complex) ;

Procedure SubC (x, у : complex; var z : complex) ;

Procedure MulC (x, у : complex; var z : complex) ;

Procedure DivC (x, у : complex; var z : complex) ;

Const с : complex = (re :0.1; im :-1);

IMPLEMENTATION

Procedure AddC;

begin

z.re := x.re + y.re; z . im := x.im + y. im

end {AddC};

Procedure SubC;

begin

z.re := x.re - y. re ;

z.im := x.im - y.im

end {SubC};

Procedure MulC;

begin

z.re := x.re*y.re - x.im*y. im;

z.im := x.re*у.im + x.im*y.re

end {MulC};

Procedure DivC;

var zz : real;

begin

zz := sqr(y.re) + sqr(y.im);

z. re := (x.re * y.re + x.im * y.im) / zz;

z.im := (x.re * y.im - x.im * y.re) / zz

end {DivC};

begin

end.

Текст этого модуля следует поместить в файл CMPLX.PAS. Вы можете его откомпилировать, создав TPU-файл, после чего вашей программе станут доступны процедуры из новой библиотеки. Например, в следующей программе осуществляются четыре арифметические операции над парой комплексных чисел.

 

Uses Cmplx;

var а, Ь, с : complex;

Begin

a.re := 1; a.im := 1;

b.re := 1; b.im := 2;

AddC(a, b, c);

WriteLn('Сложение: 'c.re:5:1, c.im:5:1,'i') ;

SubC(a, b, c) ;

WriteLn('Вычитание: 'с.re:5:1, с.im:5:1,'i');

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'); выведет на экран содержимое «закрытой» типизированной константы из предыдущего примера.

 

Контрольные вопросы

1 Стандартные модули в Паскале.

2 Структура модуля.

3 Ключевые слова Unit, Interface, Implementation. Описание каждого раздела.

4 Концепция разработки собственного модуля. Примеры программ.

 

– Конец работы –

Используемые теги: Организация, библиотек, Стандартные, Библиотечные, Модули, Модули, пользователя, структура, Unit0.125

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Организация библиотек. Стандартные библиотечные модули и модули пользователя. Структура Unit.

Что будем делать с полученным материалом:

Если этот материал оказался полезным для Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Еще рефераты, курсовые, дипломные работы на эту тему:

Международная организация труда - создание, структура, задачи и организация её работы
МОТ является одной из многосторонних организаций, наиболее успешно выполняющих свой мандат Восемь десятилетий ее истории позволяют сделать вывод о… Рожденная в дни мимолетной надежды, она пережила годы великой депрессии и… МОТ была создана в 1919 г по замыслу промышленно развитых стран для решения их общих проблем, но ее стремительное…

Структурные уровни организации материи. Структура и её роль в организации материи
Концепция структурных уровней живой материи включает представления системности и связанной с ней организацией целостности живых организмов. Живая… Иерархическая структура такова, что каждый высший уровень не управляет, а… В соответствии с ней структурные уровни различаются не только по классам сложностью, но по закономерностям…

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

Анализ альтернативных методов формирования структуры организации
Эта курсовая работа посвящена изложению Оригинальной методики анализа альтернативных подходов к формированию структуры организации Глава 3. Тема,… Структура организации понималась как вся внутренняя среда организации в… Цель работы упорядочить знания автора курсовой работы о системном и математическом подходах к управлению и…

Структура и организация учебного процесса в средневековом университете (Болонья, Париж, Прага)
В то же время слово universitas означало также товарищество , купеческая гильдия , цех , коммуна universitas civium - городская коммуна . Поэтому… Впрочем встречаются и такие словосочетания как magistri et discipuli учителя и… В конце XII в начале XIII в. товарищества, корпорации учителей и студентов стали именоваться просто universitas, т.е.…

Структура и организация учебного процесса в средневековом университете (Болонья, Париж, Прага)
В то же время слово universitas означало также товарищество , купеческая гильдия , цех , коммуна universitas civium - городская коммуна . Поэтому… Впрочем встречаются и такие словосочетания как magistri et discipuli учителя и… В конце XII в начале XIII в. товарищества, корпорации учителей и студентов стали именоваться просто universitas, т.е.…

Организация производства как функция управления. Формы организации производства
Организация производства как функция управления Формы организации производства... Воспроизводство...

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

Библиотека и краеведение. Работа библиотек с краеведческими документами
Краеведение переживает процесс поиска новых форм, постановки первостепенных задач. Оно приобретает ярко выраженный социально-политический характер, особенно в… Краеведение – это всестороннее изучение определенной части страны, города или деревни, других поселений местным…

0.033
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам