Тема: Реалізація циклічного обчислювального процесу

Лабораторна робота № 5_6_7

Мета роботи: Вивчення алгоритмів циклічного обчислювального процесу та засобів їх реалізації.

План

1. Циклічний процес з параметром

2. Циклічний процес з передумовою

3. Циклічний процес з післяумовою

Циклічні обчислення

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

Циклічний процес з параметром:

Синтаксис оператора for такий:

for ( вираз_1; вираз_2; вираз_3 ) оператор;

Вираз 1 встановлює початкові значення змінних циклу, його називають виразом ініціалізації. Вираз 2 задає умову виконання циклу, його називають виразом умови. Вираз 3 виконує зміну значень змінних циклу, його називають виразом ітерації. Оператор – довільний Тема: Реалізація циклічного обчислювального процесу оператор мови, в тому числі блок, який задає дії, що мають виконуватись кількаразово, його називають тілом циклу.

Оператор працює наступним чином:

1) обчислюється вираз 1, який використовується для надання змінним циклу початкових значень;

2) обчислюється значення виразу 2, тобто перевіряється умова виконання циклу;

3) якщо значення виразу 2 дорівнює нулю (умова хибна), то виконання циклу завершується, управління передається оператору, наступному за for;

4) якщо значення виразу 2 ненульове (умова істинна), то виконується оператор тіла циклу;

5) обчислюється вираз 3, який застосовується для зміни значень параметрів циклу;

6) відбувається безумовний перехід до кроку 2.

Блок – схема роботи оператора for наведена на мал. 1. На цьому ж малюнку наведена блок – схема виконання такої програми:

#include Тема: Реалізація циклічного обчислювального процесу

using namespace std;

int main() {

for ( int i = 1; i <= 10; i++ )

cout << "i = " << i << endl;

}

Параметром циклу є змінна і, значення якої змінюються при виконанні оператора циклу і виводяться на екран. Початковим значенням змінної є одиниця (задається виразом 1), останнім – десять (задається виразом 2). На кожному кроці виконання оператора for (ще кажуть, при кожному проході тіла циклу, на кожній ітерації) значення змінної збільшується на одиницю (задається виразом 3).

Змінна і оголошена всередині оператора for. Такі змінні є локальними змінними циклу, їх можна використовувати тільки в межах даного оператора for.

Початкову частину оператора циклу for ( вираз_1; вираз_2; вираз_3 ) називають заголовком циклу. Після заголовка знак ; не Тема: Реалізація циклічного обчислювального процесу ставлять, крім випадків порожнього оператора. Всередині заголовка знак ; застосовують для відокремлення між собою трьох складових виразів. Кожен з виразів, або всі вони, можуть бути відсутні, але знаки ; ставити обов’язково. Тобто, попередню програму можна переписати так:

#include

using namespace std;

int main(){

int i;

i = 1;

for ( ; i <= 10; ) {

cout << "i = " << i << endl;

i++;

}

}

Мал. 1 Блок – схема роботи і приклад використання оператора for

Якщо вираз 2 відсутній, то умова вважається істиною. Для виходу з такого циклу можна застосовувати оператор break, який перериває виконання найближчого оточуючого оператора циклу. Тобто, попередню програму можна переписати так:



#include

using namespace std;

int main(){

int i;

i Тема: Реалізація циклічного обчислювального процесу = 1;

for ( ; ; ) {

cout << "i = " << i << endl;

if ( ++i > 10 )

break;

}

}

Приклад програми: знаходження суми ряду 1/1+1/2+1/3+… Суму будемо знаходити двома способами: з заданою точністю і підсумовуванням певної кількості елементів ряду.

#include

using namespace std;

int main(){

double s, t, e;

int i;

s = 0;

e = 1e-5;

i = 1;

for ( t = 1/ i; t >= e; t = 1. / i ) {

s += t;

i++;

}

cout << s << endl;

s = 0;

t = 1;

for ( i = 1; i <= 100000; i++ ) {

t = 1. / i;

s += t;

}

cout << s << endl;

}

Недоліком цієї програми можна вважати ініціалізацію змінних в різних місцях програми, так само, як і збільшення параметрів циклу. В таких випадках зручно використовувати операцію «кома». Вона має найнижчий Тема: Реалізація циклічного обчислювального процесу пріоритет серед операцій мови С++ і призначена для об’єднання декількох послідовно записаних виразів в один загальний вираз. Вирази, об’єднані з допомогою операції кома, виконуються зліва на право, значенням загального виразу стає значення самого правого під виразу.


documentbapkloz.html
documentbapkszh.html
documentbaplajp.html
documentbaplhtx.html
documentbaplpef.html
Документ Тема: Реалізація циклічного обчислювального процесу