Головна » Статті » Pascal » Цикли

Цикли з перед- та післяумовою Pascal
Інколи нам доводиться запрограмовувати такі задачі, у яких треба використовувати такі цикли, які завершуються, за певної умови. За допомогою циклу з параметром це може бути проблематично, так як його використання передбачає заздалегіть прораховану кількість повторів, чого ми в таких ситуаціях, кажучи взагальному, собі дозволити не можемо. Чи можна це обійти? Так, використовуючи цикли з перед- та післяумовою.
В чому суть цих операторів? Перш за все, задається певне твердження, яке перевіряється. Цикл з передумовою буде "в ділі", поки дана йому умова - правильна, а цикл з післяумовою - коли умова правильна. Перед тим, як переходити до більш-менш глибокого аналізу, треба вияснити синтаксис. Цикли з передумовою у Паскалі реалізовуються таким чином:
while <умова> do <команди>;
а цикли з післяумовою - таким:
repeat <команда1>; ... <команда n> until <умова>;
Давайте розперемося з першим видом, так як другий по своєму змісту дуже подібний.

Розглянемо приклад. Нехай дано числову послідовність із загальним членом an=1/(n^2+n+sqrt(n)). Потрібно знайти суму її членів з точністю ε=10-6. Таку задачу можна реалізувати наступним фрагметном коду.
while ( abs(S_old-S_new)>=0.000001 ) do
  begin
    S_old:=S_new;
    S_new:=S_new+1/(sqr(i)+i+sqrt(i));
    i:=i+1;
  end;
Що ми бачимо? Спочатку йде перевірка умови на правильність. Якщо вона правильна, то виконуються команди в блоці, що відноситься до циклу, інакше цикл припиняє свою роботу. В даному випадку перевіряється чи не є, випадково, модуль різниці суми з i та i-1 елементів меншою за дане число ε (тобто чи ai<ε). Якщо ні, то виконуються команди між begin та end. Якщо все ж таки менша, то обрахунок завершується.
Це розглянутий цикл з передумовою. А що стосовно циклу з післяумовою? Ситуація, як вже говорилося вище, з ним подібна. Єдина різниця заключається в тому, що спочатку виконуються команди, а потім уже перевіряється дана умова, а не навпаки. Це, по суті, єдина між ними (цими циклами) відмінність.
Надіюсь, інформація була Вам корисна. Думаю, згодиться.
Категорія: Цикли | Додав: Lord_Adwond (13-06-2018) | Автор: Lord_Adwond
Переглядів: 294 | Теги: цикл з післяумовою, цикл з передумовою, Pascal, выходом | Рейтинг: 0.0/0
Всього коментарів: 0
avatar