Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Pascal / Delphi / Полный курс по Turbo Pascal.doc
Скачиваний:
203
Добавлен:
02.05.2014
Размер:
477.18 Кб
Скачать

Глава 3. Процедуры и функции Стандартные библиотечные модули

В систему Турбо Паскаль версии 6.0. и старше включены 8 модулей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, Turbo3 и специализированная библиотека Turbo Vision. Модуль System подключается по умолчанию, поэтому в любой программе становятся доступными все его встроенные процедуры и функции (см главу 1.3.). Остальные модули должны подключаться с помощью зарезервированного слова uses с добавлением имени модуля. Например: uses Crt.

Рассмотрим кратко назначение каждого модуля.

System - сердце Турбо Паскаля. Подпрограммы, содержащиеся в нем, обеспечивают работу всех остальных модулей системы.

Crt - содержит средства управления дисплеем и клавиатурой компьютера.

Dos - включает средства, позволяющие реализовывать различные функции Dos.

Graph3 - поддерживает использование стандартных графических подпрограмм.

Overlay - содержит средства организации специальных оверлейных программ.

Printer - обеспечивает быстрый доступ к принтеру.

Turbo3 - обеспечивает максимальную совместимость с версией Турбо Паскаль 3.0.

Graph - содержит пакет графических средств.

Turbo Vision - библиотека объектно-ориентированных программ для разработки пользовательских интерфейсов.

На примере модуля Crt познакомимся поближе с работой встроенных процедур и функций. Он устанавливает режим работы адаптера дисплея, организует вывод в буфер экрана, регулирует яркость свечения символов и т.д. С момента подключения пользователю доступны все содержащиеся в нем стандартные средства. Рассмотрим некоторые из них.

§        Установка текстового режима

TextMode(Mode:integer);

Значение Modeравно 1 (40 / 25) или 3(80 / 25).

§        Очистка экрана

ClrScr– полностью очищает экран;

ClrEol– стирает все символы в строке, начиная с текущей позиции до конца строки;

§        Управление курсором

GotoXY(x,y) – перемещает курсор в позицию, заданную координатамиx,y.

§        Управление цветом

TextColor(Color:byte) - установка цвета выводимых символов;

TextBackGround(Color) – цвет фона.

Чтобы добавить при выводе эффект мерцания, при установке цвета указывается Blink(16).

Пример. Вывести в центре экрана цветными символами слово «Привет» с эффектом мерцания.

Program primer;

Uses crt;

Begin

TextMode(3);

Clrscr;

Gotoxy(36,12);

Textcolor(5+16);

Write(‘Привет’);

End.

Глава 3. Процедуры и функции Процедуры

Для использования подпрограммы-процедуры необходимо сначала описать процедуру, а затем обращаться к ней (обращение к процедуре – отдельный оператор). Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова procedure, имени процедуры и, заключенного в скобки, списка формальных параметров с указанием типа. Название «формальные» эти параметры получили в связи с тем, что в этом списке заданы только имена для обозначения исходных данных и результатов работы процедуры, а при вызове подпрограммы на их место будут поставлены конкретные значения. Тело процедуры – блок, по структуре аналогичный программе.

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

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

Общий вид описания процедуры:

Procedure <имя> (список формальных параметров, блок описания);

Const …; ù

… ý блок описания

Var ….; û

begin

<операторы>

end;

Пример 1. Вывести по четырем углам экрана свое имя цветными буквами, можно с эффектом мерцания.

Program names;

Uses crt;

Procedure name(x, y, c: byte, );

Begin

Gotoxy (x, y);

Textcolor(c); {textcolor (c+16);}

Write(‘Имя’);

end;

begin

Clrscr; {очистка экрана}

name (2,2, 14);

name (2, 22, 8);

name (75,2, 3);

name (75, 22, 5);

End.

Пример 2. Найти наибольшее из четырех чисел, используя подпрограмму нахождения наибольшего из двух чисел.

Program max;

Uses crt;

Var a, b, c, d, m, p, q:real;

Procedure Bd(x,y:real, var z: real);

Begin

If x>y then z:=x

else z:=y;

end;

begin

Clrscr; {очистка экрана}

Write(‘Введите числа’);

Readln(a,b,c,d);

Bd (a, b, p);

Bd (c, d, q);

Bd (p, q, m);

Writeln(‘наибольший элемент’, m:8:3);

End.