6.1. Простой и составной операторы

We use cookies. Read the Privacy and Cookie Policy

Оператор в программе — это единое неделимое предложение, выполняющее какое-либо действие. Типичный простой оператор — оператор присваивания. Другим примером может служить вызов какой-либо процедуры в программе. Важно, что под любым оператором подразумевается действие (присваивание, сравнение величин, вызов подпрограммы, переход по программе и т.п.). Блоки описания типов, переменных, констант, меток и составляющие их предложения не являются в этом смысле операторами.

Два последовательных оператора обязательно должны разделяться точкой с запятой «;». Этот символ имеет смысл конца оператора, и он же разделяет операторы при записи в одну строку, например:

a:=11; b:=a*a; Write(a,b);

Отсюда вовсе не следует, что можно не закрывать символом «;» единственные в строке операторы.

Если какое-либо действие мыслится как единое (например, присваивание явно значений ряду элементов массива), но реализуется несколькими различными операторами, то последние могут быть представлены как составной оператор.

Составной оператор — это последовательность операторов, перед которой стоит слово BEGIN, а после — слово END. Между любыми двумя операторами должна стоять точка с запятой. Она сама по себе не является оператором и поэтому может отсутствовать между оператором и словом END. Зарезервированное слово BEGIN тоже не является оператором (как и все остальные зарезервированные слова), и после него точка с запятой не ставится. Так, чтобы оформить

- 94 -

три приведенных выше оператора в один, но составной, нужно как бы заключить их в операторные скобки BEGIN...END:

| BEGIN

| a:=11;

| b:=a*a;

| Write(a,b)

| END;

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

Составной оператор — очень важное понятие в структурном программировании. В Паскале все управляющие структуры не различают простой и составной операторы: там, где стоит простой оператор, можно поставить и составной.