Раздел описания переменных
Каждая встречающаяся в программе переменная должна быть описана. Описание обязательно предшествует использованию переменной. Раздел описания переменных начинается зарезервированным словом VAR (переменная), затем через запятую перечисляются имена переменных, через двоеточие следует их тип и точка с запятой ставится в конце описания.
Формат описания переменных:
Var <список имен переменных 1>:<имя типа 1>;
<список имен переменных 2>:<имя типа 2>;
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
<список имен переменных N>:<имя типа N>;
Пример: var i, j, k, n, m:integer;
x, y, z, max, min :real;
uslov:boolean;
simvol:char;
a,b: array[1..15] of real;
d, cd:array[1..5,1..7} of integer;
S, dad:month;
Область действия переменных - блок, где они описаны, а также все вложенные блоки, если в них эти переменные не описаны повторно.
РАЗДЕЛ ОПИСАНИЯ ПРОЦЕДУР И ФУНКЦИЙ
В практике программирования Turbo Pascal часто возникает необходимость выполнения одной и той же последовательности операторов в различных частях программы. Целесообразно оформить эту последовательность в виде подпрограммы. Роль подпрограмм в языке выполняют процедуры и функции. Процедуры и функции позволяют записать повторяющиеся участки программы один раз, а в нужных местах программы лишь обращаться к ним по имени. Позволяет сократить объем работ и улучшить структуру программы и уменьшить вероятность наличия ошибок.
В общем случае подпрограмма имеет ту же структуру что и программа. Для описания подпрограмм используются зарезервированные слова PROCEDURE и FUNCTION, которые записываются в начале подпрограмм.
Подпрограмма функция
Функция состоят из заголовка, описания локальных переменных и тела ( группы операторов).
Формат описания пользовательской функции:
Function <имя функции> (<имя переменной>:<тип переменной>, . . . ):<тип результата>;
<Раздел описания локальных меток, констант, переменных >;
{Список формальных параметров с указанием типа}
Begin
<имя функции>:=<выражение>; {Тело подпрограммы}
End;
Пример: Оформить в виде функции алгоритм возведения в целочисленную степень y=xn.
function stepen(n:integer; x:real):real;
var i:integer;
Begin
stepen:=1;
for i:=1 to n do stepen:=stepen*x;
End;
Вызов функцииstepen(9,alfa);
Обращение к подпрограмме осуществляется по имени подпрограммы ( функции, процедуры) с указанием в скобках вместо формальных параметров фактических. Имена формальных и фактических переменных могут не совпадать, но число и тип параметров должны обязательно соответствовать друг другу.
Подпрограмма - процедура
В отличии от функции подпрограмма процедура в качестве результата может возвращать несколько значений.
Формат:
Procedure <имя > (<имя перем.1 >,<имя перем.2 >, . . . <имя перем.n >, ):;
<Раздел описания локальных меток, констант, переменных >;
{Список формальных параметров с указанием типа}
Begin
<Раздел операторов >; {Тело подпрограммы}
End;
Если формальный параметр в ходе выполнения процедуры меняет свое значение ( обычно это результат), то перед ним ставится служебное слово var . В процедуре структуированные типы должны указываться по имени. Вызов процедуры осуществляется по имени с указанием фактических параметров.
ОПЕРАТОРЫ
ОБЩИЕ СВЕДЕНИЯ
Основная часть программы на языке Turbo Pascal представляет собой последовательность операторов, каждый из которых производит некоторое действие над данными. Разделителем операторов служит точка с запятой “ ; “. Все операторы языка Turbo Pascal подразделяются на две группы: простые и сложные ( структурные).
ПРОСТЫЕ ОПЕРАТОРЫ
Операторы, не содержащие никаких других операторов, называются простыми. К ним относятся операторы: присваивания, безусловного перехода, вызова процедур и пустой оператор.
Оператор присваивания (:=) предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, идентификатор который расположен в левой части. переменная и выражение должны быть совместимы по типу.
Формат:
<идентификатор переменной>:=<выражение>;
Пример: alfa_67 := (sqrt(a)-exp((b-c)*ln(2.5+1/a)))/(d+ln((a+b)*c)/ln(3));
Оператор безусловного перехода ( goto) означает “перейти к” и применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор.
Формат записи:
GOTO <МЕТКА>;
Пример: goto 36; goto beta8;
Оператор вызова процедуры служит для активизации предварительно определенной пользователем или стандартной процедуры.
Формат записи:
<имя процедуры>(аргументы процедуры);
Пример: ClrScr; { Вызов стандартной процедуры}
InitWork(a,b,c,d); { Вызов пользовательской процедуры }
Простой оператор не содержит никаких символов и не выполняет никаких действий. Пустой оператор используется для организации перехода к концу локального или глобального блока.
Формат записи:
BEGIN
GOTO <Метка>; { переход в конец блока }
<Метка>: { пустой оператор помечен меткой }
END;