Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Implementation implementation
… … End. end.
Это ограничение можно обойти, если «спрятать» предложение uses в исполняемых частях зависимых модулей: unit A; unit В; Interface interface … … Implementation implementation uses В; uses А; … … End. end.
Доступ к объявленным в модуле объектам. Пусть, например, необходимо создать модуль, реализующий арифметику комплексных чисел (такая арифметика в Турбо Паскале, к сожалению, не предусмотрена). В Турбо Паскале нельзя использовать функции, значения которых имели бы структурированный тип (запись, например), поэтому арифметика комплексных чисел реализуется четырьмя процедурами: unit Cmplx;
Interface Type complex = record re, im: real; end;
procedure AddC (x, y: complex; var z: complex); procedure SubC (x, y: complex; var z: complex); procedure MulC (x, y: complex; var z: complex); procedure DivC (x, y: complex; var z: complex); const c: 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 * y.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} End.
Текст данного модуля следует поместить в файл Cmplx.pas. Его можно откомпилировать, создав tpu-файл, после чего в создаваемых программах будут доступны процедуры из новой библиотеки. Например, в программе, приведенной ниже, осуществляются арифметические операции над парой комплексных чисел. uses Cmplx; Var a, b, c: 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 (‘Вычитание: ’, c.re:5:1, c.im:5:1, ‘i’); MulC (a, b, c); WriteLn (‘Умножение: ’, c.re:5:1, c.im:5:1, ‘i’); DivC (a, b, c); WriteLn (‘Деление: ’, c.re:5:1, c.im:5:1, ‘i’); end.
После объявления uses Cmplx программе стали доступны все объекты, объявленные в интерфейсной части модуля Cmplx. При необходимости можно переопределить любой их этих объектов, как это произошло, например, с объявленной в модуле типизированной константой С. Переопределение объекта означает, что вновь объявленный объект «закрывает» ранее определенный в модуле одноименный объект. Чтобы получить доступ к «закрытому» объекту, нужно воспользоваться составным именем: перед именем объекта поставить имя модуля и точку. Например, следующий оператор выведет на экран содержимое «закрытой» типизированной константы из предыдущего примера.
WriteLn(cmplx.с.re:5:1, cmplx.с.im:5:1, ‘i’);
Стандартные модули Турбо Паскале имеется восемь стандартных модулей, в которых содержатся большое число разнообразных типов, констант, процедур и функций. Этими модулями являются SYSTEM, DOS, CRT, PRINTER, GRAPH, OVERLAY, TURBO3 и GRAPH3. Модули GRAPH, TURBO3 и GRAPH3выделены в отдельные tpu-файлы, а остальные входят в состав библиотечного файла turbo.tpl. Лишь один модуль SYSTEMподключается к любой программе автоматически, остальные становятся доступны только после указания их имен в списке, следующем за словом uses. Наиболее полезным из стандартных модулей является иодуль CRT, в котором сосредоточены процедуры и функции, позволяющие управлять текстовым режимом работы экрана. С их помощью можно перемещать курсор в произвольную позицию экрана, менять цвет выводимых символов и окружающего их фона, создавать окна. В качестве примера можно указать некоторые процедуры и функции. function ReadKey: char; Читает символ с клавиатуры. Приостанавливает выполнение программы до нажатия на любую клавишу, кроме Shift, Ctrl, Alt, CapsLock, NumLock, ScrollLock. function WhereX: Byte; Возвращает горизонатльную координату текущей позиции курсора относительно текущего окна. function WhereY: Byte; Возвращает вертикальную координату текущей позиции курсора относительно текущего окна. procedure ClrScr; Очищает экран и помещает курсор в верхний левый угол. procedure Delay (D: Word); Приостангавливает работу программы на указанное число D миллисекунд. procedure GotoXY (X, Y: Byte); Перемещает курсор в нужное место экрана с координатами X, Y (рассчитываются не в пикселях, а в позициях курсора). procedure Sound (F: Word); Включает звуковой генератор. F- частота звука (Гц). Состав и назначение данных модулей обычно приводятся в литературе, подробно описывающей компоненты программной среды Турбо Паскаля.
|
|||||
Последнее изменение этой страницы: 2017-02-05; просмотров: 248; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.191.181.231 (0.005 с.) |