Алгоритми з циклічною структурою мовою Паскаль
Алгоритми з циклічною структурою мовою Паскаль
Командою повторення або циклом називається така форма організації дій, при якій одна і та ж послідовність дій повторюється доти, доки зберігається значення деякого логічного виразу. При зміні значення логічного вираження протилежне повторення припиняються (цикл завершується).
Розрізняють цикли з відомим числом повторень (цикл із парою метром) та ітераційні цикли (з перед- і постумовою).
У циклі з певним числом повторень параметр змінюється в заданому діапазоні. Якщо циклі змінюється проста змінна, вона є параметром циклу; якщо в циклі змінюється змінна з індексом, то індекс цієї змінної є параметром циклу.
Для організації циклу з відомим числом повторень у Паскалі використовується оператор FOR.

ТутУП- параметр, що змінюється в циклі;нз,кз- вирази порядкового типу, що позначають початкове та кінцеве значення параметра циклу. Крок зміни номера параметра циклу дорівнює1. ПараметрУПможе бути як позитивним, і негативним. Відповідно, цикл може працювати як за зростанням, так і за зменшенням значень свого параметра.
Структура циклу, організованого за допомогою цього оператора, мовою Паскаль має вигляд:
for i := a to b do begin оператор > end;
for i := downto b do begin оператор > end;
Крок зміни номера параметра циклу дорівнює1, якщо в заголовку циклу стоїтьtoі-1приdownto. Можливість вказівки довільного кроку у мові Паскаль відсутня: у разі доводиться використовувати цикли з умовами.
Порядок виконання циклу з кроком1наступний: обчислюються значення початкового і кінцевого значень параметра циклу; параметрУП( i )приймає початкове значення (нз),якщоУП( i )менше або дорівнює кінцевому значенню (кз) , виконується тіло циклу; значення параметра циклу збільшується, тобтоi = i +1; перевіряється умоваУП( i ) £ кз(для негативного кроку умоваУП( i ) ³ кз), і за його виконання цикл повторюється. Вихід із циклу здійснюється, якщоУП( i ) кз(УП( i ) кздля кроку -1), і виконується оператор, що йде за оператором циклу.
Якщо в операторі циклу з параметром початкове або кінцеве значення параметра задані змінними або виразами, значення цих змінних повинні бути визначені в програмі до оператора циклу. Не слід всередині циклу змінювати параметр циклу, його початкове та кінцеве значення за допомогою операторів присвоювання або введення.
Цикли можуть бути вкладеними, тобто при виконанні одного циклу всередині нього виконується ще один чи навіть кілька циклів. Однак слід мати на увазі, що час виконання вложених циклів прямо пропорційний добутку кінцевих значень їх параметрів.
Ітераційні циклічні алгоритми
Порівняно з циклом із параметром, розглянутим нами вище, ітераційні цикли є універсальними. Для організації ітераційних циклів використовуються оператори циклу з передумовою цикл «ПОКИ» і циклу з постумовою цикл «ДО».
Ці оператори не задають закону зміни параметра циклу, тому необхідно перед циклом задавати початкове значення параметра за допомогою оператора присвоєння, а всередині циклу змінювати поточне значення цього параметра.

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

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

Для використання функціїkeypressedнеобхідно підключити модуль Crt.