Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование 14.12.2011.doc
Скачиваний:
91
Добавлен:
07.02.2015
Размер:
833.54 Кб
Скачать

11. Операторы. Классификация операторов. Запись операторов.

Операторы:

  • оператор присваивания;

  • составной оператор;

  • условный оператор;

  • оператор выбора;

  • операторы цикла for, while и repeat.

Оператор присваивания

Оператор присваивания имеет вид:

переменная:=выражение

Действие его заключается в том, что вычисляется значение выражения, стоящего справа от знака присваивания «:=», и оно присваивается переменной, стоящей слева от знака присваивания. При этом значение выражения должно иметь тип либо совпадающий с типом переменной, либо неявно к нему приводящийся. Например, типыbyteиinteger неявно преобразуются друг к другу, а также к типуreal. Интервальный тип и его базовый тип неявно преобразуются друг к другу, неявно преобразуются между собой также интервальные типы, построенные на основе одного базового типа.

Составной оператор

Составной оператор предназначен для объединения нескольких операторов в один. Он имеет вид:

begin

операторы

end

Операторы отделяются друг от друга символом «;». Служебные слова beginиend, окаймляющие операторы, называются операторными скобками. Передendтакже может ставиться «;». В этом случае считается, что последним оператором передendявляется пустой оператор, не выполняющий никаких действий.

Условный оператор

Структурное обозначение следующее:

Условный оператор имеет полнуюикраткуюформы.

Полнаяформа условного оператора выглядит следующим образом:

If условие then оператор1 else оператор2;

В качестве условия указывается некоторое логическое выражение. Если условие оказывается истинным, то выполняется оператор1, в противном случае выполняетсяоператор2. Например, следующий фрагмент находит максимум значений двух переменныхaиb:

if a>b then max:=a else max:=b;

Краткая форма условного оператора имеет вид:

if условие then оператор;

Если условие оказывается истинным, то выполняется оператор, в противном случае происходит переход к следующему оператору программы. Например, чтобы упорядочить значения переменныхaиbпо неубыванию, можно написать:

if a>b then

begin

m:=a;

a:=b;

b:=m

end;

В случае конструкции вида

if условие1 then

if условие2 then оператор1

else оператор2;

elseвсегда относится к ближайшему предыдущему операторуif, для которого веткаelseеще не указана. Если в предыдущем примере требуется, чтобыelseотносилась к первому операторуif, то необходимо использо вать составной оператор:

if условие1 then

begin

if условие2 then оператор1

end

else оператор2;

Для иллюстрации приведем фрагмент программы решения уравнения ax + b = 0.

if a=0 then

if b=0 then writeln(‘x – любое число’)

else writeln(‘Корней нет’)

else

begin

x:= –b/a;

writeln(‘x = ’,x:8:3)

end;

Оператор выбора

Структурное обозначение следующее:

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

case переключатель of

список выбора 1: оператор1;

...

список выбора N: операторN;

else оператор

end;

Переключатель представляет собой выражение порядкового типа (целого, символьного, перечислимого или интервального), а списки выбора содержат константы совместимого типа. Как и в операторе if, веткаelseможет отсутствовать.

Оператор caseработает следующим образом. Если в одном из списков выбора найдено текущее значение переключателя, то выполняется оператор, соответствующий данному списку. Если же значение переключателя не найдено ни в одном списке, то выполняется оператор по веткеelseили, если веткаelseотсутствует, операторcaseне выполняет никаких действий.

Список выбора состоит либо из одной константы, либо из диапазона значений вида a..b(константаaдолжна быть меньше константыb); можно также перечислить несколько констант или диапазонов через запятую:

case DayOfWeek of