Урок Информатики "Составной оператор"

Программирование в 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;.