Читайте также:
|
|
Лабораторна робота № 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 <iostream>
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 <iostream>
using namespace std;
int main(){
int i;
i = 1;
for (; i <= 10;) {
cout << "i = " << i << endl;
i++;
}
}
Мал. 1 Блок – схема роботи і приклад використання оператора for
Якщо вираз 2 відсутній, то умова вважається істиною. Для виходу з такого циклу можна застосовувати оператор break, який перериває виконання найближчого оточуючого оператора циклу. Тобто, попередню програму можна переписати так:
#include <iostream>
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 <iostream>
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;
}
Недоліком цієї програми можна вважати ініціалізацію змінних в різних місцях програми, так само, як і збільшення параметрів циклу. В таких випадках зручно використовувати операцію «кома». Вона має найнижчий пріоритет серед операцій мови С++ і призначена для об’єднання декількох послідовно записаних виразів в один загальний вираз. Вирази, об’єднані з допомогою операції кома, виконуються зліва на право, значенням загального виразу стає значення самого правого під виразу.
Дата добавления: 2015-07-11; просмотров: 156 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Собирать набор специальных инструментов для трахеостомии | | | Знайдемо значення факторіалу з допомогою оператора for. |