Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л4,5 Розгалуженння та цикли.doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
153 Кб
Скачать
☆

Циклічний обчислювальній процес

Р озглянемо рішення такої задачі: обчислити вираз

Хід виконання можна описати таким чином:

З цього фрагменту алгоритма видно, що одна й та сама команда повторюється багаторазово. Але виконувати запис цієї команди також багаторазово не раціонально. На всіх мовах програмування є команди циклу, команди, які дозволяють зробити запис якоїсь послідовності команд один раз, але виконуватись вона буде багаторазово. Цю послідовність команд будемо називати тілом циклу, або просто циклом.

І ноді з умови задачі відома змінна величина, яка в циклі змінюється лінійно, як члени арифметичної послідовності. В цьму випадку цю величину оберемо як параметр циклу. Іноді її ще називають лічильником. Тоді такий циклічний процес можна описати в бдок-схемі за допомогою такої конструкції: I – змінна, параметр циклу;

N – початкове значення параметру циклу;

K – кінцеве значення параметру циклу;

H – різниця між послідовними значеннями параметру циклу.

Команда повторення дозволяє виконати послідовність команд, які в конструкції задаються як тіло циклу, для кожного значення параметру циклу, що змінюється від N до К з кроком зміни H.

А

M N M:=M – N або N:=N – M.

225 180 225-180=45

45 180 180-45=135

45 135 135-45=90

45 90 90-45=45

45 45 НСМ(225;180)=45

ле іноді з умови задачі неможливо визначити кількість повторень тілу циклу і немає лінійної змінної, від значення якої залежить, повторення циклу. В цьому випадку треба знайти в умові таке співвідношення величин, присутніх в циклі, від виконання якого залежить, повторювати цикл, чи ні. Розглянемо алгоритм Евкліда для знаходження найбільшого спільного множника двох цілих чисел. Евклід пропонує зменшувати більше з двох цілих чисел на величину меншого до тих пір, доки вони стануть рівними. Розглянемо приклад з числами 225 і 180:

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

В наведеній блoк-схемі алгоритм Евкліда описаний за допомогою циклу з післяумовою. Умовою виходу з циклу є виконання умови: M=N.

На мові програмування Turbo Pascal для зациклювання використовуються такі оператори циклу:

  1. Цикл з параметром:

For I : = N to K do <оператор>;

При цьому крок зміни параметра завжди дорівнює 1, і параметр циклу – цілого типу. Якщо параметр циклу треба зменшувати на 1, то використовуємо оператор циклу: For I : = N downto K do <оператор>;

  1. Цикл з передумовою:

While <умова> do <оператор>;

  1. Цикл з післяумовою:

Repeat <тіло циклу> until <умова>;

Якщо тіло циклу складається з кількох операторів, то перетворюємо їх в один за допомогою операторних дужок begin і end.

Згідно цього програми наведених алгоритмів на мові Turbo Pascal мають вигляд:

Алгоритм Евкліда;

program Ewclid; uses crt; var m, n;

begin

write(‘Ввести 2 целых числа: ’);

readln(m,n);

repeat if m>n then m:=m-n

else n:=n-m;

until m=n; writeln ( ‘ НОД=’ , m);

end .

Обчислити вираз :

program Cycl1; uses crt;

var i : byte; s : real;

begin S : = 0;

for i : = 15 to 32 do S : = S + sqrt ( i );

writeln ( ‘ S=’ , S);

end .

Спеціальність ТОМВ

Дисципліна «Інформатика та обчислювальна техніка»

Самостійна робота №8