Иллюстрированный самоучитель по Kylix

       

Пример использования оператора условия



Листинг 3.5. Пример использования оператора условия

if I in [1..5] then С := 'До пяти' else if I in [6..10] then С := 'Выше пяти'
else if (I = 0) or (I in [10..99]) then С := 'Вне области допустимых значений' else
С := ";

На листинге 3.5 получилась довольно тяжело читаемая конструкция.

Операторы цикла

Иногда необходимо, чтобы какая-либо часть программы выполнялась несколько раз. Для этого во всех языках программирования, в том числе и в языке Object Pascal, используются циклы.

Цикл — это последовательность операторов, команд, которая выполняется более одного раза, т. е. повторяется. Такие операторы и команды называют телом цикла.

В языке Object Pascal имеются три вида операторов цикла:

  • цикл с параметром;


  • цикл с предусловием;
  • цикл с постусловием.

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

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

Операторы циклов допускают множественные вложения друг в друга. При вложении сначала выполняются внутренние операторы цикла, а затем — внешние. Далее мы приведем примеры вложений операторов цикла друг в друга.

Цикл с параметром

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

For параметр:=нач.значение to кон.значение do оператор;

или

For параметр:=нач.значение downto кон.значение do оператор;

Параметр цикла — это переменная порядкового типа, которая объявлена в разделе объявления переменных.

Начальное значение — это значение, которое принимает параметр цикла. Естественно, что данное значение должно быть того же типа, что и переменная параметра цикла.

Конечное значение — это значение, которое может принимать параметр цикла.

Оператор — это одиночный или составной оператор, который и представляет собой тело цикла.

Внимание
Тело цикла не должно изменять параметр цикла, т. к. это может привести к непредсказуемым последствиям. В частности, к бесконечному циклу (зацикливанию программы).

И первый и второй варианты написания цикла изменяют параметр цикла на единицу. В первом случае (for ... to) происходит увеличение параметра на единицу при каждом проходе цикла, во втором случае (for ... downto) — уменьшение параметра цикла на единицу.

Итак, цикл с параметром выполняется несколько раз, постепенно увеличивая или уменьшая значение параметра: до тех пор, пока это значение не достигнет конечного значения.

Примечание
Цикл не выполняется ни разу, если для первого варианта цикла начальное значение параметра больше конечного, а для второго варианта — конечное значение больше начального.

Приведем несколько примеров циклов с параметрами (листинг 3.6).



Содержание раздела