Поиск…


Вступление

Язык Delphi обеспечивает 3 типа цикла

for - iterator для фиксированной последовательности над целым числом, строкой, массивом или перечислением

условие repeat-until quit проверяется после каждого хода, цикл выполняется минимум один раз tmeeven

while do do условие проверяется перед каждым поворотом, цикл никогда не может выполняться

Синтаксис

  • для OrdinalVariable: = LowerOrdinalValue для UpperOrdinalValue действительно начать {loop-body} end;
  • для OrdinalVariable: = UpperOrdinalValue downto LowerOrdinalValue действительно начать {loop-body} end;
  • для EnumerableVariable в коллекции do begin {loop-body} end;
  • repeat {loop-body} до {break-condition};
  • в то время как {условие} действительно начинает {loop-body} конец;

Перерыв и продолжение в циклах

program ForLoopWithContinueAndBreaks;

{$APPTYPE CONSOLE}

var
  var i : integer;
begin
  for i := 1 to 10 do
    begin
      if i = 2 then continue; (* Skip this turn *)
      if i = 8 then break;    (* Break the loop *)
      WriteLn( i );
    end;
  WriteLn('Finish.');
end.

Выход:

1
3
4
5
6
7
Конец.

Повторять-До

program repeat_test;

{$APPTYPE CONSOLE}

var s : string;
begin
  WriteLn( 'Type a words to echo. Enter an empty string to exit.' );
  repeat
    ReadLn( s );
    WriteLn( s );
  until s = '';
end.

Этот короткий пример печати на консоли Type a words to echo. Enter an empty string to exit. , дождитесь ввода типа пользователя, повторите его и снова ожидайте ввод в бесконечном цикле - пока пользователь не войдет в пустую строку.

Пока делаете

program WhileEOF;
{$APPTYPE CONSOLE}
uses SysUtils;

const cFileName = 'WhileEOF.dpr';
var F : TextFile;
s : string;
begin
  if FileExists( cFileName )
    then
      begin
        AssignFile( F, cFileName );
        Reset( F );

        while not Eof(F) do
          begin
            ReadLn(F, s);
            WriteLn(s);
          end;

        CloseFile( F );
      end
    else
      WriteLn( 'File ' + cFileName +  ' not found!' );
end.

В этом примере напечатайте консоль текстового содержимого файла WhileEOF.dpr используя WhileEOF.dpr «Не WhileEOF.dpr While not(EOF) . Если файл пуст, ReadLn-WriteLn не выполняется.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow