Transcript for:
Основи програмування на C++: Логічні оператори і оператори розгалуження

Всім привіт ми продовжиємо з вами вивчати основи програмування на c++ сьогодні ми розберемо логічні оператори та оператори розгалудження вони потрібні в умовах програмування для того щоб мати можливість створювати управління потоком виконання вашої програми в залежності від якоїсь умови ми зможемо з вами направити рух виконання нашої програми за одним сценарієм або іншим тобто сказати нашій програмі щоб вона виконувала або один блоккоду або інший це робиться за допомогою операторів розгалудження і плюс звісно також без оператора відношення ми не обійдемося тому розпочнемо з оператора відношення що означають оператори відношення це коли ми маємо два операнта дві змінні і можемо порівнювати між ними можемо їх порівнювати використовуючи певні оператори які в C ++ є оператори відношення це оператор більше менше равно неравно і також два логічних ілі і і більше менше равно і неравно для чого вони потрібні наприклад нам потрібно порівняти дві змінні От у нас є дві змінні змінна а і b порівняти їх на рівенство порівняти хто з них є більший Хто є з них менший і порівняти на нерівенство результат порівняння будемо виводити в наш термінал для того щоб порівняти нас Ці дві змінні ми повинні взяти наш вираз Круг дужки на рядочку 12 13 14 15 Ми беремо наші змінні А і B в круглі дужки і між ними використовуємо оператор відношення дивимося чи а буде більше B чи а буде менше B чи а Рівне B і чи а не Рівне B створимо термінал скомпілюємо нашу програму зайдемо директорію зайдемо ще в директорію компілюємо нашу програму назва файлика нашого вибираємо наш файлик який потрібно скомпілювати нажимаємо Enter програма компілюється запускаємо вводимо 0101 так як ви з попередньої нашого уроку повинні пригадувати що існує такий тип даних як буll він має тільки два значення True і False ми коли виводили нашу змінну True чи False ми її виводили не як слово False чи True а виводили як в числовому виді нуль та один тут ми також будемо отримувати нуль та один а точніше будемо отримувати True чи флse тому що використовуючи оператори відношення між двома змінними ми будемо отримувати тільки дві відповіді точніше ми будемо отримувати одну відповідь з двох можливих Це або так або ні тобто або змінна більша за B або ні або змінна A менше за B або ні або вони рівні або нерівні або вони не рівні між собою або вони рівні між собою тому ми на першому рядочку виводимо нуль тому що коли ми робимо порівняння і запитуємо нашого комп'ютера чи А в нас буде більше B а в нас не є більше B тому ми тут отримуємо флse і виводимо числове значення нашого фолса це нуль виводимо от на Консоль нуль далі ми виводимо а меншеб тобто запитуємо також чи А в нас буде буде менше B тут ми отримаємо з вами True і тому коли ми виводимо результат цього виразу в Консоль ми виводимо числове значення один оди - це в нас являється True далі ми робимо порівняння між двома змінними використовуючи оператор порівняння ми порівнюємо чи вони між собою рівні Ні вони між собою не рівні Ми отримаємо результат фолse і тому виводимо також нуль і останнє це у нас застосування нерівно Тобто ми хочемо дізнатися чи а і b між собою нерівні і тут ми також отримаємо True тому що а і b вони нерівні І тому ми виводимо один от такі про прості способи використання операторів відношення звісно їх частіше використовують не просто для того щоб вивести і отримати один нуль а для того щоб реалізувати опера реалізувати розгалудження для того щоб мати можливість вказати вказати за допомогою умови або виконувати один блоккоду або виконувати інший блоккоду тут потрібно вже в майбутньому також буде використовувати і оператори розгалудження з операторами розгалудження ми подивимося трішки далі так як в нас ще залишилось оператор ілі та і давайте розберемо також їх і в нас ще також є логічней Ні розкоментуємо тут детальніше опис як вони працюють логічний і яким чином він працює повертає нам True якщо обидва операнти є в наст що це означає якщо наприклад в нас буде два таких вирази ми хочемо їх об'єднати в один вираз то ми можемо їх об'єднати за допомогою логічного і це коли ми запитуємо чи наший вираз який знаходиться праворуч і наший вираз який знаходиться ліворуч будуть в наст якщо обидва будуть якщо обидва будуть то загальний вираз так також буде в наст давайте створимо ще одну змінну присвоїмо її значення наприклад п крапка з комою закоментуємо тому що це буде це не буде компілюватись це буде як помилка і напишемо в ftdc Out інший вираз тепер більший беремо знов вираз наші в наші в круглі дужки відкриваємо круглі дужки і прописуємо всередині ньому ще два менших вирази наприклад Чи а буде б і чи А в нас буде більше с STD крапка з комою закоментуємо рядки там де ми раніше виводили інформацію пробуємо скомпілювати нашу програму програма компілюється все гаразд запускаємо Ми вводимо один Ми отримали з вами результат True давайте детальніше розберемо як ми його отримали ми перевіряємо якщо використовуємо оператор і Перевіряємо чи значення або якийсь вираз якщо це логічний або може бути арифметичний в нашому випадку це логічний точніше ми використовуємо оператори відношення ми перевіряємо чи тут буде вираз наст якщо тут буде True Окей супер і перевіряємо тепер тут що в нас буде True відповідно якщо ми отримаємо Також тут True тоді загальний вираз в нас буде True але якщо хоча б один з них з цих виразів буде фолse то загальний вираз також буде фолse давайте з вами змінимо наприклад Чи а буде більше B компілюємо повторно запускаємо вводимо нуль це тому що в нас один з виразів буде Фолс А ми повертаємо True якщо обидва операнти операнти це можуть бути і змінні або може бути якийсь вираз повертають нам True так як в нас тут повертається False то зага вираз Уже встає в нас fse от як працює оператор і тепер Та давайте розберемо Як в нас працює оператор ілі змінимо знову знак в протилежну сторону будемо перевіряти чи а буде більше B і чи а буде більше с читаємо як працює оператор ілі повертає True якщо хоча б один з є з оперантів є True тобто хоча б один з виразів буде True І загальний вираз в нас також буде True раз пробуємо скомпілювати і виводимо результат на Консоль запускаємо виводимо один і виводимо нуль так помили єсть в нас помилка тому що ми знову використовуємо оператор і нам потрібно використавати оператор Іль компілюємо повторно запускаємо виводимо один і один хоча цього разу ви бачите що на рядочку номер 26 наший вираз А чи більше B буде повертати намфлse якщо ми тут змінимо його також чи а буде більше B то ми тут отримаємо загальний вираз fфлse але тут Якщо ми будемо також перевіряти чи а буде більше B і отримаємо Se але в нас буде а бі с а тут буде True то загальний вираз в нас буде також True От так працює оператор іліто повертає нам True якщо хоча б один з оперантів є в нас True якщо в нас вираз от є він загальний в ньому є два менших вирази між ними ми використовуємо оператор ілі запитуємо абоцет або т і нам достатньо буде одного т і тоді загальний вираз в нас також будет гаразд А як же ж тоді застосувати оператор логічний Ні він використовується для інвертування значення логічного виразу яким чином можна його застосувати Тото ми можемо інвертувати значення яке Ми отримаємо True чи fse протилежну сторону якщо ми зараз повторно скомпілюємо нашу роботу ми отримаємо 111 111 але тепер якщо ми поставимо знак оклику після другого перед другим виразом наря на рядку 27 в нас тут буде з вами False тут ми будемо отримувати True але за допомогою цього оператора ми будемо робити інвертування наша True у False компілюємо запускаємо виводимо 11 і нуль ми інвертували в fлse в нас тут також fлse і загальний вираз тепер в насфлse тобто оператор Ні він інвертує логічний вираз з True у False або з False у True От такий оператори логічні можна застосовувати оператори відношення або оператори логічні крім того що ми можемо відповідно їх застосовувати всі audі щоб вивести їх певний результат порівняння між двома змінними або між двома виразами ми можемо також їх використовувати в поєднанні з операторами розгалудженями які є оператори розголудження це if if Else if Else if почнемо само простову if закоментуємо тепер попередні приклади закоментоємо також змінні наші розкоментуємо блоккоду в нас є змінна яка рівна 10 і змінна y яка рівна 5 ми робимо перевірку В умові от наша умова в круглих дужках Але перед нею знаходиться оператор if ми робимо перевірку якщо буде більше y то ми отримаємо True якщо ми отримаємо True ми зайдемо всередину фігурних дужок і виконаємо цей блок коду Тобто ми робимо перевірку А якщо наший х буде більший y зайти будь ласка всередину нашого блоку і і виконати той код який там в нас написаний Але якщо ми отримаємо False ми всередину заходити не будемо а будемо рухатись далі скомпілюємо нашу роботу запускаємо виводимо X > Y так як наший вираз тут був True Ми отримали з вами тут True буде більше y тому ми зайшли всередину і виконали той рядок коду Який в нас тут прописаний навіть якщо тут буде два 4 немає різниці все що знаходиться всередині фігурних дужок буде виконуватись якщо в нас результат будет але якщо в нас тут буде результат флс Ми сюди не зайдемо і не будемо виконувати той рядок коду Крім того ми можемо об'єднувати два менших вирази за допомогою операторів логічних і або ілі давайте розберемо от ще один приклад В нас тепер є три змінні а b і с ми перевіряємо чи а буде B і чи А менше с якщо ми отримаємо загальний вираз True ми зайдемо всередину нашого блоку і і виконаємо рядок коду Який в нас там написаний C Out виведемо просто на Консоль C Out знаходиться між b і с компілюємо запускаємо виводимо що А знаходиться між b і с це вірно але якщо Ми змінимо тепер знак в другому виразі на протилеж будемо перевіряти чи а буде більше с компілюємо повторно запускаємо програму запустило запустили але нічого в нас не вивелось так як ми оминули цей рядок коду і його не виконували ми зробили перевірку за допомогою оператора і Перевіряємо чи наша умова буде True Якщо наша умова тут буде True ми б зайшли б і виконали б цей рядок коду вивели б як минулого разу Але якщо ми тут отримали фолse і цього разу ми тут отримали фолse ми оминаємо цей рядок коду і переходимо до наступного після закриваючої круглої дужки перепрошую не круглої а фігурної дужки От так працює в нас а оператор і оператор логічного розгалудження давайте розберемо ще один приклад застосування тут застосовується в нас так також оператор ілі Тобто ми можемо застосовувати як і так само і і ілі в поєднанні більш складних виразів комбіноване нас ствердження буде компілюємо запускаємо також знов виводимо але тут виведення звісно трішки буде менш конкретне так як тут треба вже додавати нам і elс або і elси для того щоб зробити певне уточнення тому що так ми просто показали що ми дійсно отрималит і зайшли всередину і виконали то рядок коду але те що ми вивели на Консоль воно зовсім не є якби ефективним користувач або ми не зможе зрозуміти дійсно що тут в нас є істино ну крім розробників крім нас які будуть писати цю програму ми то розуміємо що тут в нас буде істина знаючи значення наших змінних але вивевши таку інформацію на Консоль комусь іншому Це вона буде зовсім не ефективна і не інформативна Гаразд крім того що ми можемо з вами використовувати оператори логічні і оператори відношення ми можемо всередині круглий дужок використовуючи оператор розгалудження і використовувати і арифметичні оператори або арифметичні вирази і зараз вам продемонструю і Ми якраз заодно пригадаємо як працює інкремент і декремент в нас є Знов змінна цілочисельного типу змінна рівна нулю далі В нас є умо і і ще одна умова і Наші перші умові і ми перевіряємо чи значення а п + чомусь Рівне якщо ми минулого разу використовували логічні оператори і робили порівняння між ними і результат насільки може бути один або так або ні з двох імовірних то тут подібна в нас ситуація буде відбуватися ми завжди повинні отримати або True або fлse Але якщо це арифметичні оператори то все що в нас нуль і менше нуля буде буде флse все що більше нуля в нас буде True тобто якщо в числі на в змінні в нас зберігається нуль ми Прописали нашу змінну всередині крули дужок нашого іфа то відповідно наша відразу умова буде Фолс Тобто там нуль значить це буде Фолс і ми не будемо заходити і виконувати іторія до коду який знаходиться всередині цього блоку якщо там знаходиться якесь додатнє значення і більше нуля то відповідно це буде True і ми зайдемо всередину нашого іфа і виконаємо той рядок коду Гаразд таке питання можете поставити на паузу і подумати який рядок коду ми з вами виведемо Хто добре пам'ятає як працює оператор інкремент тому що є там дві форми префіксна і постфіксна це в нас форма посфіксна вона працює трішки по-іншому чим префіксно і результат Може тут бути інший поставте на паузу подумайте який рядок коду ми виведемо на Консоль або бетест о виведимо або тест без тест2 А ми зараз скомпілюємо і виведемо результат так змінну а закоментуємо тому що не може існувати в одній програмі дві змінні з однаковим ім'я компілюємо повторно запускаємо вводимо безтест 2 Рівне 2 чому ми вивели от цей рядок коду точніше чому ми вивели без тест2 і в нас цей рядок коду відпрацював А це і не відпрацював Чому так Тому що коли ми тут робимо перевірку А в нас поки що рівно в собі Нуль А використовуючи інкремент постфіксної форми він то буде збільшувати нашу змінну на один але після того як ми її використаємо в певному виразі в нас тут вираз не складний Просто ми робимо перевірку Що вона в собі всередині зберігає Ми спочатку перевіряємо що вона в собі всередині зберігає вона зберігає нуль відповідно нуль - це фолse тоді умов виразявляється в нас фолse Ми не будемо заходити в середину нашого іфа і виконувати будь-що Там ми написали але після того як ми вияснили що наший вираз флse ми рухаємося далі на рядок номер 75 наша змінна а збільшується на один і ми тут уже знову робимо перевірку чи А що в собі зберігає вона в собі тепер зберігає один відповідно оди це нас True тому ми заходимо всередину нашого іа наша змінна знову збільшується на один тепер вона буде зберігати собі значення два ми виводимо безтест 2 і виводимо відповідно також два от таки в нас єсть можливості застосовування арифметичних операторів в поєднанні з розгалодженими операторами але це не все ми можемо також і якийсь арифметичний вираз створити з вами всередині нашого блоку Ів точніше В його умові і тут уже програма буде більш цікавіша тому що ми будемо використовувати не просто і А ми будемо в поєднані використовувати ще elлс будемо використовувати і elс яким чином він буде працювати розглянемо таку схему він буде виконувати працювати подібний по цій Як в нас реалізована ця схема в нас буде умова якщо умова Буде нам давати True ми будемо виконувати дію номер один якщо умова буде Фолс ми будемо виконувати дію номер два от таке розгалудження тобто в нас це умова умова прописується в кругла дужка тобто після іфа зразу іде умова Тото ми запитуємо чи в нас тут True чи якщо в нас тут True ми виконуємо номер дію один якщо False виконуємо дію номер два дія номер один в нас от вона це дія номер один яка знаходиться відразу після іфа всередині фігурних дужок дія номер два буде реалізована за допомогою elлса тобто якщо тут True якщо тут фолse то ми перейдемо до els і будемо виконувати дію номер два тепер знову таке питання до вас поставте на паузу і подумайте яке значення Ми повинні вивести А ми з вами зараз це вияснимо скомпілюємо запускаємо виводимо п'ять Давайте подумаємо як ми отримали відповідно п'ять в нас відпрацювало більш всього що діє номер один і це дійсно буде так тому що коли ми будемо дивитися цей вираз - y собі зберігає 10 y собі зберігає 5 10 - 5 буде 5 все що більше нуля нагадаю в нас з'являється True 5ть в нас позитивне і не нуль Тому це в нас буде True якщо ми тут отримаємо True ми заходимо всередину цього блоку коду і виконуємо номер дію один нашу змінну результат яка в нас також цілочисельного типу присвоюємо значення віднімання X - Y тобто 5 і потім на рядочку на рядку номер 97 водимо нашу змінну результат от такий спосіб застосування і els крім того Якщо ми будемо всередині блоку або els прописувати тільки один рядок коду то фігурні дужки можна і не писати от перед вами ще невеликий застосування і elса де робиться перевірка А чи більше B давайте створимо ці змінні щоб не розкоментовувати попередні пропишемо просто а Рівне 10 через кому а b буде Рівне приклад 20 крапка з комою є змінні робимо перевірку чи а буде більше B компілюємо запускаємо виводимо що А менше B іли а ріне b Окей тобто в нас код знов працює все гаразд ми фігурні дужки тепер не пишемо тому що в нас тільки один рядок коду якщо один рядок коду фігурні дужки Можна не писати але результат все ж таки неточний ми отримали хоча ми і вже маємо можливість піти або одним шляхом або іншим шляхом тобто виконати або одну дію або іншу дію це ще нам не дає повного функціоналу Тобто ми ще не можемо дізнатися дійсно чи число в нас а буде менше B чи воно буде Рівне B 100% воно буде не більше B але інші два варіанти нам треба якось також опрацювати і яким чином ми можемо це зробити тут ми можемо додати розширення нашого if Else розширення нагадаю це третій В нас третє доповнення це if El if Else додати цю структуру ще один блок коду розкоментуємо тепер цей блок коду закоментуємо ці рядки залишаються ці змінні тут вони також є але ми їх вже розкоментувувати не будемо знову робимо перевірку чи а буде більше B во аналогічно але тут уже змінене трішки і а > b якщо а буде більше B виводимо що а бі B і тепер використємо L і тобто ще одну умову в цій структурі ми задаємо запитуємо чи А менше B якщо А менше B то ми виводимо амен B інакше ми виводемо що а ріне b тобто в нас є дві умови і одне по замовчуваю якщо і тут буде fse і тут буде флse відпрацює по замовчуванню якщо тут буде True то ми виконаємо тільки цей рядок коду інші рядки коду виконувати не будемо але якщо наприклад хоча б один з них буде True то він буде виконуватися А якщо обидва з них буде флse буде виконуватись позамовчаванню компілюємо повторно запускаємо виводимо що А менше B Так це вірно давайте тепер змінимо також а на 20 компілюємо повторно запускаємо а =не b також вірно Тобто ми перевіряли чи а буде більше B тут отримали фse ми не виконували цей рядок коду потім знову робили перевірку перевіряли чи а буде менше B І тут також ми отримали флse і цей рядок коду Ми також не виконували і в нас залишилось тільки по замовчуванню остання дія альтернативна сама остання вона буде виконуватись тільки якщо всі інші умови були в нас фо і це lс по замовченню в нас буде виконуватись а = b так як всі інші два способи чи а біль B чи А менше B ми вже перевірили і вони нам наприклад повернули флс тому залишається тільки останній варіант це що А Рівне B і ми це з вивели за допомогою нашого elса от така у нас структура if els if Else Давайте підсумуємо ми можемо з вами використовувати або if Наприклад якщо в нас є певна умова і за допомогою цієї умови Ми там хочемо щоб якщо умова буде True виконати там певний блок коду або можемо використовувати і Else Якщо нам потрібно реалізувати От таку схему коли в нас є умова якщо буде умова True то ми виконуємо дію номер один якщо Фолс то виконуємо дію номер два тобто записна дія якщо в разі чого що наша умова буде фse і можемо звісно ще поскладнити використовуючи і els і Else якщо Ми додамо ще одну умову тобто в нас була умова давайте напишемо що в нас тут була умова Наприклад якщо вона буде fse ми перевіряємо ще одну умову якщо вона буде Фолс то виконуємо якусь дію по замовченню наприклад els але якщо ця умова Якщо ця умова в нас тут True то ми виконуємо цей блокоду і все якщо тут було в нас флс ми перевіряємо Цю умову якщо тут була умова True то ми будемо виконувати цей блоккодо інакше по замовченню викону будемо виконувати якийсь там блоккод Який в нас реалізований в elс от приблизно так працює наша конструкція і El і в El звісно також треба пам'ятати що якщо ви реалізовуєте конструкцію закоментуємо якщо ви реалізовуєте і Else то між ними не повинно бути ніяких пробілів або відступів Тому це буде невірно в нас буде зараз помилка на етапі компіляції помилки не було Зараз додамо ще один рядочок коду ми розділимо вже по явном наприклад виведемо якусь там літеру або слово Hello крап вже є помилка чудово компілюємо виникає помилка на етапі компіляції так як між та Else в нас не може існувати більше ніякого рядка коду тому що і сам по собі То може існувати але els без і існувати не може він йде тільки в парі з іфом тому якщо ми якимось чином написали ще один рядок коду між ними між іфом Та elси який не відноситься наприклад до блоку If тому що цей рядок не відноситься він являється незалежним тобто самостійним ще просто якийсь один рядок коду Але після нього іде els і ми як хочемо реалізувати що в нас буде і одна дії а потім позамомчемуі інша То тут буде виникати помилка так як ми між ними написали якийсь інший рядок коду і таким чином ми розірвали між ними взаємозв'язок пробіли можуть бути так як ви бачили Але бажано також цього уникати якщо ми вже реалізовуємо структуру і els то Залишаємо її відповідно як одна єдина структура гараз тепер про if els або if або if Else if els вже трішки надіюсь є зрозумілим Як їх можна використовувати перейдемо до ще одного такого цікавого логічного оператора як тинарний оператор тернарний для чого потрібен теринарний оператор нам теринарний оператор допомагає нам спростити застосування і LS от розберемо зараз таку програму як взагалі виглядає ветеринарний оператор ветеринарний оператор це в кругли дужках умова потім знак питання після знаку питання ми пишемо дію номер один потім двокрапка і після двокрапки ми пишемо дію номер два тобто загалом це круглі дужки знак питання двокрапка круглі дужки знак питання двокрапка якщо ви десь побачите інформацію в інтернеті і там буде от знак питання і двокрапка це зразу є сигнал що тут застосовується тернарний операту яким чином він працює давайте для початку реалізуємо от пошук максимального числа між двома змінними в нас є змінна А є змінна B змінна а в собі зберігає пть змінна B в собі зберігає 10 ми створиємо ще одну змінну ін маx яку будемо класти максимальне значення тобто дізнаємося хто з них є максимальним а чи B і максимальне значення покладемо в Макс і потім виведемо Це робимо за допомогою if elса тобто в нас буде дві можливих дії і одна умова Тобто ми хочемо дізнатися хто є більшим це робимо за допомогою і els ще раз повторю всередині круглих дужок ми пишемо логічний якийсь вираз точніше тут буде в нас застосовуватися оператор відношення ми перевіряємо чи а буде більше B чи а буде більше B якщо а більше B то ми Максу присвоюємо а інакше присвоюємо B тут може бути і інша альтернатива що вони будуть між собою рівні але ми це поки що опустимо будемо мати певну домовленість умовно що Точно вони будуть нерівні і так якщо а бі B то мак Рівне а інакше мак Рівне B компілюємо повторно запускаємо виводимо 10 ми вивели максимальне значення дійсно наша змінна B в собі зберігає 10 максимальне значення Але оцей блок коду і в елса навіть без фігурних дужок тому що якщо додати фігурні дужки то блок трішки розшириться все ж таки можна скоротити в один рядок коду використовуючи теринарний оператор от перед вами він застосовується на рядочку на рядку 152 ми тепер Макс напряму присвоюємо результат роботи теринарного оператора в нас тут також умова А чи більше B після знаку питання В нас просто прописується змінна а а після двокрапки змінна в яким чином буде відбуватись присвоювання в нашу змінну maxс тут стоїть оператор присвоювання тобто ми повинні щось покласти покладемо те що нам буде в принципі давати тернарний оператор робимо перевірку чи а буде більше B якщо а буде більше B то будемо повертати а інакше будемо повертати B так як тут ми отримаємо флse то ми будемо виконувати дію номер два дія номер два знаходиться після двокрапки і будемо класти в змінну Макс значення яке зберігає в собі змінна B скомпілюємо повторно запустимо виведемо знову 10 результат Ми отримали як і попереднього разу Але ми з вами програму трішки оптимізували і її скоротили весь алгоритм В нас тепер знаходиться в одному рядку тут ми використовували і в елса тут займало чотири рядка Звісно це можливо і не суперефективне скорочення але все ж таки нарний оператор інколи є корисним його можна використовувати для того щоб мати можливість щось порівняти і виконати певні дії в залежності від умови от як працює теринарний оператор крім того що єць відповідно в нас опера о розгалудження такі як Else точніше if Else if El і Else і теринарний оператор є ще один c++ оператор ножинного вибору це оператор swtch і зараз ми детальніше трошки його розберемо як працює свіch свіch створюється за допомогою ключового слова свіch зкоментуємо всі блоки всі рядки коду нашого от наший свіch Він приймає якесь значення всередині себе Ми за допомогою кейсів кейси - це ключові слова які використовуються зі свічом створюємо перевірку Тобто ми робимо порівняння того значення яке до нас прийшло з тим що ми написали після кейса після кейса ми прописуємо якесь значення чи то буде число чи то буде символ який ми хочемо перевірити на збіг збіг який знаходиться в нашій змінні веue якщо буде відбуватись збіг Ми після двокрапки прописимо рядок коду який буде виконуватися І потім наш рядок закінчується брейком Брейк потрібен нам для того щоб мати можливість зупинити виконання свіча і потім Вийти за межі нього і продовжити виконувати нашу програму що наша програма тут робить вона використовує цілочисельний тип Або можна сказати енум енум це в собі зберігає змінні цілочисельного типу константні змінні це всі змінні цілочисельного типу які зберягають собі просто числа і вони являються константними ми будемо їх використовувати так як будемо просто вказувати певні імена для того щоб зструпувати ці імена ми створили наприклад оцей енум дали йому назву ВХ і тепер за допомогою назви нашого енум ми можемо підтягувати наші змінні які будуть в собі зберігати певне значення тобто просто порядковий номер дня це ми зробили використовуючи ім'я кожного дня на англійській мові але ці імена зберігають собі числове значення так як ми будемо з консолі брати число тут я написав чар але треба змінити на in будемо брати число номер числа класти змінну val то змінна val в нас є числового типу типу ін ми будемо нашу змінну ін число певне перевіряти зі збігом з іншими числами якщо навести на змінну навести за слово наприклад Де так то ми бачимо що вона в собі всередині цебе зберігає два Тобто ми будемо тут порівнювати зі двійкою компілюємо тут в нас виникають попередження тому що треба користовувати компілятор точніше стандарт компілювання трішки сучаснішого року там 11-го і більше я буду 17-го використовувати попереджень вже немає програма скомпілювалась запуска каємо виводимо що хочемо ввести певне значення давайте наприклад введемо Два виводимо навчається як це в нас вивелось Як в нас вивелось ця інформація ми просимо ввести користувача число це число кладемо за допомогою нашу змінну value value відправляємо у свіtch тепер в свічі єсть кейси за допомогою цих кейсів ми будемо робити порівняння з нашим value тобто порівнюємо йс о з value збіг відбувся вони рівні між собою Тото тут відбувається операція порівняння на рівенство якщо вони рівні то ми Заходимо в кейс о і виконуємо той рядок коду або все що ви там написали після того вставимо операторбрейк і на цьому завершиємо роботу нашого свіча якщо збігу не відбулося то ми робимо перевірку з наступним кейсом з наступним кейсом з наступним кейсом і так до кінця Скільки в вас буде кейсів тобто якщо всі вони були там не не не відбувався збіг то ми будемо перевіряти всі аж до останнього і якщо в нас і останній кейс не збігся то в нас також є операція по замовчиванню дефолт тобто якщо ніжоден кейс з кейсів в нас не збіг по рівенству так то ми будемо виконувати по замовчуванню Наприклад якщо ми запустимо знову програму введемо число 10 нічого не робимо тому що відповідного В нас немає а числа або нумерації дня в тижні під числом 10 в нас тільки є від одного до семи тому 10 це в нас буде некоректне значення і ми просто говоримо що ми нічого не робимо от така операція по замовчуванню Але якщо ми запустимо і введемо наприклад три виведемо навчання робота якщо введемо чотири виведемо прогулянка пошукаємо де В нас чотири знаходиться чотири знаходиться в нас Day І от ми бачимо що там чотири чому ми використовуємо нум тому що ми за допомогою нум можемо давати ім'я нашим зміним не просто прописати 1 2 3 4 5 6 7 а прописуємо імена і так більш легше буде читати нашу програму і буде зрозуміліше що виконує свіч для чого він потрібен Звісно якщо ми подивимося то тут в нас певне є відповідно якийсь розклад на кожен день і в залежності від того що ми виберемо буде відбуватись певна дія але крім того що ми можемо тут зберігати і змінні цілочисельного типу і просто пропис вати тут якесь число ми можемо Також тут прописати і символ але символ так потрібно брати в одинарні кавички наприклад я захочу прописати символ літеру a змінимо нашу зміру змінну value з in начар перекомпілюємо запустимо введемо літеру a виводиться навчається тобто swtch може отримувати і int може отримувати ічар він може робити порівняння із інтом може робити порівняння із чаром От такий свіч От такі його особливості Тобто це порівняння на збіг тобто на рівенство якщо рівенство відбулося виконується певна дія також про Брейк треба також звернути увагу що тут дуже потрібно обов'язково пам'ятати що Брейк в кінці вашого коду який ви написали в Кейсі або там один рядок або два немає різниці скільки ки там буде скільки буде але після них потрібно обов'язково поставити брек це тому що якщо ми Брей наприклад зараз видалимо забули його поставити компілюємо повторно запускаємо вводимо літеру a нажимаємо Enter виводиться навчається і навчається чому двічі вивели навчається тому що ми коли поклали літеру a в нашу змінну value відповідно value потрапляє в свіch починає перевірка на рівенство на збіг з кейсами в нас відбувся збіг тому що в Кейсі також от ми вказали що є значення a a ріне a ми заходимо виконуємо рядок коду але немає брейка і ми по замовчуванню відразу переходимо до наступного рядка коду в наступному Кейсі без перевірки навіть умови в кавичках умови без перевірки на збіг рівенства ми Заходимо в цей кейс і виконуємо Наступний рядок коду і тому ми вивели навча навчається якщо ми і тут приберемо Брейк компілюємо повторно запускаємо вводимо знову літеру a навчається навчається навчання робота тобто ми і виконали і Наступний рядок коду який знаходиться іще в наступному Кейсі Тобто ми потрапили сюди виконали брейку немає відразу переходимо сюди без перевірки ми минаємо перевірку виконуємо той рядок коду який знаходиться в цьому Кейсі знову бреки немає і знову Заходимо в наступний кейс і виконуємо Наступний рядок коду який знаходиться в цьому Кейсі от така особливість сча тому обов'язково після того як ви реалізували в Кейсі певний алгоритм написали певний код один чи два рядка Ви повинні після цього написати Брейк це для того щоб виконати тільки той рядок коду який знаходиться в тому Кейсі де відбувся збіг і не більше закоментуємо і на останок давайте виконаємо практичну роботу щоб підвести підсумки застосування наших логічних операторів і операторів розгалудження виконамо от невелику практичну роботу користувач вводить з клавіатури число якщо воно парне помножити його на три інакше поділити на два і результат Вивести на екран тут ми застосуємо і оператори роз загалудження і також пригадаємо Як будемо як ми застосовуємо арифметичні оператори створимо змінну тому що нам треба ввести число змінна буде вея в нас називатися крапка з комою виводимо на Консоль що хочемо ввести значення просимо користувача number В крапка крапка з комою використовуємо STD sin кладемо значення з кон уvue і далі робимо перевірку за допомогою і якщо воно парне помножити його на три інакше поділити на два результат Вивести на екран Гаразд якщо парне як перевірити Якщо число парне value поділити по модулю по модулю це в нас буде процент на два якщо Рівне нулю значить наше число являється парним відкриваємо фігурні дужки Якщо число являється парним нам треба помножити його на три яким чином ми можемо помножити на три якщо пригадуєте з минулої лекції то ми там робили множення ділення додавання віднімання між двома оперантами але ми можемо наприклад помножити один оперант на якесь інше число наприклад змінну по на 2 або натри зі змінної відняти 5 або о до змінної додати + 100 ми можемо також це робити яким чином це буде яким чином ми це будемо робити використовуючи оцей приклад нашої задачі нам треба помножити на 3 тому ми можемо написати value Рівне val помножити 3 Ми беремо значення яке зберігається у val множимо його на Т результат який ми отримуємо кладемо у ве і потім будемо там в кінці виводити через C Out ми можемо і такий написати е таку схему або такий спосіб застосування множення на три а можемо трішки і скороченіший варіант застосувати скоро скороченіший це коли ми об'єдаємо відразу два оператора множення і равно напишемо помножити Рівне на 3 буде ідентичний оцьому що ми зверху РЕ написали То тут тільки в нас скороченіший варіант ми не просто пишемо val помножити Рівне на 3 але працювати буде так само ми зараз залишимо в цьому блоці і в такий спосіб множення А так як в ЕС нам Також потрібно зробити арифметичну дію арифметична Дія - це поділити на 2 val тут ми напишемо val поділити равно на 2 STD C Out і виводимо нашуве D крапка ско і так давайте ще раз прочитаємо умову нашої задачі користувач вводить з клавіатура число якщо воно парне помножити його на три інакше поділити на два результат Вивести на екран створили змінну просимо з консолі ввести число вкладемо число в нашу змінну велію робимо перевірку умови якщо число парне заходимо множимо його на 3 Якщо число Не парне інакше ділимо його на два результат виводимо в консолю компілюємо запускаємо введемо наприкладчотири виводимо 12 перемножили на три і відповідно отримали 12 гараз давайте тепер повторно запустимо програму введемо три непарне виводимо відповідно Коли ді ділимо 3 на 2 буде півтора але так як ми працюємо з цілим типом в нас десяткове значення відкидається і залишається тільки ціле от така практична робота на цьому все до зустрічі до наступного разу