Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Пример 1.7



Использование одинаковых имен в различных областях действия.

Program Q;

Var

Y: Real;

X: Char;

Const

C=10;

Procedure Al (X, Z: Real);

Var

C: Real;

Begin

C:= X + Z;

X:= 2 * X;

Y:= 1;

Writeln (‘C = ‘, C, ‘ X = ‘, X, ‘Y = ‘, Y)

End;

Begin

X:= ’A’;

Y:= 0.5;

Al (Y, 0.1);

Writeln (‘C = ‘, C, ‘ X = ‘, X, ‘Y = ‘, Y)

End.

В данной программе используются идентификаторы Q, Y, C, X, Z, причем идентификаторы C, X используются как локальные и как глобальные переменные. Справа изображены области действия используемых имен. Здесь через CГ, XГ обозначены глобальные переменные C, X, через CЛ, XЛ – локальные переменные C, X.

В программе имеется два оператора вывода Writeln. Первым из них будет выполнен оператор, находящийся в подпрограмме Al. В результате будут выведены значения С, X, Y, равные:

С=0.6 X=1 Y=1.

Сразу за ним выполняется оператор Writeln, находящийся в вызывающей программе. В результате будут выведены значения С, X, Y, равные:

C=10 X=’A’ Y=1.

1.3. Функции

1.3.1. Описание функций

Объявление функции размещается в разделе процедур и функций того блока, в котором эта функция вводится в употребление.

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

Первое отличие.

Заголовок функции имеет следующий вид, который иллюстрирует рисунок 1.7.

Рисунок 1.7 – Синтаксическая диаграмма
заголовка функции

Заголовок функции определяет ее имя, список формальных параметров и тип возвращаемого значения. Заголовок начинается служебным словом Function.

<Список_формальных_параметров> определяется точно так же, как и при описании процедуры. В качестве формальных параметров могут использоваться параметры-значения, параметры-переменные, параметры-константы, параметры без типа, параметры процедурного типа.

Заголовок функции завершается указанием имени типа возвращаемого значения функции (<Идентификатор_типа>). При его описании может быть использовано только имя типа, но не его задание. Поэтому тип возвращаемого значения должен быть стандартным или предварительно описанным.

Второе отличие.

Как и процедуры, функции могут изменять значения глобальных переменных, параметров-переменных и параметров без типа. Но кроме этого каждая функция вычисляет значение, называемое возвращаемым значением функции. Данное значение передается в точку вызова функции. Чтобы установить возвращаемое значение, необходимо присвоить это значение идентификатору функции. Поэтому в теле функции обязательно должен присутствовать хотя бы один оператор присваивания, в левой части которого записано имя описываемой функции без параметров:

<Идентификатор_функции>:= <Выражение>

Хотя бы один оператор такого вида должен быть выполнен.

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





Дата публикования: 2014-12-11; Прочитано: 205 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...