6. Цикл з післяумовоюЦикл з післяумовою
Формат оператора циклу з
післяумовою:
do оператор while (вираз);
Цикл виконується до тих пір, поки
вираз не дорівнює нулю, тобто
умова циклу, що знаходиться в нім,
істинна. Вихід з циклу походить
після того, як значення вираз стане
помилковим, іншими словами рівним
нулю.
8. Цикл з параметромЦикл з параметром
Формат оператора циклу з параметром:
for (вираз_1; вираз_2; вираз_3) оператор;
Вираз_1 виконується тільки один раз на
початку циклу. Зазвичай він визначає
початкове значення параметра циклу
(ініціалізував параметр циклу). Вираз_2 — це
умова виконання циклу, вираз_3 зазвичай
визначає зміну параметра циклу, оператор —
тіло циклу, яке може бути простим або
складеним. У останньому випадку
9. Алгоритм виконання циклу forАлгоритм виконання циклу for
представлений на блок-схеміпредставлений на блок-схемі
10. За допомогою циклу for знаходження
N! можна організувати таким чином:
F=1;
for(i=1;i<=N;i++) F=F*i;
Використовуючи операцію «кома»,
можна у вираз_1 внести ініціалізацію
значень відразу декількох змінних :
for(F=1, i=1; i<=N;i++) F=F*i;
11. Деяких елементів в операторові for
може не бути, проте крапки, що
розділяють їх, з комою обов'язково
мають бути присутніми. У наступному
прикладі частина, що ініціалізувала,
винесена з оператора for :
F=1;
i=1;
for(;i<=N;i++) F=F*i;
12. Ще один варіант обчислення N!. На місці
тіла циклу знаходиться порожній
оператор, а обчислювальна частина
внесена у вираз 3.
for(F=1, i=1; i<=N;F=F*i, i++);
Цей же оператор можна записати в
наступній формі:
for(F=1, i=1; i<=N;F*=i++);
У мові Сі++ оператор for є досить
універсальним засобом для організації
циклів.
13. Приклад обчислення суми елементів
гармонійного ряду, що перевищують
задану величину ε:
for(n=1, S=0;1.0/n>eps &&
n<INT_MAX;n++) S+=1.0/n;
Це ж саме завдання з порожнім тілом
циклу:
for(n=1, S=0;1.0/n>eps &&
n<INT_MAX;S+=1.0/n++);
14. Фрагмент програми на Сі++ містить два
вкладені цикли for. В циклах запрограмоване
отримання на екрані таблиці множення.
for(x=2;х<=9;х++)
for(y=2;y<=9;y++)
cout<<"n"<<x<<"*"<<y<<"="<<x*y;
На екрані буде отриманий наступний
результат:
2*2=4
2*3=6
. . .
9*8=72
15. Оператор continueОператор continue
Наступний фрагмент програми
забезпечує вивід на екран усіх парних
чисел в діапазоні від 1 до 100.
for(i=l;i<=100;i++)
{if(i%2) continue; cout<<"t"<<i;}
16. Оператор gotoОператор goto
Формат оператора :
goto мітка;
Мітка є ідентифікатором з
подальшою двокрапкою,
ставиться перед оператором, що
позначається
18. Одна з ситуацій, в яких використання
goto є виправданим, — це необхідність
«дострокового» виходу з вкладеного
циклу.
Ось приклад такої ситуації :
for(...)
{ while (...)
{ for(...)
{... goto exit ...}
}
}
exit: cout<<"Bихід з циклу";
19. При використанні оператора
безумовного переходу необхідно
враховувати наступні обмеження:
• не можна входити всередину блоку
ззовні;
• не можна входити всередину умовного
оператора (if ...else...);
• не можна входити всередину
перемикача;
• не можна входити всередину циклу.