Цикл For в Delphi


Цикл For в Delphi — осуществляет выполнение операций, строго заданное количество раз.

Зарезервированные слова для реализации цикла: For, to, downto, do.

Чтобы понять как работает цикл, рассмотрим простенький пример заполнения массива состоящего из пяти элементов, числами от 1 до 5.

Для этого:

1) Помещаем на форму, компоненты: 1- Button, и 1-Memo;

2) Создаем обработчик событий на кнопке и записываем следующий код:

3) Запускаем проект и наблюдаем в компоненте Memo, заполненный нами масссив;

Теперь давайте разбираться, что к чему. Предлагаю перевести рассматриваемую конструкцию «For c:=1  to 5  do»  на русский язык:

  • For — означает — от,  для, в направлении;
  • to —   означает — к, на, до;
  • do —  означает —  выполнять, делать, 

Запись  c:=1 — переменная счетчик с присвоенным начальным значением 1. А цифра 5 после слова to — конечное значение.

В случае с нашим примером, получаем буквально следующее:

Далее, переменная с увеличивается еще на единицу, определяет номер второго элемента массива и присваивается ему в качестве значения (уже 2).

Затем записывается в первую строку Memo. Потом, переменная с увеличивается еще на единицу, определяет уже номер третьего элемента массива, присваивается ему в качестве значения (теперь 3). Затем записывается во вторую строку компонента Memo.

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

И наконец, переменная с снова увеличивается на единицу, определяет номер пятого элемента массива, присваивается ему в качестве значения (уже 5), записывается в четвертую строку компонента Memo и цикл прекращается.

Теперь подробнее.

  • В начале вычисляются и запоминаются начальное и конечное значения c:=1 и 5 .
  • Циклу присваивается начальное значение c:=1, после чего это значение сравнивается с конечным —  5.
  • Если начальное значение меньше или равно 5, выполняются итерации цикла, где происходит увеличение начального параметра цикла (переменной с) на единицу.  Затем выполняются команды прописанные после слова do, а именно:

Изменение параметра цикла происходит автоматом, после каждой итерации.

4) Как только параметр цикла с превышает конечное значение 5, цикл прекращает свою работу.

Цикл For может оперировать данными не только в порядке возрастания, но и в порядке убывания. Для этого мы вместо слова to, должны воспользоваться словом downto.

И если в нашем первом примере начальное значение, не должно было превышать конечное, то в случае с обратным порядком, должно быть все наоборот. Попробуем модернизировать наш код из первого примера, и сделаем теперь так, чтобы массив заполнялся с 5 до 1.

Для этого:

1) Помещаем на форму, компоненты: 1- Button, и 1-Memo;

2) Создаем обработчик событий на кнопке и записываем следующий код:

3) Запускаем проект и видим, что наш массив, заполнился в обратном порядке;

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

  • break — позволяет прервать работу цикла на любом его этапе.
  • continue — позволяет возобновить остановившийся цикл.

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