Досрочное прерывание цикла в Delphi

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

Давайте создадим такое приложение Delphi: К нам приехали гости и нам нужно приобрести 12 бутылок вина, в нашем городе 30 магазинов, но в любом магазине ограничение дают по 2 бутылки. Вопрос сколько магазинов надо посетить чтобы приобрести требуемое (кто не употребляет вино может в данную программу занести буханку хлеба вместо бутылки).

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

procedure TForm1.Button1Click(Sender: TObject);
var
  SUM,N:integer;
begin
  SUM := 0;
  for N:=1 to 30 do
    begin
     SUM := SUM + 2;
       if SUM >=12 then
         begin
          Label1.Caption := IntToStr(N);
          break;
         end;
    end;
end;

SUM - это итоговое число необходимого нам товара. N - это количество магазинов в городе. Мы проверяем, оператором снизу, достаточно ли у нас необходимого:

if SUM >=12

и если нужное количество у нас есть то можно идти домой и отдыхать, а цикл завершить.

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

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *