ого значення, рівного значенню виразу Е1, до кінцевого значення, рівного значенню виразу Е2, тобто при кожному повторенні виконується оператор присвоювання V: = succ (V), і виконання оператора S при кожному значенні параметра циклу V. При цьому значення виразів Е1 і Е2 обчислюються один раз, при вході в оператор циклу, а значення параметра циклу V не повинно змінюватися в результаті виконання оператора S. Якщо задане кінцеве значення менше початкового значення (що припустимо), то оператор S не виконується жодного разу. p align="justify"> У Паскалі вважається, що при нормальному завершенні виконання оператора циклу значення параметра циклу не визначено.
З використанням оператора циклу з параметром алгоритм обчислення суми перших n членів гармонійного ряду може бути заданий наступним чином:
Приклад коду програми для підсумовування перших n членів гармонійного ряду
Readln (n);: = 0; i: = 1 to n do y: = y +1/i;
У деяких випадках буває зручно, щоб параметр циклу Паскаля брав послідовні, але не зростаючі, а убуваючі значення. Для таких випадків у Паскалі передбачений оператор циклу з параметром такого вигляду:
For V: = E1 downto E2 do S,
де downto (зменшуючись к) - службове слово, а всі інші слова і вирази мають колишній сенс. Зміна параметра циклу від більшого значення до меншого відбувається при виконанні присвоювання V: = pred (V). Зауважимо, що початкове значення може бути менше кінцевого значення. У цьому випадку оператор S не виконається жодного разу. Значення параметра циклу по завершенні виконання такого циклу так само вважається невизначеним. p align="justify"> Слід запам'ятати і те, що для обох варіантів запису циклу з параметром справедливо: якщо початкове і кінцеве значення рівні, то тіло циклу (оператор S) виконається один раз.
Зауважимо так само, що параметр циклу може і не використовуватися в тілі циклу, так що основне його призначення - це управління числом повторень циклу. Наприклад, значення y = xn, де n> = 0 - ціле, можна обчислити за наступним алгоритмом: попередньо покласти y = 1, а потім n раз домножити це значення на x:
Приклад коду програми циклу Паскаля (n);
Readln (x);: = 1; i: = 1 to n do y: = y * x;
Як видно, тут параметр циклу i служить лише для того, щоб тіло циклу (оператор y: = y * x) виконалось потрібне число разів.
програмування цикл крок pascal
3.3 Арифметичний оператор циклу Паскаля з довільним кроком
Природним ускладненням простого арифметичного циклу Паскаля, є цикл, в якому параметр циклу змінюється на 1, а на довільну величину - крок збільшення. При цьому в процесі виконання циклу крок змінюється по заданому закону. Стандартні оператори для реалізації такого циклу є в Форте...