Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_OP_3_34.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
543.23 Кб
Скачать
    1. Складні цикли

Мета роботи - вивчити особливості організації складних циклів.

      1. Теоретичні відомостi

        1. Вкладеність циклів

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

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

Усередині вкладеного циклу може знаходитися ще один вкладений цикл і т.ін. Той самий цикл може бути зовнішнім стосовно одного і внутрішнім стосовно іншого циклу. Границі внутрішнього циклу не можуть виходити за границі зовнішнього циклу.

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

Наприклад, перевірка правильності вводу значень днів місяця:

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

{ do

cout<<”Input day:”; cin>>day;

while (day<1||day>31)

cout<<day;

}

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

        1. Оператор переривання break

Щоб достроково перервати виконання циклу (до аналізу умови), можна використати оператор переривання break. Даний оператор може використовуватися в циклах всіх трьох типів.

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

Наприклад, треба вгадати число з n спроб:

i=0;

while (++i<= n)

{ cin>>rez;

if (rez==15) break;

cout<<"\n Пощастить наступного разу";

}

if (i!=11) cout<<"\n Bи вгадали!";

        1. Оператор продовження continue

Для дострокового переривання ітерації циклу служить оператор продовження continue. Цей оператор призводить до переходу до наступної ітерації без завершення поточної. Він, як і оператор break, може використовуватися тільки серед операторів тіла циклу.

Оператор contіnue, як і оператор break, перериває самий внутрішній із охоплюючих його циклів.

      1. Приклад програми

Приклад. Для заданого n обчислити значення виразу .

#include "stdafx.h"

#include <stdio.h>

#include <math.h>

#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{ int n; // вхідне значення

int i,j; // проміжні значення

double y; // результат

cout << "n = ?\b"; cin >> n;

for (i=1; i<=n+3; i+=1)

for (j=1; j<=n+5; j+=1)

{ y =1./(i+ pow(j, 2));

cout << "i = " << i << " j = " << j << " - y = " << y << endl;

}

system("pause")

}

Відеокопія результату:

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