Завантажити
програму:

Алгоритмічна структура розгалуження:

Твій прогрес:

Теоретична частина:


Для розв’язання усіх задач, які розглядалися вище, ми складали алгоритми, в яких всі дії виконувалися послідовно одна за одною. Такі алгоритми називаються лінійними. За допомогою лінійних алгоритмів можна розв’язувати, як правило, лише найпростіші задачі. Досить часто при розв’язуванні задач потрібно аналізувати умову, і в залежності від того, виконується вона або ні, виконувати різні дії. Алгоритмічна структура розгалуження – це структура, в якій, в залежності від поставленої умови, виконуються різні команди.
В мові програмування C# існує три види алгоритмів розгалуження:
  1. if – else;
  2. switch (оператор вибору);
  3. ?: (тернарний оператор).

Команда розгалуження if – else

Мовою C# дана структура записується таким чином:
    
         //Команда розгалуження
         if (умова)
            {
                команда 1;
                команда 2;
                …;
            }
         else
            {
                команда 1;
                команда 2;
                …;
            }
    	
В команді розгалуження if – else спочатку аналізується умова, якщо умова істинна (+) – виконуються дії 1, якщо ж умова хибна (–) – виконуються дії 2.
Зауваження 1. Блок else в даній структурі є не обов’язковим. Розгалуження без блоку else називають неповним.

В C# неповне розгалуження записується так:

    
        if (умова)
            {
            команда 1;
            команда 2;
            …;
            }
    	
Зауваження 2. Якщо у гілках істинності умови (+) або/i хибності умови (–) потрібно виконати лише одну команду, то фігурні дужки можна не ставити. Таким чином, алгоритм може бути записаний в скороченій формі:
    
        if (умова) 
            команда 1; 
        else
            команда 2;

До складу умови можуть входити числа, змінні, математичні вирази, які поєднуються операціями порівняння. Розглянемо, як записуються операції порівняння в C#.
C# Операція порівняння
> Більше
< Менше
>= Більше або дорівнює
<= Менше або дорівнює
== Дорівнює
!= Не дорівнює

Логічні операції

Логічні умови виду x>5 або a<=0 називають простими умовами. Складені умови поєднують в собі декілька простих умов. Для поєднання декількох простих умов використовують логічні операції кон’юнкції та диз’юнкції:

До складу умови можуть входити числа, змінні, математичні вирази, які поєднуються операціями порівняння. Розглянемо, як записуються операції порівняння в C#.
C# Логічна операція Приклад запису
&& Логічне «І» - кон’юнкція. Логічний вираз буде істинним, якщо кожна з простих умов буде істинна. Хибним – якщо хоча б одна з простих умов є хибною. x>0 && x<100
|| Логічне «АБО» - диз’юнкція. Логічний вираз буде істинним, якщо хоча б одна з простих умов буде істинна. Хибним – якщо кожна з простих умов є хибна. a==b || b==c || a==c

Оператор вибору switch

В мові C# існує оператор вибору, який дозволяє реалізувати розгалуження обчислювального процесу в багато напрямків. В загальному оператор вибору має такий вигляд:

До складу умови можуть входити числа, змінні, математичні вирази, які поєднуються операціями порівняння. Розглянемо, як записуються операції порівняння в C#.
    
        switch (змінна)
        {
            case значення1: 
                блок1;
                break;
            case значення2: 
                блок2; 
                break;
            ... 
            case значення N: 
                блокN; 
                break; 
            default: 
                блок;
                break;
        }
   	

Програмний код з використанням оператору вибору може мати такий вигляд:
    
    private void button1_Click(object sender, EventArgs e)
    {
        int n = int.Parse(textBox1.Text);
        switch (n)
        {
            case 1:
                label2.Text = "Понеділок";
                break;
            case 2:
                label2.Text = "Вівторок";
                break;
            case 3:
                label2.Text = "Середа";
                break;
            case 4:
                label2.Text = "Четвер";
                break;
            case 5:
                label2.Text = "П’ятниця";
                break;
            case 6:
                label2.Text = "Субота";
                break;
            case 7:
                label2.Text = "Неділя";
                break;
            default:
                label2.Text = "Помилка введення!";
                break;
        }
    }
   	
Блок default в даній структурі є не обов’язковим.

Тернарний оператор ? :

Для більш короткого запису команди if – else в мові C# можна використовувати тернарний оператор, який має такий вигляд:
    
        Умова ? дія1 : дія2;
        int max = a > b ? a : b;
   	


Відеоурок YouTube
Читати підручник
Обговорити

Специфікація програми: