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