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

4.2. Оператори розгалуження

Оператор умовного переходу if використовується для спрямування ходу програми за однією з гілок обчислень в залежності від певної умови.

Загальна форма запису:

If (умова) оператор1;

else оператор2;

Наприклад, для знаходження коренів квадратного рівняння використовується запис:

if (d>=0)

{x1=(-b-sqrt(d))/(2*a);

x2=(-b+sqrt(d))/(2*a);

cout<< “\nx1=”<<x1<<“x2=”<<x2;

}

else cout<<“\nРозвязку немає”;

Якщо оператор1 та/або оператор2 містять два або більше операторів, їх беруть у фігурні дужки {}, тобто вони є складовими. Оператор if перевіряє істинність чи хибність умови. Якщо умова справджується (не рівна 0), тоді виконується оператор1, інакше, при хибності умови (==0), виконується оператор2.

Другу частину оператора (else оператор2;) можна опускати. Така його форма має назву “скороченої”. Тоді у випадку хибності умови, керування передається до оператора, що йде услід за умовним оператором.

Якщо оператор1 і оператор2 в свою чергу є операторами if , вони є вкладеними.

Загальний вигляд вкладеного оператора if: if (умова1) оператор1;

else if (умова2) оператор2;

else оператор3;

В якості умов у мовах С/С++ використовуються стандартні операції відношення: <, <=, >, >=, !=, ==. Пари наведених символів не можна відокремлювати чи переставляти.

Для об’єднання в умові декількох умов використовуються логічні операції. Наведемо їх перелік в порядку спадання пріоритету: ! (заперечення або логічне НІ), && (кон’юнкція або логічне І), || (диз’юнкція або логічне АБО). Між позначками && та || не дозволяються пробіли.

Наприклад: 0<x&&x<=100

((!x)&&(y>0)||((z==1)&&(k>0))

Оператор вибору switch подібний до умовного оператора if, проте у ньому замість виразу-умови використовується вираз, результатом якого може бути декілька цілочисельних значень, кожне з яких, вимагає виконання свого оператора. Отже, програму можна спрямувати більше ніж у двох напрямках.

Загальна форма запису оператора вибору:

switch(вираз)

{ case consnant1: оператори; break;

сase consnantN: оператори;break;

. . . . . . . . . . . . . . .

default: оператори; },

де consnant1…consnantN - цілі або символьні константи. При виконанні оператора switch, обраховується вираз, записаний після switch і його значення послідовно порівнюється з константами, записаними після case. При першому ж співпаданні виконуються оператори, позначені даною міткою. Якщо виконувані оператори не містять оператор переходу break, далі виконуватимуться оператори усіх наступних варіантів. Якщо значення виразу, записаного після switch, не співпало з жодною константою, виконуватимуться оператори після мітки default, яка не є обов’язковою.

4.3. ОператорИ циклУ

Цикл з параметром for:

Основна форма запису:

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

де вираз_1 – ініціалізація початкового значення параметру циклу;

вираз_2 – перевірка умови на продовження циклу;

вираз_3 – зміна параметру циклу з кожною ітерацією (корекція);

оператор – тіло циклу, простий або складовий оператор.

Цикл продовжується до тих пір, поки вираз_3 не стане рівним 0. Будь-який вираз можна опускати, залишаючи натомість “ ; ”.

Приклади використання циклу з параметром:

  1. Зменшення параметра:

for ( n=10; n>0; n--)

{ <тіло циклу>}

  1. Зміна кроку коректування:

for ( n=2; n>60; n+=13)

{ <тіло циклу>}

3)Корекція може здійснюватися не лише за допомогою додавання чи віднімання:

for ( d=100.0; d<150.0;d*=1.1)

{ <тіло циклу>}

for (x=1;y<=75;y=5*(x++)+10)

{ <тіло циклу>}

  1. Можна використовувати декілька виразів ініціалізації або модифікації:

for (x=1, y=0; x<10;x++,y+=x)

{ <тіло циклу>}.

Цикл з передумовою while:

Основна форма запису:

while (умова)

оператор;

де оператор – це простий, складовий або порожній оператор.

Цикл виконується до тих пір, поки умова приймає значення “true”, тобто вираз у дужках повертає ненульовий результат. У циклі з передумовою спочатку перевіряється істинність умови, а потім виконується оператор тіла циклу. Тому цикл while не виконується жодного разу, якщо від початку умова буде хибною.

Цикл з післяумовою do – while:

Основна форма запису:

do

оператор;

while (умова);

де оператор – це простий, складовий чи порожній оператор.

Тіло циклу виконується до тих пір, поки умова справджується. Оскільки в циклі do–while умова перевіряється в кінці, оператор тіла циклу виконуватиметься хоча б один раз.

Для запобігання безкінечності циклу в тілі циклів while та do–while потрібно передбачити зміну параметрів, які входять до умови.

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