Оператори циклу в турбо-паскаль

Навчитися використовувати оператори циклу в програмах на мові Турбо-Паскаль.

Короткі теоретичні відомості [1-3]

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

Наприклад, для того щоб знайти прізвище людини в списку, треба перевірити перше прізвище списку, потім другу, третю і т. Д. До тих пір,

поки не приймете сигнал бажаної прізвище або не буде досягнутий кінець списку.

Алгоритм, в якому є послідовність операцій, яка повинна бути виконана кілька разів, називається циклічним. а сама послідовність операцій іменується циклом.

Таким чином, оператори циклу використовуються для обчислень,

У Паскалі є три види циклів:

1) цикл з передумовою while;

2) цикл з умовою поста repeat;

3) цикл з параметром for.

Кожен з них складається з певної послідовності операторів.

Блок, заради виконання якого і організується цикл, називається

тілом циклу. Решта оператори служать для керування процесом повторення обчислень: це початкові установки, перевірка умови продовження циклу і модифікація параметра циклу. Однак модифікація параметра циклу може бути реалізована і в тілі циклу.

Один прохід циклу називається итерацией.

Початкові установки служать для того, щоб до входу в цикл задати значення змінних, які в ньому використовуються.

Перевірка умови продовження циклу виконується на кожній ітерації або до тіла циклу (тоді говорять про цикл з передумовою), або після тіла циклу (цикл з умовою поста). Різниця між ними полягає в тому,

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

Параметром циклу називається змінна, яка використовується при перевірці умови циклу і примусово змінюється на кожній ітерації,

причому, як правило, на одну і ту ж величину. Якщо параметр циклу цілочисельний, він називається лічильником циклу. Кількість повторень такого циклу можна визначити заздалегідь. Параметр є в будь-якого циклу.

Цикл завершується, якщо умова його продовження не виконується.

Можливо примусове завершення як поточної ітерації, так і циклу в цілому. Для цього служать оператори break. continue і goto. Передавати керування ззовні всередину циклу не рекомендується, тому що при цьому можуть не виконатися початкові установки.

Цикл з передумовою while

Оператор while використовується в тому випадку, якщо деяку послідовність дій (операторів програми) треба виконати кілька разів, причому необхідне число повторень під час розробки програми невідомо і може бути визначено тільки під час роботи програми.

У загальному вигляді оператор while записується в такий спосіб:

while умова do

Оператори циклу в турбо-паскаль

Умова в даному випадку - це вираз логічного типу,

визначальна умова виконання послідовності операторів тіла циклу. Якщо тіло циклу містить тільки один оператор, то ключові слова begin і end можна не використовувати.

Оператор while виконується в такий спосіб:

1) Спочатку обчислюється значення виразу умова.

2) Якщо значення виразу умова одно false (тобто умова не виконується), то на цьому виконання оператора while завершується. Після закінчення циклу управління передається на наступний за ним оператор.

3) Якщо значення виразу умова одно true (тобто умова виконується), то виконуються розташовані після ключового слова do

між begin і end оператори тіла циклу. Після цього знову перевіряється виконання умови. Якщо умова виконується, то оператори тіла циклу виконуються ще раз. І так до тих пір, поки умова не стане хибним (тобто

Блок-схема алгоритму, відповідного виконання оператора while. представлена ​​на рис. 1.

Мал. 1. Алгоритм виконання оператора while

Для того щоб оператори тіла циклу, які знаходяться між begin і end. були виконані хоча б один раз, необхідно, щоб на початку виконання оператора while значення виразу умова була істинно.

Для того щоб цикл завершився, потрібно, щоб послідовність операторів між begin і end впливала на значення виразу умова

(Змінювала значення змінних, що входять у вираз умова).

Розберемо приклади оператора while.

while x<=5 do x:=x+2;

Розглянемо особливості виконання даного оператора для випадку,

якщо перед виконанням оператора змінної x типу integer було присвоєно значення x = 3:

1) Спочатку обчислюється значення логічного виразу x<=5 .

2) Оскільки значення виразу 3<=5 равно true. то выполняется оператор x:=x+2. т.е. значение переменной x становится равным x=5 .

3) Знову обчислюється значення логічного виразу x<=5 .

4) Оскільки значення виразу 5<=5 также равно true. то выполняется оператор x:=x+2. т.е. значение переменной x становится равным x=7 .

5) Заново обчислюється значення логічного виразу x<=5 .

6) Оскільки значення виразу 7<=5 равно false. то выполнение цикла завершается и начинает выполняться некоторый оператор, следующий за оператором while .

Тепер розглянемо особливості виконання даного оператора для випадку, якщо перед виконанням оператора змінної x типу integer

було присвоєно значення x = 11:

1) Спочатку обчислюється значення логічного виразу x<=5 .

Схожі статті