Операторы

Операторы выполняют некоторые действия над данными. Операторы выполняются в том порядке, в котором они записаны в программе. Разделителем операторов служит точка с запятой.

Все операторы разделяются на 2 группы: простые и структурные.

Операторы, не содержащие внутри себя другие операторы, называются простыми. К ним относятся операторы присваивания, безусловного перехода, пустой оператор и оператор вызова процедуры. Структурные операторы — это составной, условные операторы и операторы циклов.

Совместимость типов

Два типа считаются совместимыми, если:

§ оба есть один и тот же тип;

§ оба вещественные;

§ оба целые;

§ один тип есть тип-диапазон второго типа;

§ оба являются типами-диапазонами одного и того же базового типа.

2.1 Простые операторы

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

Формат оператора:

Идентификатор := выражение ;

Такое присваивание возможно лишь в следующих случаях:

§ идентификатор и значение выражения принадлежат к одному и тому же типу;

§ идентификатор и значение выражение являются совместимыми типами, и значение выражения лежит в диапазоне возможных значений идентификатора;

§ идентификатор вещественного типа — значение выражения целочисленного типа;

§ идентификатор — строка, выражение — символ.

В программе данные одного типа могут преобразовываться в данные другого типа. Такое преобразование может быть явным и неявным.

Явное преобразование типов может осуществляться двумя способами:

§ использование функций преобразование типов;

§ преобразование типов может осуществляться применением идентификатора (имени) стандартного типа или типа определенного пользователем, как идентификатора функции преобразования к выражению преобразуемого типа, например:

Var k : integer;

Begin

Byte ( k ) ; {переменная k преобразована в целочисленный тип}

End .

Неявное преобразование типов возможно в двух случаях:

§ в выражениях, составленных из вещественных и целочисленных переменных, целочисленные переменные автоматически преобразуются к вещественному типу, и все выражение в целом приобретает вещественный тип;

§ одна и та же область памяти попеременно трактуется как содержащая данные то одного, то другого типа (совмещение в памяти данных разного типа).

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

Формат оператора:

GOTO метка ;

Формат описания меток:

LABEL

имя метки ;

При записи оператора GOTO необходимо помнить следующее:

1. Метка, на которую передается управление, должна быть описана в разделе описания меток того блока процедуры, функции, основной программы, в котором эта метка используется.

2. Областью действия метки является тот блок, в котором она описана.

3. Попытка выйти за пределы блока или передать управление внутрь другого блока вызывает программное прерывание.

Пример:

Goto met1 ;

met1 : оператор ;

Обычно оператор Goto применяется для преждевременного выхода из цикла или при обработке ошибок. В других случаях его использовать не рекомендуется.

Пустой оператор не содержит ни оного символа и не выполняет никаких действий. Он может быть использован там, где синтаксис языка требует наличие оператора, но никакие действия выполнять не нужно. Пустой оператор — это лишняя точка с запятой (;). Чаще всего пустой оператор встречается с меткой и ставится в конце оператора или программы.

Пример:

goto 7 ;

...

7 : ;

Наши рекомендации