Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по дисциплине Объектно-ориентирован...doc
Скачиваний:
33
Добавлен:
01.07.2025
Размер:
14 Мб
Скачать
☆

Лекция №5 Тема: Операторы

План:

  1. Оператор присваивания и его соотношение с методом Assign

  2. Оператор передачи управления goto

  3. Оператор with

  4. Условные операторы выбора if

  5. Условный оператор множественного выбора case

  6. Оператор цикла for

  7. Прерывание цикла: оператор break, процедуры Continue, Exit и Abort

  8. Оператор цикла while

  9. Оператор цикла repeat

1. Оператор присваивания и его соотношение с методом Assign

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

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

где <переменная> — переменная или типизированная константа любого типа, включая разыменованный указатель, объект, запись и т.д., а <выражение> — любое допустимое выражение, совместимое по типу с переменной в левой части оператора. Оператор вычисляет значение выражения, записанного как правый операнд операции присваивания :=, и присваивает полученное значение переменной в левой части оператора.

Например, оператор

I : = 3; присваивает переменной I значение 3. Оператор

I : = I + 1; увеличивает значение переменной I на 1.

2. Оператор передачи управления goto

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

Метки, на которые может передаваться управление, объявляются ключевым словом label, после которого следует список меток. Каждая метка может обозначаться допустимым идентификатором или числом от 0 до 9999. Например, следующее объявление

label Lbeqin, I, second;

объявляет три метки: Lbegin, 1 и second.

3. Оператор with

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

with <объект> do <оператор>;

В операторе, следующем за ключевым словом do, можно для полей, свойств и методов объекта, указанного как <объект>, не включать ссылки на этот объект. При этом каждый идентификатор в операторе, который совпадает с именем поля, свойства, метода объекта, трактуется как относящийся к этому объекту и к нему неявно добавляется ссылка на этот объект.

Возможна другая форма оператора with:

with <объект 1>, <объект 2>, ..., <объект n> do <оператор>;

Она соответствует множеству вложенных друг в друга конструкций with:

with <объект 1> do

with <объект 2> do

...

with <объект n> do

<оператор>;

4. Условные операторы выбора if

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

Оператор имеет две формы: if...then и if...then...else. Форма if...then имеет вид:

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

Если условие возвращает true, то указанный в конструкции if оператор вы­полняется. В противном случае управление сразу передается оператору, следующему за конструкцией if. Например, в результате выполнения операторов

С := А;

if В > A then С := В;

переменная С станет равна максимальному из чисел А и В, поскольку оператор С := В будет выполнен только при В > А.

Форма конструкции if...then...else имеет вид:

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

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