Оператор циклу з умовою поста

У наведеному вище прикладі якраз використовується оператор циклу з умовою поста. Синтаксис цього оператора наступний:

repeat <операторы> until <условие>

Тут repeat, until -ключове слова (перев. Санглена. Повторювати і до тих пір поки);

<операторы> -будь-оператори Турбо-Паскаля (їх називають тілом циклу);

<условие> -логічні вираз типу порівняння, яке використовується для виходу з циклу. Оператор працює наступним чином: спочатку виконуються оператори, розташовані в тілі циклу, потім обчислюється умова, і якщо виходить справжнє значення, то здійснюється вихід з циклу. Якщо значення виразу помилково, то виконання операторів тіла циклу повторюється, а потім знову перевіряється умова. І так, оператори тіла циклу виконуються хоча б раз, а потім все залежить від умови виходу з циклу. Очевидно, один з операторів тіла циклу повинен впливати на значення умовного виразу, оскільки інакше цикл буде повторюватися нескінченно.

Проілюструємо використання оператора циклу з умовою поста на прикладі, в якому виводяться непарні числа, менші 10. Схема алгоритму приведена на рис.10, а програма в прикладі - pr10.

Оператор циклу з умовою поста

В результаті роботи цієї програми будуть надруковані в стовпчик всі непарні числа від 1 до 9.

Оператор циклу з передумовою

На відміну від оператора циклу з умовою поста оператор циклу з передумовою обчислює і перевіряє умова до виконання операторів, що складають тіло циклу. В іншому ці оператори схожі. Синтаксис цього оператора наступний:

while <условие> do <оператор>;

Тут while, do -ключове слово (перев. Санглена. Поки і робити);

<оператор> -будь-оператор Турбо-Паскаля, в тому числі і складовою (цей оператор називають тілом циклу);

<условие> -логічні вираз типу порівняння, яке використовується для виходу з циклу.

Оператор працює наступним чином: спочатку обчислюється умова, і якщо виходить справжнє значення, то виконується оператор, що є тілом циклу, а потім знову перевіряється умова. Якщо значення умовного виразу помилково, то здійснюється вихід з циклу. Таким чином, якщо умова була помилково при першому вході в цикл, то оператори тіла циклу не виконаються жодного разу. Очевидно, один з операторів тіла циклу повинен впливати на значення умовного виразу, оскільки інакше цикл буде повторюватися нескінченно. Наприклад, наступний фрагмент програми буде друкувати радісне повідомлення нескінченне число разів, так як відсутні в циклі конструкції, що змінюють величину i:

Щоб отримати працюючий фрагмент програми, додамо в тіло циклу оператор, що збільшує значення i:

Проілюструємо використання оператора циклу з передумовою на прикладі pr11 знаходження середнього арифметичного послідовності чисел (схема алгоритму наведена на рис.11). Послідовність чисел вводиться з клавіатури і завершується стоп-кодом. Використання стоп-коду в даному випадку полягає в тому, що якийсь числове значення свідомо виключається з вхідної послідовності і використовується як стоп-код. Якщо ми заздалегідь знаємо, що -1 у нас ніколи не з'явиться в послідовності, то можна -1 використовувати для вказівки її кінця.

Оператор циклу з умовою поста

Схожі статті