Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Использование одинаковых имен в различных областях действия.
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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!