- •Тема 5. Оператори розгалуження та цикли у c#.
- •1. Оператори розгалуження.
- •1: Static void Main(string[] args)
- •1: If(умова)
- •4: Інструкція;
- •7: Інструкція;
- •11: Інструкція;
- •1: Static void Main(string[] args)
- •1: Static void Main(string[] args)
- •1: Static void Main(string[] args)
- •2. Оператори циклу.
- •3: Інструкція;
- •1: Static void Main(string[] args)
- •1: Static void Main(string[] args)
- •3: Інструкція;
Тема 5. Оператори розгалуження та цикли у c#.
Оператори розгалуження.
Циклічні структури (Цикли).
1. Оператори розгалуження.
ІНСТРУКЦІЯ IF-ELSE
Формат інструкції має вигляд:
1: if(умова)
2: {
3: інструкція;
4: }
5: else
6: {
7: інструкція;
8: }
Тут під елементом інструкція розуміється одна інструкція мови С#. Частина else необов'язкова.
Якщо елемент “умова”, який є умовним виразом, при визначенні поверне значення ІСТИНА, буде виконана if-інструкція; у іншому випадку - else-інструкциія (якщо така існує). Одночасно обидві інструкції ніколи не виконуються. Умовний вираз, що управляє виконанням if-інструкції повинен мати тип bool.
Розглянемо просту програму, в якій використовується if-else-інструкція для визначення того, є число позитивним або негативним.
Приклад 1. Перевірка значення.
1: static void Main(string[] args)
2: {
3: double a = Console.ReadLine();
4: if(a < 0)
5: Console.WriteLine("a < 0");
6: else
7: Console.WriteLine("a >= 0");
8: }
Кострукції if-else можуть бути вкладені, причому вкладення можуть бути багатьох рівнів. Для прикладу напишемо програмку яка перевіряє чи число позитивне чи негативне і при цьому потрапляє у діапазон від -100 до 100.
Приклад 2. Перевірка значення.
1: Static void Main(string[] args)
2: {
3: Console.Write("Введіть значення:\t");
4: double a = Convert.ToDouble(Console.ReadLine());
5: if (a > -100 && a < 100)
6: {
7: if (a < 0)
8: Console.WriteLine("a < 0");
9: else
10: Console.WriteLine("a >= 0");
11: }
12: else
13: Console.WriteLine("a is out of range (-100; 100) - {0}", a);
14: }
КОНСТРУКЦІЯ ELSE-IF-ELSE.
Другою інструкцією вибору є switch. Інструкція switch забезпечує багатонаправлене розгалуження. Вона дозволяє робити вибір однієї з множини альтернатив. Хоча багатонаправлене тестування можна реалізувати з допомогою послідовності вкладених if-інструкцій, для багатьох ситуацій інструкція switch виявляється ефективнішим рішенням. Вона працює наступним чином:
Значення виразу послідовно порівнюється з константами із заданого списку.
При виявленні збігу для однієї з умов порівняння виконується послідовність інструкцій, пов'язана з цією умовою.
Часто у програмуванні для перевірки кількох умов використовується конструкція if-else-if:
1: If(умова)
2: {}
3: else
4: if(умова)
5: {}
6: else
7: if(умова)
8: {}
9: ...
10: else {}
Умовні вирази обчислюються зверху вниз. Як тільки в якій-небудь гілці виявиться істинний результат, буде виконана інструкція, пов'язана з цією гілкою, а всі інші сходинки пропускаються. Якщо виявиться, що жодна з умов не є істинною, буде виконана остання else-інструкція (можна вважати, що вона виконує роль умови за замовчуванням. Якщо остання else-інструкція не задана, а всі інші виявилися помилковими, то взагалі жодна дія не буде виконана.
ІНСТРУКЦІЯ SWITCH
Загальний формат запису інструкції switch такий:
Приклад 3. Загальний вигляд інструкції switch.
1: switch (вираз)
2: {
3: case костанта1: