ся, коли після чергового виконання заданої послідовності операторів логічне вираження У візьме (вперше) значення true. Таким чином, за допомогою логічного виразу У задається умова завершення виконання оператора циклу. Оскільки в даному випадку перевірка умови проводиться після виконання послідовності операторів (тіла циклу), цей оператор циклу і називається оператором циклу з умовою поста. p align="justify"> З використанням цього виду оператора циклу Паскаля задача про підсумовуванні перших членів гармонійного ряду, що задовольняють заданій умові, може бути реалізована наступним чином:
Приклад коду оператора циклу Паскаля з постусловіем
readln (e);: = 0;: = 0;: = i +1;: = y +1/i; 1/i
Зауважимо, що оператор циклу з постусловіем є більш загальним, ніж оператор циклу з параметром - будь циклічний процес, що задається за допомогою циклу з параметром можна представити у вигляді циклу з постусловіем. Протилежне твердження невірно. Наприклад, задача про підсумовуванні перших n членів гармонійного ряду, розглянута раніше, з оператором циклу з умовою поста буде виглядати так:
Приклад коду оператора циклу Паскаля з постусловіем
Readln (n);: = 0;: = 0;: = i +1;: = y +1/i; i> n;
Працює цикл з постусловіем наступним чином: "тіло циклу повторюється до тих пір, поки логічне вираження не стане істинним". Зверніть увагу, що, на відміну від while, цикл repeat в Паскалі працює, поки умова брехливо. Ця відмінність підкреслюється використанням ключового слова until ("доти, поки не") замість while ("доти, поки"). Крім того, у вигляді виключення, тіло циклу repeat, навіть якщо воно складається з декількох операторів, можна не укладати в операторні дужки. p align="justify"> Досить часто цикли взаємозамінні. Уявімо, наприклад, що для кожного із значень змінної x = 1, 2, ..., 20, потрібно виконати певний розрахунок (математично цей закон зміни x можна записати як або). Це можна зробити як в циклі while:
x: = 1;
while x <= 20 do begin
{оператори розрахунку}
x: = x +1;
end;
так і за допомогою repeat :: = 1;
{оператори розрахунку}: = x +1; x> 20;
.5. Оператор циклу Паскаля з передумовою
У разі оператора циклу Паскаля з постусловіем входить до нього послідовність операторів свідомо буде виконуватися хоча б один раз. Тим часом досить часто зустрічаються такі циклічні процеси, коли число повторень циклу теж невідомо заздалегідь, але за деяких значеннях вихідних даних передбачені в циклі дії взагалі не повинні виконуватися, і навіть одноразове виконання цих дій може призвести до невірних або невизначеним результатам. p align="justify"> Нехай, наприклад, дано дійсне число М. Потрібно з...