Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
іНФОРМАТИКА 1.doc
Скачиваний:
24
Добавлен:
15.08.2019
Размер:
13.85 Mб
Скачать

Оператору циклу з передумовою відповідає блок-схема.

П р и к л а д: Протабулювати функцію y = Sin x на проміжку [0; 3,1], з кроком h=0,1 і обчислити середнє арифметичне (s1) значень функції більших, ніж 0,1 і менших, ніж 0,6.

Program find;

Uses crt;

Var x,y,s,s1,h,xk:real;

n:integer;

Begin

Clrscr;

x:=0; xk:=3.1; h:=0.1;

s:=0; n:=0;

while x<=xk + h/2 do

Begin

y:=Sin(x);

Writeln ( x:3:1, y:6:2);

If (y>0.1) and (y<0.6) then

Begin

s:=s+y; n:=n+1 end;

x:=x+h;

End;

If n>0 then

Begin

s1:=s/n;

writeln (‘Середнє =’, s1)

end

else writeln (‘Таких значень немає n=0’);

readln

end.

П р и к л а д. Роздрукувати символи латинського алфавіту

а) у звичайному порядку:

..........................

s:=’a’;

while s<=’z’ do

begin

write(s);

s:=succ(s);

end;

……………………

б) у зворотньому порядку:

..........................

s:=’z’;

while s>=’a’ do

begin

write(s);

s:=pred(s);

end;

……………………

Оператор циклу з післяумовою REPEAT

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

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

Синтаксис оператора циклу з післяумовою такий:

Repeat

<оператор1>; ... <оператор N>;

until <умова завершення циклу>;

Тут repeat, until - зарезервовані слова,

<оператор1>;...<операторN>;тіло циклу;

<умова завершення циклу>деякий вираз логічного типу.

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

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

Спочатку вико­нуються оператори, що входять до складу тіла циклу. Потім обчислюється умова завершення циклу. Якщо вона хибна, тіло циклу виконується ще раз, якщо результат «істинна» завершує свою роботу, і виходить із циклу.

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

Для того щоб зрозуміти різницю між операторами циклу While і Repeat, переглянемо фрагмент програми, яка вираховує степінь числа 3 в діапазоні між 1 і 300

Цикл While

a:=3;

while a<300 do

begin

writeln (a);

a:=a*3

end;

Цикл Repeat

a:=3;

repeat

writeln (a);

a:=a*3

until a>=300

П р и к л а д: Розробити програму табулювання функції.

h.

Значення аргументу х змінюється в діапазоні від а до b з постійним кроком h.

Program cycl;

Var a,b,c,h,x,y:real;

Begin

Writeln (“Введіть мінімальне і максимальне значення аргументу A і B”);

Readln (A, B);

Writeln (“Введіть значення параметра С”);

Readln (“Введіть значення кроку”);

Readln (h);

X:=A;

Repeat

If x>=c then y:=((1+x)/(1-x)+Exp(-x)

else y:=((1+x)/(1-x)+Cos(x/2);

Writeln (“x=”, x:4:2, “,”y=”, y:4:2);

X:=x+h; {збільшуємо х на h}

Until x>b; {перевіряємо умову виходу з циклу}

End.