загрузка...
загрузка...
На головну

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

  1. IV.1. Одноразові ітераційні цикли
  2. арифметичні оператори
  3. Великі цикли кон'юнктури
  4. ВЗАЄМОДІЯ КОРЕСПОНДЕНТА І ОПЕРАТОРА
  5. Взаємини між операторами зв'язку різного типу
  6. Види потенційних помилок оператора
  7. Вкладені умовні оператори

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

Повторюваний блок обчислень називають тілом циклу. У тілі циклу має бути забезпечено зміна значення лічильника, щоб він міг завершитися. Якщо тіло циклу складається більш ніж з одного оператора, воно полягає в операторні дужки begin ... end ;. Одноразове виконання тіла циклу називають його кроком.

Таким чином, для програмування циклу досить визначити умова, яка керує числом його повторень і описати оператори, що утворюють тіло циклу. З цієї точки зору, теоретично можливі всього два види циклів - перевірка умови або передує виконання тіла циклу, або відбувається після нього. Зобразимо ці цикли у вигляді блок-схем (рис. 9.1).

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

Мал. 9.1. Блок-схеми циклів з передумовою і умовою поста

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

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

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

while логічний_вираз do begin

{Оператори тіла циклу}

end;

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

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

Загальна запис циклу з умовою поста наступна:

repeat

{Оператори тіла циклу}

until логічний_вираз;

Працює цикл з умовою поста в такий спосіб: "тіло циклу повторюється до тих пір, поки логічне вираження не стане істинним". Зверніть увагу, що, на відміну від while, цикл repeat в Паскалі працює, поки умова помилково. Ця відмінність підкреслюється використанням ключового слова until ( "до тих пір, поки не") замість while ( "до тих пір, поки"). Крім того, як виняток, тіло циклу repeat, навіть якщо воно складається з декількох операторів, можна не укладати в операторні дужки.

Досить часто цикли взаємозамінні. Уявімо, наприклад, що для кожного із значень змінної x = 1, 2, ..., 20, потрібно виконати певний розрахунок (математично цей закон зміни x можна записати як  або ). Це можна зробити як в циклі while:

x: = 1;

while x <= 20 do begin

{Оператори розрахунку}

x: = x + 1;

end;

так і за допомогою repeat:

x: = 1;

repeat

{Оператори розрахунку}

x: = x + 1;

until x> 20;

Як видно з лістингу, керуючоїзмінної x в обох випадках присвоєно початкове значення 1, обидва циклу змінюють значення x і, відповідно, умова циклу, оператором x: = x + 1 ;, але для циклу repeat умова "перевернуто" ( "поки x НЕ побільшає 20 "), а тіло не укладено в операторні дужки.

Найчастіше використання одного з циклів виглядає краще. Наприклад, обробка введення користувача з клавіатури зручніше за допомогою repeat (спочатку користувач повинен натиснути клавішу, потім слідують перевірки і обробка).



Попередня   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34   Наступна

оператор введення | оператор виведення | Структура простої програми на Паскалі | Компілятор і оболонка Turbo Pascal | Логічні операції | Короткий умовний оператор | Складовою умовний оператор | Вкладені умовні оператори | оператор вибору | Приклади програм з умовним оператором |

загрузка...
© um.co.ua - учбові матеріали та реферати