
- •Організація обчислень з використанням умовних операторів циклу
- •1 Мета роботи
- •2 Основні теоретичні відомості
- •2.1 Оператор циклу з передумовами While
- •2.2 Оператор циклу з післяумовою Repeat
- •2.3 Особливості використання операторів циклу з умовами
- •3 Приклад циклічної програми з використанням умовних операторів циклу While і Repeat
- •3.1 Завдання
- •3.2 Виведення рекурентної формули
- •3.3 Схеми алгоритму
- •3.3 Розробка проекту для розвязання задачі у середовищі Delphi
- •3.5 Текст програми
- •4 Контрольні запитання
- •Лабораторне завдання
Л а б о р а т о р н а р о б о т а № 4
Організація обчислень з використанням умовних операторів циклу
1 Мета роботи
Вивчити умовні оператори циклу While і Repeat. Набути навичок їхнього використання при складенні циклічних програм.
2 Основні теоретичні відомості
2.1 Оператор циклу з передумовами While
Формат оператора:
While
<логічний
вираз>
do begin <блок
операторів> end;
Алгоритм роботи оператора наведено на рис.4.1.
...
…
Рисунок 4.1 – Алгоритм роботи оператора While
Доки значення логічної умови істина (true) – буде виконуватися блок операторів. Вихід з циклу здійснюється у тому разі, якщо умова стане хибною (false). Очевидно, що усередині блоку операторів мають бути оператори, котрі впливають на значення логічного виразу, інакше циклічний процес буде нескінченним.
Блок операторів може складатися лише з одного оператора. У цьому разі операторні дужки begin і end не потрібні.
Приклад 1. Обчислити добуток непарних чисел від 101 до 150 включно.
. . .
s:=0; n:=101;
while n<=150 do
begin s:=s+n;
n:=n+2;
end;
Приклад 2. Обчислити таблицю значень функції y=cos x, де x змінюється від 0 до 2 з кроком 0,1.
…
x:=0;
while x<=2 do
begin y:=cos (x);
Str(x:3:1,sx); // перетворення числової змінної x в рядкову sx
Str(y:6:3,sy); // перетворення числової змінної y в рядкову sy
Memo1.Lines.Add(sx+’ | ‘+sy);
x:=x+0.1;
end;
2.2 Оператор циклу з післяумовою Repeat
Формат оператора Repeat:
Спочатку виконується блок операторів, котрі складають цикл, потім перевіряється умова - і циклічний процес повторюється доти, поки значення логічного виразу буде хибним (false). Як тільки значення логічного виразу стане істиним (true) - здійсниться вихід із циклу. Таким чином, кожного разу оператори циклу виконуватимуться принаймні один раз.
Приклад 3. Обчислити добуток парних чисел від 10 до 14 включно.
…
p:=1; n:=10;
Repeat
p:=p*n;
n:=n+2;
until n>14;
Приклад 4. Скласти фрагмент програми, що визначає чи є число n – простим.
Фрагмент програми має вигляд:
…..
k:=1;
Repeat
k:=k+1
until n mod k=0;
if k=n
then ShowMessage(' - Просте число')
else ShowMessage(' - Складене число');
end.
2.3 Особливості використання операторів циклу з умовами
Між оператором циклу з передумовою While і оператором циклу з післяумовою Repeat є три основні відмінності:
1 В операторі Repeat перевірка умови виходу з циклу виконується наприкінці, а не з початку циклу, як це відбувається в операторі While, тому блок операторів неодмінно виконується принаймні одноразово.
Результати виконання цих операторів при розв’язанні однієї й тієї задачі можуть відрізнятися в тому разі, якщо під час виконання програми значення умови (логічного виразу) відразу будуть такими, за яких блок операторів виконуватися не повинен.
2 В операторі While вихід з циклу здійснюється, якщо значення логічного виразу буде хибним (false), а в операторі Repeat – Until - якщо воно істиним (true).
3 В операторі Repeat – Until операторні дужки begin і end навіть за наявності у блоці декількох операторів є непотрібні, а в операторі While у цьому разі вони мають бути наявними обов’язково.