Базовий курс програмування на С++. Урок 6. Оператори if та switch. Тернарний оператор |
Написав Joker | |||||
Неділя, 21 грудня 2014 23:09 Переглядів: 8539
|
|||||
Сьогодні ми вивчимо:
Оператор if Зараз ми навчимося писати програми і змусимо їх думати![]() Для початку розглянемо синтаксис.
вираз_для_перевірки – конструкція яка містить логічні або ж арифметичні оператори. обчислення_1 – фрагмент програми який виконається тільки в тому випадку, коли результатом вираз_для_перевірки поверне значення true. обчислення_2 – фрагмент програми який виконається тільки в тому випадку, коли результатом вираз_для_перевірки поверне значення false. Якщо виконується обчислення_1, то обчислення_2 просто ігноруються. Якщо виконується обчислення_2, то ігноруються обчислення_1. Давайте розглянемо просту програму яка може слугувати прикладом.
Комбіновані твердження:
Як бути коли вам потрібно перевірити чи число належить діапазону від 5 до 10 (5<x<10) ? Це твердження можна розкласти на 2 простіші: 1) X>5 2) X<10 Також, з попереднього уроку, ми знаємо логічні оператори об’єднання. Перевірити такий діапазон можна так: If (X>5 && X<10) На вашу думку, як комп’ютер зрозуміє такий вираз: if (a-b) Давайте розмірковувати разом. Комп’ютер перевіряє вираз який знаходиться у круглих дужках, тобто а-b. Результат перевірки може бути true або false. Також ми знаємо, що false = 0 та true !=0 Тепер можна сказати, якщо a-b = 0, то виконається фрагмент коду записаний у блоці після else. Якщо ж a-b відмінне від 0, то це істина і виконається фрагмент коду прописаний після if. Можливі помилки: Пам’ятайте, якщо ви хочете перевірити чи одна змінна така сама (дорівнює) іншій, то це виглядатиме так: if(a == b) А не так (неправильно) if(a = b) Також варто пам’ятати, що не можна розривати оператори if та else, це призведе до помилки на етапі компіляції. Але блок else можна повністю опустити. Тобто синтаксис такий: Цей код рівносильний такому:
Драбинка if-else Давайте вчитися на прикладах. Для прикладу, покупець купує певний товар. Товар, вартість якого більша 500 грн. , отримує знижку у 5%. Якщо товар коштує 1000 і більше, то знижка - 10 %. Також ми знаємо, що покупець купує тільки один товар. Потрібно вирахувати суму покупки з урахуванням знижки. Для цього найкраще використовувати драбинку if-else. Синтаксис: Програма може містити довільну кількість перевірок ( else if () ). Тобто фрагмент коду 5-8 рядки може бути повторений довільну к-сть разів, але з різними перевірками. Крім цього, заборонено розривати драбинку будь-яким іншим кодом. span> Це означає, що не можна вставляти будь-який код між рядка 4 і 5, 8 і 9. Якщо код_1, код_2, код_3, складає не більше одного рядка, то фігурні дужки можна забрати. Це правило здійснюється і для інших блоків (для прикладу цикли). Давайте нарешті розв’яжемо нашу задачу.
Оператор switch Цей оператор виконує ту ж роботу, що й if-else. І у будь-якій ситуації його можна замінити на оператор. Але не завжди оператор if можна замінити на оператор switch. Головна його відмінність полягає в тому, що у деяких випадках ним просто зручніше користуватися ніж аналогічним if. Для прикладу потрібно написати програму в якій міститься меню з 3 пунктів. Ми зможемо реалізувати цю задачу за допомогою if, але цю ж задачу ми можемо розв’язати і за допомогою switch і при цьому код буде виглядати краще. Найчастіше цей оператор використовують саме для створення меню. Синтаксис: Крім цього, ви можете поставити по закінченню default: ще один break;. Це не призведе до помилки. Вираз – змінна яка перевіряється. Для прикладу ви записали відповідь користувача у якусь змінну. Саме цю змінну він буде перевіряти. Значення_1 – перевірка певного критерію зі змінною. Для прикладу значення_1 = 1. Тобто замість значення_1 ми написали 1. Це означає, що ми перевіряємо чи змінна перевірки (та що у виразі) дорівнює 1. Якщо так, тоді ми виконуємо дія_1. Якщо – ні, тоді ми йдемо далі і перевіряємо змінну з наступними case. Якщо жодна перевірка не була успішною, виконається код прописаний у default. Також можна перевіряти символи (Чи змінна дорівнює певному символу)
Тернарний оператор Використовується з тою ж метою що й if, але для примітивних перевірок. Синтаксис: Перевірка ? Дія_1 : Дія_2; Так наш код буде красивішим. І буде займати всього один рядок. Приклад: Якщо b не дорівнює 0, тоді виведеться Yes, якщо b = 0 – виведеться No.
Всім дякую за увагу і дякую за ваше терпіння. ( 8 Проголосувало ) Новіші матеріали:
Старіші матеріали:
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |