словами: "поки логічне вираження істинно, повторюється тіло циклу ". p> Логічне вираз будується за правилами, вивченими в гол. 7. Тіло циклу можуть утворювати будь-які оператори Паскаля. Якщо в циклі знаходиться всього один оператор, операторні дужки, що показують початок і кінець тіла циклу, можна не писати.
Загальна запис циклу з постусловіем наступна:
repeat
{оператори тіла циклу}
until логічний_вираз;
Працює цикл з постусловіем наступним чином: "тіло циклу повторюється до тих пір, поки логічне вираження не стане істинним ". Зверніть увагу, що, в відміну від while, цикл repeat в Паскалі працює, поки умова хибно . Ця відмінність підкреслюється використанням ключового слова until ("до тих пір, поки не ") замість while (" доти, поки "). Крім того, в Як виняток, тіло циклу repeat, навіть якщо воно складається з декількох операторів, можна не укладати в операторні дужки.
Досить часто цикли взаємозамінні. Уявімо, наприклад, що для кожного із значень змінної x = 1, 2, ..., 20, потрібно виконати певний розрахунок (математично цей закон зміни x можна записати як або). Це можна зробити як в циклі while:
x: = 1;
while x <= 20 do begin
{оператори розрахунку}
x: = x +1;
end;
так і з допомогою repeat:
x: = 1;
repeat
{оператори розрахунку}
x: = x +1;
until x> 20;
Як видно з лістингу, керуючої змінної x в обох випадках присвоєно початкове значення 1, обидва циклу змінюють значення x і, відповідно, умова циклу, оператором x: = x +1;, але для циклу repeat умова "перевернуто" ("поки x НЕ стане більше 20 "), а тіло не укладено в операторні дужки.
Найчастіше використання одного з циклів виглядає краще. Наприклад, обробка введення користувача з клавіатури зручніше за допомогою repeat (спочатку користувач повинен натиснути клавішу, потім слідують перевірки та оброблення).