Конспект урока "Составной оператор"

Программирование в Lazarus для школьников.
Занятие № 12.
Составной оператор.
Матыцин Игорь Владимирович
Учитель математики и информатики
МБОУ СОШ с. Девица
Цель: научится пользоваться составным оператором.
Девица 2013.
Современные алгоритмы достаточно сложны и в ответ на какое-то действие
обычно происходит (или не происходит) целый ряд действий. Если в
программе все операторы следуют друг за другом, то и выполняются они по
порядку. Поэтому общий ряд операторов необходимо особым образом
выделять.
Например: если s>j, то необходимо s:=s+1 и j:=j-1. Несложно описать эту
задачу при помощи оператора if.
If s>j then s:=s+1 j:=j-1;
Но этот код не будет работать, так как два оператора присваивания не
разделены ‘;’.
А если поставить ‘;’, то получим вот это If s>j then s:=s+1; j:=j-1;
Этот код уже будет работать, но не так как нам хотелось. s:=s+1 будет
выполнятся, когда s>j, а j:=j-1 будет выполнятся всегда. Это произойдет
потому что j:=j-1 от оператора if отделено ‘;’ и не попадает под действие
этого оператора.
Для того чтобы эти действия выполнялись вместе необходимо применить
особый оператор. Он называется – составной оператор.
Составной оператор служит для объединения групп операторов, которые по
смыслу программы рассматриваются как один оператор.
Как в примере: s:=s+1; j:=j-1 должны быть одним оператором. Что бы
выполнятся после if вместе. Для того чтобы объединить два оператора будем
использовать операторные скобки begin end;.
If s>j then
begin
s:=s+1;
j:=j-1
end;
Теперь все что находится в операторных скобках является составным
оператором и будет выполнятся если s>j. Операторы, находящиеся в
операторных скобках выполняются последовательно, в том порядке, в
котором записаны.
Во многих операторах синтаксис языка требует использование только одного
оператора, в этом случае и необходимо использовать составной оператор (
как после слова then по синтаксису должен стоять только один оператор).
При использовании составного оператора есть один нюанс. После последнего
оператора, входящего в состав составного оператора, можно не ставить ‘;’.
Это объясняется тем что ‘;’ служит для отделения операторов друг от друга, а
в составном операторе в конце отделение производится словом end;
обязательно с ‘;’.
Если же вы поставите ‘;’, то программа будет работать без ошибок и
полностью правильно. Просто вы создадите пустой оператор. Этот оператор
не вызывает не каких действий и не какими символами не обозначается. В
простейшем случае это просто пустое место между двумя ‘;’
Begin
;;
End;
В этом примере есть сразу три пустых оператора между begin ; и между ;;
и между ; end;.