РАЗДЕЛ ОПИСАНИЯ ПЕРЕМЕННЫХ

Каждая встречающаяся в программе переменная должна быть описана. Описание обязательно предшествует использованию переменной. Раздел описания переменных начинается зарезервированным словом 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;