Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 семестр.pdf
Скачиваний:
74
Добавлен:
29.05.2015
Размер:
1.12 Mб
Скачать

3.5. Механизм передачи параметров в подпрограммах

Как вы уже заметили, параметры в процедуры и функции передаются согласно порядку следования.

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

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

1.Число фактических параметров должно быть равным числу формальных параметров.

2.Формальные параметры замещаются фактическими согласно порядку следования.

3.Тип каждого фактического параметра должен соответствовать типу своего описанного формального параметра.

4.Если формальный параметр описан с ключевым словом var,

то в качестве соответствующего фактического может стоять только переменная. В противном случае в качестве фактических параметров могут быть переменные, константы и выражения.

5.Если в качестве фактического параметра стоит выражение, то при вызове подпрограммы сначала вычисляется значение этого выражения, а затем это значение передаётся в подпрограмму соответствующему формальному параметру.

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

3.6.Стандартные библиотечные модули

Всистему Турбо Паскаль версии 6.0 и старше включены 8 моду-

лей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, Turbo3 и специализированная библиотека Turbo Vision.

33

Модуль System подключается по умолчанию, поэтому в любой программе становятся доступными все его встроенные процедуры и функции (см. табл. 1.6). Остальные модули должны подключаться с помощью зарезервированного слова uses с добавлением имени модуля. На-

пример: uses сrt;.

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

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). Смотрите пример 3.4.

Подробное описание модулей и описанных в них процедур и функций смотрите в [3].

34

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]