![]() Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ТОП 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; просмотров: 281; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.147.198 (0.01 с.) |