Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Ч1(программирование).doc
Скачиваний:
52
Добавлен:
01.03.2016
Размер:
1.83 Mб
Скачать
      1. Програмування розгалужень Оператор розгалуження if…else

Операторif...elseдозволяєвибрати один з двохможливих варіантіввиконання програми.Синтаксисзаписуцьогооператорапредставленийнарисунку 4.3.

Рисунок 4.5– Синтаксис оператора if … else

Виконується цей оператор наступним чином:

  • обчислюється значення умови (умова - вираз, результат якого приводиться до логічного типу);

  • якщо результат приймає значення “true”, то виконується <оператор 1>;

  • якщо результат приймає значення “false”, то виконується <оператор 2>, що розташований за словом else.

Як приклад використання цього оператора можна привести програмну реалізацію схеми алгоритму зображеного на рисунку 4.4.

void test_koef(float a, float b, float c) {

if (a==0)

// Звернення до функції рішення лінійного

lin_riv(b,c);

else

// Звернення до функції рішення квадратного рівняння

kv_riv(a,b,c);

}

Рисунок 4.4 – Програмна реалізація алгоритму аналізу коефіцієнтів квадратного рівняння

Якщо замість одного оператора потрібно виконати декілька, їх слід об’єднати у блок за допомогою фігурних дужок. У цьому випадку крапка з комою після закриваючої дужки не ставиться.

У деяких випадках, при невиконанні умови, що перевіряється, робити нічого не треба, тобто <оператор 2> не потрібен. У цьому випадку оператор if можна застосовувати в скороченій формі. Синтаксис скороченої форми має вигляд, представлений на рисунку 4.5.

Рисунок 4.5– Скорочена форма оператора if

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

Стандарт мови С гарантує можливість 15 рівнів вкладення для оператора if.Проте не слід цим зловживати. Вкладені оператори if виглядають зазвичай досить заплутано і часто є причиною виникнення логічних помилок.

Рисунок 4.6– Приклад використання вкладених операторів if

Більш зручними і наочними є ланцюжки повних операторів if, в яких після кожного слова else (за винятком останнього) знову йде повний оператор if, рисунок 4.7. Такі ланцюжки зручно використовувати при вирішенні багатоваріантних задач. Вони досить легко аналізуються, за структурою подібні до розглянутого нижче оператору swith, і їх можна застосовувати, на відміну від нього, для перевірки будь-яких умов.

Рисунок 4.7– Приклад ланцюжка повних операторів if

Умовна операція

Цю операцію називають ще теренарною операцією. Вона виконується над трьома операндами і записується так, як показано на рисунку 4.8.

Рисунок 4.8 – Синтаксис теренарного оператора

Тут умова - це вираз, результат якого приводиться до логічного типу. Якщо результат обчислення умови приймає значення “true”, то результатом операції буде значення виразу 1. Якщо результат обчислення умови приймає значення “false”, то результатом операції буде значення виразу 2. На рисунку 4.9 наведено приклад використання вкладеного теренарного оператора у функції для розрахунку стипендії.

.

Рисунок 4.9– Приклад використання теренарного оператора