Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры 21.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
46.61 Кб
Скачать
  1. Метки и безусловный переход. Операторы break и continue

Метка помечает какое-либо место в тексте программы. Метками могут быть числа от 0 до 9999 или идентификаторы, которые в этом случае уже нельзя использовать для каких-либо иных нужд. Все метки должны быть описаны в специальном разделе label: label <список_всех_меток_через_запятую>;

Меткой может быть помечен любой оператор программы<метка>: <оператор>;

Любая метка может встретиться в тексте программы только один раз. Используются метки только операторами безусловного перехода goto: goto <метка>;

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

Операторы break и continue выполняются в любом из видов циклов (repeat, while, for) и действительны только для внутреннего цикла. Например, если нужно обеспечить принудительный выход из двойного цикла, оператор break должен быть расположен как во внутреннем, так и во внешнем цикле. Операторы break и continue по сути являются видоизмененными операторами goto с известной точкой, в которую осуществляется переход.

  1. Оператор циклов for-to.

В случае когда количество однотипных действий заранее известно (например, необходимо обработать все компоненты массива), стоит отдать предпочтение циклу с параметром ( for ).

Общий вид оператора for-to:

for i:= first to last do <оператор>;

Цикл for-to работает следующим образом:

  • вычисляется значение верхней границы last;

  • переменной i присваивается значение нижней границы first;

  • производится проверка того, что i<=last;

  • если это так, то выполняется <оператор> ;

  • значение переменной i увеличивается на единицу;

  • пункты 3-5, составляющие одну итерацию цикла, выполняются до тех пор, пока i не станет строго больше, чем last; как только это произошло, выполнение цикла прекращается, а управление передается следующему за ним оператору.

Из этой последовательности действий можно понять, какое количество раз отработает цикл for-to в каждом из трех случаев:

first < last: цикл будет работать last-first+1 раз;

first = last: цикл отработает ровно один раз;

first > last: цикл вообще не будет работать.

После окончания работы цикла переменная-счетчик может потерять свое значение. Таким образом, нельзя с уверенностью утверждать, что после того, как цикл завершил работу, обязательно окажется, что i=last+1. Поэтому попытки использовать переменную-счетчик сразу после завершения цикла (без присваивания ей какого-либо нового значения) могут привести к непредсказуемому поведению программы при отладке.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]