Процедуры и функции

Типизированные константы

Процедуры и функции для работы со строками

Функция Length (S) возвращает длину (количество символов) строки S. Для пустой строки функция возвращает 0.

 Пример

Length('Пример')=6, Length('')=0

Функция Copy (S,<Начало>,<Длина>) возвращает часть строки (подстроку) S указанной длины, начиная с позиции, задаваемой параметром <Начало>.

 Пример

Copy('Пример',2,3)='рим', Copy('Пример',4,10)='мер'

Процедура Insert (S1, S2,<Позиция>) вставляет строку S1 в строку S2 в указанной позиции.

 Пример

S:='Пер';

Insert('рим',S,2);

 Результат выполнения

S='Пример'

Процедура Delete (S,<Начало>,<Длина>) – удаляет часть строки заданной длины из S, начиная с указанной позиции.

 Пример

S:='Периметр';

Delete(S,3,4);

 Результат выполнения

S='Петр'

Типизированные константы, как и обычные, описываются в разделе описания констант, но их описание несколько отличается.

 Синтаксис

CONST

<Имя>:<Тип> = <Значение>;

Хотя типизированные константы и называются константами, на самом деле они работают как переменные, т.е. их значение можно изменять в программе, а также их нельзя использовать в выражениях-константах. Однако, в отличие от обычных переменных, при запуске программы типизированные константы уже имеют определенные значения. По способу выделения памяти эти значения являются глобальными, где бы они ни были описаны.

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

 Синтаксис

Общий вид процедур и функций:

<Заголовок>

<Описательная часть>

BEGIN

<Исполнительная часть>

END;

Заголовок процедуры:

PROCEDURE <Имя>[(Формальные параметры>)];

Заголовок функции:

FUNCTION <Имя>[(Формальные параметры>)]:
<Тип результата>;

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

 Синтаксис списка формальных параметров

[{VAR | CONST}] <Список имен 1>:<Тип 1>;
[{VAR | CONST}] <Список имен 2>:<Тип 2>;
...

[{VAR | CONST}] <Список имен N-1>:<Тип N-1>;

[{VAR | CONST}] <Список имен N>:<Тип N>

Тип результата указывает тип значения, возвращаемого функцией.

 Пример

PROCEDURE PrintNumber(n:Real);

FUNCTION Sub(CONST S:STRING;St,En:Integer):STRING;

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

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

 Синтаксис специального оператора присваивания

<Имя функции>:= <Выражение>

 Пример

FUNCTION Mul(A,B:Real):Real;

BEGIN

Mul:=A*B;

END;

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

 Пример

FUNCTION Mul(A,B:Real):Real;

BEGIN

Result:=A*B;

END;

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: