русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Оператор циклу з післяумовою (repeat-until)


Дата додавання: 2014-11-28; переглядів: 4582.


Оператор циклу з післяумовою призначений для організації багатократного виконання групи вказівок (тіло циклу) до тих пір, поки умова виконання циклу не стане істинною (логічний вираз дорівнює ш false, a trye).

Оператор циклу з післяумовою має вигляд: repeat

<вказівка 1>;

<вказівка 2>;

……….;

<вказівка N> until<логічний вираз>;

Тут repeat(повторювати), until(до тих пір поки) - зарезервовані слова; логічний вираз - умова, яка визначає завершення циклу.

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

Дія команди. Спочатку виконуються вказівки, які входять до тіла циклу. Потім обчислюється значення умови-виразу. Якщо умова хибна (тобто має значення false), то знову виконуються вказівки тіла циклу. Якщо умова стає істинною (true), то виконання циклу припиняється і виконується наступна вказівка програми.

Примітка.

1. Тіло циклу, яке складається з групи вказівок, не потрібно брати в дужки (begin - end), оскільки службові слова repeat - untilвідіграють роль дужок.

2. Тіло циклу в операторі циклу з післяумовою виконується щонайменше один раз.

3. Умова оператору є умовою виходу з циклу.

4. Входження в тіло оператору циклу можливо тільки через заголовок цього оператору.

Блок-схема оператора циклу з післяумовою має вигляд:

Приклад. Нехай змінні , у мають значення =5, y=0. у результаті виконання команди repeat

у:=у+ ;

z:=2*x;

x:=x–2 untilx<=1; змінні y, z, x набудуть значень y=0+5+3=8, z=6, x=1.

Задача 5. Знайти суму всіх натуральних чисел від 1 до N.

programSUMA2;

vari,N,S: integer;

Begin

writeln(‘Введіть кількість натуральних чисел:’);

write(‘N=’);

readln(N);

i:=1;

S:=0;

Repeat

S:=S+i;

i:=i+1;

untili>N;

writeln(‘S=’,S);

end.

 

Для організації паузи в процесі виконання програми можна використовувати конструкцію Repeat Until KeyPressed(використовується до натискання будь-якої клавіші). В мові програмування Turbo Pascal логічна функція KeyPressedконтролює натискання клавіш. Якщо жодна з клавіш не натиснута, ця функція приймає значення False, інакше - True.

 

 

Хід роботи:

1. Вивчити теоретичний матеріал.

2. Виконати індивідуальне завдання.

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

Контрольні запитання:

1. У чому полягає відмінність між циклами з передумовою та циклами з постумовою?

2. Якому типу даних може належати лічильник у операторі for?

3. Яке значення має лічильник після завершення циклу for?

4. Що може спричинити зациклювання програми?

5. За яких умов цикли while і for не виконуються жодного разу?

6. Коли цикл виконується тільки один раз?

7. У чому полягає відмінність між операторами for ..to..do та for..downto..do?

8. Чи можна переривати роботу циклу, не використовуючи оператора break?

 


<== попередня лекція | наступна лекція ==>
Команда циклу з передумовою (while) | Індивідуальні завдання: Створити блок-схему та програму на мові Pascal для приведеної задачі згідно варіанту.


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн