Що таке оператор умовний?

Що таке оператор умовний?

У програмуванні важливе не тільки знання мов, а й розуміння того, що за що відповідає. Це необхідно для можливості успішної командної роботи, і в рамках статті ви дізнаєтеся, що таке оператор умов, навіщо він необхідний, які є особливості. Також буде в загальних рисах розглянуто перемикання і гілку коду, для якого він і застосовується.

Що таке оператор умовний?

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


Загальний опис застосування

Оператор умовний застосовують тоді, коли виконання або ігнорування певного набору команд (рідше команди) залежить від того, чи існують для цього визначальні фактори. Також може застосовуватися він з прицілом на гілку. Воно є однією з трьох базових конструкцій, які застосовуються в структурному програмуванні.

Оператор умовного переходу

Раніше давайте трохи відвернемося і згадаємо досить популярну картину Васнецов Віктора Михайловича "Витязь на роздоріжжі", написану в 1878. Вона зображує богатиря, який зупинився на роздоріжжі і вирішує, куди йому їхати. Подібним чином діє і оператор умовний. Так, якщо витязь прийме пропозицію відправитися в одну сторону, але він піде по одній гілці. І вибір може здійснюватися тільки один. Якщо говорити про оператор умовний, то спрацьовує він тільки тоді, коли його логічний вираз має значення "істина". Більшість мов програмування для його позначення використовує ключове слово if. Можлива побудова каскадом, коли перевіряється спочатку одна умова, потім інша, потім третя, четвертна і так далі. Розгляньмо це питання більш детально. Які існують форми умовних операторів? Всього їх три:

  1. Умовний оператор, в якому є тільки одна гілка. Виглядає він (усереднено) таким чином: if необхідні умови then виконувані команди end. Комп 'ютерна машина обчислює, чи відповідає логічне значення показнику істини. Якщо умова збігається з даними інших частин програми, то починає виконуватися код, поки не буде ключове слово end. В асемблерах подібна форма роботи є єдиною доступною для програміста. Також може бути і таке, що в кінці не буде якогось ключового слова, і тоді необхідно бути обережним, щоб не приписати чогось зайвого.
  2. Умовний оператор, в якому присутні дві гілки. Виглядає він наступним чином: if вказана умова then команда1 else команда2 end. Використовується ця програмна конструкція в тих випадках, коли необхідно, щоб одна з команд точно була виконана. Тому якщо умова істинна, то виконується перша частина коду, якщо ні - друга. У деяких випадках саме таке рішення необхідне.
  3. Умовний оператор з деякою кількістю умов. Він виглядає наступним чином:
    if перша умова then що робити
    else if якщо перша умова не підійшла, перевіряємо наступне then що робити
    else if перевіряємо всі умови одне за одним then що робити
    else якщо жоден варіант з вищенаведених не підходить, значить виконується ця команда end

Як бачите, умовний оператор використовує різні конструкції. Їх виконання відбувається послідовно. Тобто, неможлива ситуація (на нормальній техніці), при якій виконання коду почнеться з кінця - завжди з початку.

Приклад з "Паскалем" "

Щоб зрозуміти, як це працює, пропонуємо розглянути приклад на одній з найпопулярніших мов програмування. Умовний оператор в "" Паскалі "" може бути простим і складним. Перший тип - це символи на зразок =, <, > та інших подібних. Складний умовний оператор в паскалі може приймати такий вид:

if а > = у
then
ор:= Sqr (a-у)
else
write (Введено некоректні значення);

Що таке перемикач?

Чим є перемикач? Особливість його конструкції в тому, що в ньому є як мінімум дві гілки. Але він може виконувати лише одну, визначену раніше параметрами, які обчислюються ключовими виразами. Говорячи про відмінність від раніше розглянутих інструкцій, слід звернути вашу увагу на те, що поверненню підлягає не логічне значення, а ціле, а також типи, які можуть бути приведені до нього. Також у деяких мовах програмування можна порівняти з текстовими рядками.


Історія розвитку

Спочатку використовувалася команда, що вказує на перехід за обчислюваною міткою. У ній вказувався вираз, що виступає одночасно в ролі селектора, що повертало ціле значення, а також набір вказівок переходу. Коли виконувалася команда, то обчислювалося певне значення, яке використовувалося як номер мітки у всьому списку команд, на яку і відбувалося переміщення уваги машини.

Подібні конструкції можна побачити в таких мовах програмування, як "" Бейсик "" і "Фортран" ". Не можна сказати, що вони значно застаріли, адже досі вони можуть похвалитися досить високою ефективністю, якщо говорити взагалі про програмування. Умовний оператор, який використовується в сучасних мовах, є більш складною конструкцією, що позначається на швидкодії. Повертаючись до витоків цього елемента, хочеться додати, що для визначення необхідної гілки не потрібно послідовно обробляти і порівнювати результат виразу з іншими значеннями. Просто відбувається запис в пам 'яті масиву команд безумовного переходу, в якому і міститися потрібні адреси. Коли виконується необхідна вказівка, потрібна інформація просто обчислюється. І швидкість роботи програми стає незалежною від кількості міток.

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

Особливості обчислення логічних виразів

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