Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРОЦЕС ПІДГОТОВКИ І РІШЕННЯ ЗАДАЧІ НА ЕОМ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.25 Mб
Скачать

1.6 Циклічні процеси

Вирішення багатьох завдань полягає в багатократному повторенні обчислень по одних і тих же формулах кожного разу з новими числовими даними. Багато разів виконувану частину обчислювального процесу називають циклом.

Розрізняють цикли з лічильником і ітераційні цикли.

Цикл з лічильником.

Розглянемо завдання: «обчислити суму цілих позитивних чисел від 1 до 100». Вочевидь, потрібно обчислити s = 1 + 2 + 3 ... + 100; перш ніж складати блок-схему алгоритму, потрібно продумати хід обчислень.

Можна передбачити введення всіх доданків 1, 2, 3, 100 і послідовне збільшення їх один до одного.

Але, що таке в даному випадку складове? Це величина, яка набуває значень 1, 2, 3, 100 при кожній черговій операції складання. Величину, значення якої міняється в процесі виконання обчислень, називають змінною. Аби звертатися до змінних, їм призначають імена.

Призначимо додатку ім'я К. Приписуване змінним конкретних значень зазвичай виробляється за допомогою операції присвоювання, яка записується так: «хай К = ...».

Наприклад, «хай К = 0». У загальному випадку змінної можна привласнити і значення, що обчислюється якимсь виразом, тобто праворуч від знаку рівності може бути записане не лише якесь число, але і формула.

Наприклад, «хай К = К + 1». Вас не повинно бентежити, що цей запис зроблений не по правилах алгебри. Так прийнято писати в інструкціях для ЕОМ і розуміти цю операцію треба так: спочатку в одній інструкції змінної До привласнюється якесь початкове значення, наприклад: «хай К = 0». Якщо далі в іншій інструкції записати «хай До = До + 1». то це означатиме просто «хай К = 1» (адже До дорівнювало 0). Якщо ми знову після цього запишемо «хай К = К + 1», то це означатиме «хай К = 2» (адже К стало вже рівним 1) і т. д., тобто запис «хай К = К + 1» означає, що поточне значення К треба збільшити на одиницю і набутого нового чисельного значення привласнити (приписати) змінній К.

Ввівши в машину лише одне початкове значення змінної К (введення К = 0), ми далі за допомогою операції привласнення «хай К=К+1» можемо формувати (отримувати) послідовно всі додатки: 1, 2, 3, 100.

Введемо в розгляд ще одну змінну з ім'ям S, початкове значення якої дорівнює 0 (ввод S = 0). Тоді, записавши після операції «хай К = К + 1» операцію «хай S = S + К», ми набудемо нового значення S, рівного сумі початкового значення S (S = 0) і першого додатку (К = 0 + 1 = 1) Після цього потрібно сформувати новий доданок («хай К = К + 1») і додати його до нового значення S («хай S=S + К») і. т.д. Інакше рішення нашої задачі можна описати так.

1. Введення К = 0, S = 0

2. Хай До = К + 1 (здобуття 1-го додатку)

3. Хай S= S + К (збільшення 1-го додатку, рівного 1)

4. Хай К = К + 1 (здобуття 2-го додатку, рівного 2)

5. Хай S = S + К (збільшення 2-го додатку)

200 хай К = K+1 (здобуття 100-го додатку, рівного 100)

201 хай S = S + К (збільшення 100-го додатку)

202 виведення S

203 кінець

Ну а якщо нам потрібно знайти суму цілих чисел в діапазоні від 0 до 1000?

Записати пару операцій 1000 разів?

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

В даному випадку ми знаємо точно, скільки разів потрібно повторювати цикл (100 разів). Такий цикл називається цикл з лічильником.

Роль лічильника (число циклів) в даному випадку грає змінна К: потрібно цикли виконувати до тих пір, поки К буде менше або рівна 100. Переставивши для зручності інструкції 2 і 3 і додавши умовний перехід, отримаємо :

1) Введення К=0, S=0

2) Хай S=S+K

3) Хай K=K+1

4) Якщо К 100, йти до 2

5) Виведення S

6) Кінець

Блок-схема такого процесу представлена на рисунок 3.

Рисунок 3 Блок-схема цикала з лічильником

При зміні діапазону чисел, наприклад до 1000, нам буде потрібно лише інакше сформулювати четверту інструкцію, а саме записати: якщо К 1000, йти до 2.