
Якщо інакше (програмування)

Перейдіть на інший план, щоб отримати більше контенту
Правда чи неправда? При використанні інструкцій «Якщо інакше» у прикладі фільму потрібна лише одна умова.
Ліна купила коробку шоколаду з молочним і чорним шоколадом. Вона навчила свого робота давати Марії та Леону їхній улюблений сорт. Ось як виглядають інструкції Ліни з псевдокодом для робота: Візьміть шоколадку. Якщо це молочний шоколад віддай шоколад Марії. Якщо це чорний шоколад віддай шоколад Леону. Давайте подивимося, як працює псевдокод. Робот бере в руки шматочок шоколаду, і буває, що це молоко. Перша умова - "молочний шоколад" - це правда, тому... Робот віддає шоколад Марії. Тепер у робота в руках більше немає шоколаду. Тим не менш, це продовжується до наступної інструкції, а саме: “Якщо чорний шоколад” Але робот не тримає шматочок шоколаду. Тому не потрібно перевіряти, чи темно. Як Ліна може проінструктувати робота про це? Псевкокод Ліни має дві умови. Якщо молочний шоколад і Якщо чорний шоколад Шоколадна коробка містить лише два різних види шоколаду. Якщо робот підбирає не молочний шоколад це повинен бути чорний шоколад. Псевдокод можна змінити на: Якщо молочний шоколад Дайте Марії шоколадку Інакше Дайте Леону шоколадку Отже, для Марії та Леона потрібна лише одна умова щоб отримати свій улюблений шоколад. Давайте перевіримо псевдокод Ліни. Робот бере в руки шматочок шоколаду, а це молоко. Умова «молочний шоколад» вірна. Робот дає Марії шоколадку. І потім… Ви бачили, що сталося? Коли умова «молочний шоколад» була правдою, робот перестрибнув обидві інструкції «Інше» та інструкція «Дай Леону шоколадку». Програма закінчується після того, як робот дає Марії шоколад. Тепер перезапустимо програму. Робот бере новий шматочок шоколаду. Цього разу так темний. Умова хибна і програма перестрибує інструкцію «Дай Марії шоколадку». Тепер робот знає, що це не молочний шоколад, а потім інструкції Виконуються «Інше» та «Дай Леону шоколадку». Роботу достатньо перевірити, чи молочний це шоколад щоб знати, хто отримає шматочок шоколаду. Коли Ліна використовує менше умов, код стає ефективнішим. Досить одного тесту на те, чи є умова істинною, замість двох. Код Ліни стає легше читати. Це більш елегантний код. Так, насправді програмісти говорять про «елегантний код». Новий псевдокод є кращим способом вирішення завдання. Це кращий алгоритм за роздачу шоколаду. Отже, тепер код більш елегантний, ніж був спочатку. Тут немає незграбного коду!