Оператор умовного переходу if
Зміст
- 1. В яких випадках доцільно застосовувати оператор умовного переходу?
- 2. Який вигляд має повна форма оператора умовного переходу if?
- 3. Який вигляд має скорочена форма оператора умовного переходу?
- 4. Приклади використання оператора if, що має повну форму представлення.
- 5. Приклади використання оператора if, що має скорочену форму представлення.
- 6. Приклади застосування вкладених операторів if.
- 7. Який вигляд та принцип роботи конструкції if-else-if?
- 8. Приклад застосування конструкції if-else-if
- Зв’язані теми
Пошук на інших ресурсах:
1. В яких випадках доцільно застосовувати оператор умовного переходу?
Оператор умовного переходу застосовується у випадках, коли хід рішення задачі залежить від виконання (невиконання) деякої умови. В мові C# існує дві форми оператора умовного переходу:
- повна форма if … else … ;
- скорочена форма if … .
⇑
2. Який вигляд має повна форма оператора умовного переходу if?
Повна форма оператора умовного переходу if:
if (умова) оператор1; else оператор2;
де умова – це деякий умовний вираз, а оператор1 та оператор2 – адресати операторів if та else. Оператор else не є обов’язковим. Якщо результат умови рівний true (умова виконується), то виконується оператор1. В іншому випадку виконується оператор2.
Після if та else може бути декілька операторів. У цьому випадку вони беруться в операторні дужки:
if (умова) { // декілька операторів ... } else { // декілька операторів ... }
⇑
3. Який вигляд має скорочена форма оператора умовного переходу?
Скорочена форма оператора умовного переходу if:
if (умова) оператор;
У цьому випадку оператор виконується, якщо виконується умова (рівна true). Якщо значення умови рівне false, то нічого не виконується.
Якщо, після виконання умови, потрібно виконати декілька операторів, то ці оператори беруться у фігурні дужки:
if (умова) { // декілька операторів }
⇑
4. Приклади використання оператора if, що має повну форму представлення.
Приклад 1. Дано два числа x та y. Написати фрагмент коду, що знаходить максимальне значення між цими числами.
double x, y, max; x = 5; y = -3; if (x > y) max = x; else max = y; // після виконання max = 5
Приклад 2. Дано два дійсних числа x та y. Визначити x/y передбачивши можливе ділення на нуль з виводом повідомлення “Ділення на нуль“.
double x, y, res; x = 5; y = 0; // перевірка ділення на нуль if (y == 0) label1.Text = "Ділення на нуль"; else { res = x / y; label1.Text = res.ToString(); }
Приклад 3. Визначити, чи потрапляє значення цілої величини a у відрізок [x; y], де x, y – цілі числа.
... double x, y, a; x = 3; y = 9; a = 8; if ((x<=a)&&(a<=y)) label1.Text = "Потрапляє"; else label1.Text = "Не потрапляє"; ...
⇑
5. Приклади використання оператора if, що має скорочену форму представлення.
Приклад 1. Задача з пункту 4. Дано два числа x та y. Написати фрагмент коду, що знаходить максимальне значення між цими числами.
double x, y, max; x = 33; y = 9; // інший метод пошуку максимального значення max = x; if (max < y) max = y; // скорочена форма оператора if label1.Text = max.ToString();
Приклад 2. Дано дійсне число x. Знайти максимальне значення виразів:
- 3 + sin(x)
- 1 + x
- 4 – x2
Фрагмент коду:
double x, r1, r2, r3; double max; // максимальне значення x = 2; r1 = 3 + Math.Sin(x); r2 = 1 + x; r3 = 4 - x * x; max = r1; if (max < r2) max = r2; // оператор if if (max < r3) max = r3; label1.Text = max.ToString();
⇑
6. Приклади застосування вкладених операторів if.
Оператор if-else може містити інший оператор if-else.
Приклад 1. Застосування вкладених операторів у повній формі оператора if.
Написати фрагмент коду, що виводить у спадному порядку значення трьох змінних x, y, z.
... double x, y, z; x = 22; y = 88; z = 2; // вкладені оператори if if (x > y) { if (x > z) { if (y > z) // x - y - z label1.Text = x.ToString() + ";" + y.ToString() + "; " + z.ToString(); else // x - z - y label1.Text = x.ToString() + ";" + z.ToString() + "; " + y.ToString(); } else // z - x - y label1.Text = z.ToString() + "; " + x.ToString() + "; " + y.ToString(); } else { if (y > z) { if (x > z) // y - x - z label1.Text = y.ToString() + "; " + x.ToString() + "; " + z.ToString(); else // y - z - x label1.Text = y.ToString() + "; " + z.ToString() + "; " + x.ToString(); } else // z - y - x label1.Text = z.ToString() + "; " + y.ToString() + "; " + x.ToString(); }
Приклад 2. Застосування вкладених операторів у скороченій формі оператора if. Розв’язок прикладу 1 іншим методом.
... double x, y, z; x = 7; y = 6; z = 8; // повна + скорочена форма оператора if + вкладені оператори if (x > y) { if (y > z) // z - y - z label1.Text = x.ToString() + ";" + y.ToString() + "; " + z.ToString(); if (y <= z) { if (x > z) // x - z - y label1.Text = x.ToString() + ";" + z.ToString() + "; " + y.ToString(); if (x <= z) // z - x - y label1.Text = z.ToString() + "; " + x.ToString() + "; " + y.ToString(); } } else { if (y < z) // z - y - z label1.Text = z.ToString() + "; " + y.ToString() + "; " + x.ToString(); if (y >= z) { if (x>z) // y - x - z label1.Text = y.ToString() + "; " + x.ToString() + "; " + z.ToString(); if (x<=z) // y - z - x label1.Text = y.ToString() + "; " + z.ToString() + "; " + x.ToString(); } } ...
⇑
7. Який вигляд та принцип роботи конструкції if-else-if?
Часто в програмах доцільним є застосування багатоступеневої конструкції
if - else - if
яка складається з вкладених операторів if.
Загальна форма конструкції:
if (умова1) оператор1; else if (умова2) оператор2; else if (умова3) оператор3; ... else операторN;
У такій конструкції умовні вирази обчислюються за принципом зверху-вниз. Виконання здійснюється до тих пір, доки не виконається одна з умов.
Якщо умова1 рівна true, то виконується оператор1. Всі інші оператори пропускаються. Аналогічно, якщо істинна умова2, то виконується оператор2.
Якщо жодна з умов не виконується, то виконується операторN.
⇑
8. Приклад застосування конструкції if-else-if.
Дано ціле число n, що вказує номер дня тижня від 1 до 7. За вказаним номером n вивести назву відповідного дня тижня.
Фрагмент коду, що розв’язує дану задачу з використанням конструкції if-else-if:
int n; n = 3; if (n == 1) label1.Text = "Понеділок"; else if (n == 2) label1.Text = "Вівторок"; else if (n == 3) label1.Text = "Середа"; else if (n == 4) label1.Text = "Четвер"; else if (n == 5) label1.Text = "П'ятниця"; else if (n == 6) label1.Text = "Субота"; else label1.Text = "Неділя";