Циклы

В PascalABC.NET доступны следующие виды циклов.

Короткий цикл loop

Цикл loop повторяет действие заданное число раз.

begin
  loop 5 do
    Println('PascalABC.NET');
end.

Цикл for

Цикл for использует счетчик, котоый увеличивается всякий раз на 1.

begin
  for var i := 1 to 10 do
    Print(i * i);
end.

Цикл for с шагом

В цикле for можно использовать шаг

begin
  for var i := 10 to 20 step 2 do
    Print(i * i);
end.

Цикл for .. downto

В цикле for слово downto задаёт обратное направление: счётчик цикла уменьшается на 1 на каждой итерации.

begin
  for var i := 10 downto 1 do
    Print(i);
  Println('Старт!');
end.

или

begin
  for var i := 10 to 1 step -1 do
    Print(i);
  Println('Старт!');
end.

Цикл while

Цикл выполняется, пока условие остаётся истинным. Здесь выводятся цифры числа начиная с последней.

begin
  var n := ReadInteger;
  while n > 0 do
  begin
    Print(n mod 10);
    n := n div 10;
  end;
end.

Цикл repeat

Цикл repeat выполняется до наступления определенного условия - например, ввода заданного пароля

begin
  var password: string;
  repeat
    password := ReadString('Пароль:');
  until password = 'pascal';
  Println('Доступ разрешён');
end.

Цикл foreach

Цикл foreach используется для последовательного перебора элементов коллекции.

begin
  foreach var x in [2,3,5] do
    Print(x);
end.