Типизированные константы
Процедуры и функции для работы со строками
Функция 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 в описательной части функции.