Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab-02.DOC
Скачиваний:
23
Добавлен:
14.02.2016
Размер:
99.33 Кб
Скачать

Вкладені цикли

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

Приклад 7. Вкладені цикли.

Треба заповнити увесь екран символами '#'. Можливий варіант розв’язання має вигляд:

for ( i=1; i<=25; i++ )

for (k=1; k<=80; k++ )

cout<<'#';

В цій програмі 25 разів виконується виведення по 80 символів.

В програмі можна використовувати будь-які комбінації вкладених циклів всіх типів: while, for, do — while, якщо цього потребує логіка побудови програми.

Приклад 8. Ввести десять значень днів місяця з перевіркою правильності вводу.

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

{

do cin>>den;

while(den<1||den>31);

cout<<den;

}

В даному прикладі зовнішній цикл виконується 10 разів, а внутрішній виконується до тих пір, поки не буде введено правильне значення.

Приклади реалізації циклів

Виникає питання: циклом якого типу краще всього користуватися?

Спочатку слід вирішити, чи потрібен цикл з передумовою, чи з постумовою.

Існує ряд причин, за яких професійні програмісти віддають перевагу використанню циклів с передумовою. Перша — це те, що краще спочатку прийняти рішення, чи потрібно щось робити, а не після того, як це вже зроблено. Друга — те, що програма більш зрозуміла, коли умова, яка перевіряється, знаходиться спочатку, а не в кінці циклічного блоку програми. Третя причина полягає в тому, що в більшості випадків необхідно, щоб тіло циклу ігнорувалося повністю, якщо умови не виконуються.

У випадку вибору циклу з передумовою виникає питання: що краще, for чи while? В принципі все, що можна зробити за допомогою одного циклу, можна зробити й за допомогою іншого. Виходячи з міркувань правильного стилю програмування використанню циклу fоr віддається перевага, коли в циклі використовується ініціалізація і корекція змінної. А цикл while зручніше використовувати, коли цього робити не треба.

В мові С++ оператор циклу for є більш гнучким засобом, ніж аналогічні оператори циклів в інших мовах програмування. Крім описаних вище, існує ще багато інших можливостей використання цього типу циклів. Приклади деяких з них:

Приклад 9. Потрібно обчислити у5. Можливий варіант розв’язання має вигляд:

for ( i=5, r=1; i>=1; i-- ) r=r*y;

cout<<"r="<<r;

Приклад 10. Приріст при підрахунку, не рівний 1.

for ( n=5; n<61; n+=15) cout<<n;

Приклад 11. Використання символів в якості лічильника.

Треба надрукувати алфавіт. Можливе рішення має вигляд:

for ( chr='A'; chr<='Z'; chr++) cout<<chr;

Приклад 12. Зміна лічильника в геометричній прогресії. Треба підрахувати борг. Можливе рішення має вигляд:

for ( k=100; k<185; k*=l.l) cout<<"Борг="<<k;

Приклад 13. Використання в якості лічильника виразу.

for ( k=1; z<=196; z=5*k+23 ) cout<<z;

Приклад 14. Неповний список виразів в заголовку тіла циклу.

for (p=2; p<=202;) p=p+n/k;

Приклад 15. Будь-який перший вираз в заголовку циклу.

for ( cout<<"Введіть числа."; p<=30;) cin>>p;

Приклад 16. Зміна управляючих змінних в тілі циклу.

delta=0.1;

for (k=1; k<500; k+=delta)

if (a>b) delta=0.5;

Приклад 17. Використання операції «кома» в специфікації циклу.

for ( i=1, r=1; i<=10; i++, r*=y )

cout<<"y в степені "<<i<<" дорівнює:"<<r;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]