Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник_Часть_1.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
974.85 Кб
Скачать

11.6. Работа с текстом OutText (X,y:integer; txt:string) – вывести строку txt с текущего положения указателя.

Например: Out Text (60, 100, ‘Для продолжения нажмите любую кнопку’);

SetTextStyle (Font: word; Dir: word; Size: word);

Font – выбранный шрифт (0 – русский, 1 – штриховые, 2 – малый, 3 – сансериф, 4 – готический; 1-4 – только латинский).

Dir – направление: 0 – слева-направо, 1 – снизу-вверх.

Например: SetTextStyle (0,1,1);

Outtextxy (200, 200, ‘вертикальная строка’);

SetTextStyle (0,0,2);

0 - ... –(200, 200, ‘горизонтальная строка’).

Шрифты – могут использоваться стандартные и пользовательские. Различают два типа шрифтов: растровые (задаются матрицей точек), векторные (задаются рядом векторов, составляющих символ).

По умолчанию при инициализации графический режим устанавливает растровый шрифт DefaultFont (№ 0) – 8×8 – битовый шрифт (каждый его символ формируется в матрице 8×8 бит).

Шрифты размещены в отдельных файлах с расширением CHR.

11.7. Вывод числовых значений

В модуле GRAPH нет процедуры для вывода численных значений, поэтому преобразуем число в строку и прибавим к выводимой строке:

Например, Max := 34.56;

Str (Max: 6: 2, Smax);

OutTextXY(400,40,‘Максимум=’ +Smax);

12. Программные модули

Известно, что при написании серьёзной программы нельзя обойтись без процедур, которые заключают в себе её отдельные части. Крупными строительными единицами в Паскале являются программные модули.

Модуль имеет имя и может содержать описание многих процедур и функций, а также описания констант, типов данных и переменных.

Каждый программный модуль транслируется отдельно, оттранслированные модули объединяются в выполнимую программу. Этот процесс называется «сборкой».

Один раз написанный и оттранслированный модуль можно многократно использовать в различных программах. Это позволяет:

  1. сэкономить время и силы программиста;

  2. сократить время трансляции;

  3. уберечь от искажений исходный текст модуля.

Чтобы подключить модуль к программе и сделать видимым его содержимое, достаточно упомянуть его имя в разделе USES <имя модуля> (имя должно быть первым предложением программы).

Необходимость использования модулей обусловлена следующими причинами:

– для размещения в памяти большой программы может не хватить одного сегмента памяти (его размер максимум 64 Кб). Количество используемых модулей ограничивается лишь доступной памятью;

– в большинстве реальных применений ЭВМ нужны библиотеки блоков (процедур и функций) с простым доступом к блокам.

Модуль – это автономно компилируемая программная единица, включающая в себя различные компоненты раздела описаний и, возможно, некоторые исполняемые операторы инициирующей части.

12.1. Структура программного модуля

UNIT <имя модуля> (заголовок модуля)

. . . .

Interface –интерфейсные раздел («видимая» часть модуля)

. . . .

Implementation – раздел реализации («черный ящик»)

. . . .

[BEGIN] – раздел инициализации (необязательный)

. . . .

END.

Имя модуля должно совпадать с именем дискового файла, в который помещается исходный текст модуля. Имя модуля служит для его связи с другими модулями и основной программой. Эта связь устанавливается предложением UNIT USES <список модулей>.

– В основной программе с USES должен начинаться раздел описаний.

– В модулях USES может следовать сразу за зарезервированным словом INTERFACE либо за IMPLEMENTATION (либо и там, и там).

Интерфейсный раздел содержит объявления всех глобальных объектов, констант, переменных, типов, подпрограмм модуля, которые должны быть доступны основной программе и другим модулям. При объявлении глобальных подпрограмм в интерфейсной части указывается только их заголовок, так как без информации о формальных параметрах блоков нельзя правильно «собрать» программу из модулей.

Описанные здесь объекты необязательно должны использоваться в блоках данного модуля. Например, модуль может не содержать ни одного блока, а включать в себя описание сложных типов, используемых во многих программах пользователя. Это сокращает размер программы и ускоряет подготовку исходных текстов.

Например: UNIT M1;