1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] Vipul Шехават: Привіт. 2 00:00:07,370 --> 00:00:09,410 У цьому відео я буду знайомити вас з одним із найбільш 3 00:00:09,410 --> 00:00:11,260 основні поняття в логіці і 4 00:00:11,260 --> 00:00:13,880 програмування, логічне значення. 5 00:00:13,880 --> 00:00:16,210 Якщо вам цікаво, про найменування, логічні значення та 6 00:00:16,210 --> 00:00:19,440 Умови названий на честь Джорджа Буля, 19-го століття 7 00:00:19,440 --> 00:00:22,030 математика, який вперше, що зараз називається булевої 8 00:00:22,030 --> 00:00:23,980 Логіка, заснована на угрупованні та 9 00:00:23,980 --> 00:00:26,030 порівняння логічних значень. 10 00:00:26,030 --> 00:00:28,250 >> Так що ж таке логічне значення? 11 00:00:28,250 --> 00:00:30,920 Логічне значення змінної, яка просто має два можливих 12 00:00:30,920 --> 00:00:33,710 умов, істинного і помилкового. 13 00:00:33,710 --> 00:00:35,380 Ви можете думати про це як вимикач. 14 00:00:35,380 --> 00:00:38,530 Це може бути або включений, або вимкнений, істинним або хибним. 15 00:00:38,530 --> 00:00:41,880 Крім того, двійкові числа можуть бути або один, або нулю, що 16 00:00:41,880 --> 00:00:45,680 аналогічно те ж саме, істинне або помилкове. 17 00:00:45,680 --> 00:00:46,840 Просто, чи не так? 18 00:00:46,840 --> 00:00:48,750 Поняття логічної змінної легко 19 00:00:48,750 --> 00:00:51,720 розумію, але способи, якими ви можете управляти й 20 00:00:51,720 --> 00:00:54,570 об'єднати їх дозволяє набагато більшою складністю. 21 00:00:54,570 --> 00:00:57,030 На додаток до двох основних логічні значення, 22 00:00:57,030 --> 00:00:59,350 Є багато логічних операторів, які можуть об'єднати два 23 00:00:59,350 --> 00:01:01,760 Логічні значення в один. 24 00:01:01,760 --> 00:01:03,540 >> Два самих основних, але найважливіше 25 00:01:03,540 --> 00:01:06,570 Оператори, є і та OR. 26 00:01:06,570 --> 00:01:09,950 І оператор результатів у значенні вірно, тільки якщо обидва 27 00:01:09,950 --> 00:01:14,630 значення вона приймає вірні, так помилковою і дійсною є хибним. 28 00:01:14,630 --> 00:01:17,540 Крім того, помилкові і помилковим є хибним. 29 00:01:17,540 --> 00:01:21,080 Тільки Вірний і Правдивий одно правда. 30 00:01:21,080 --> 00:01:24,050 Або результати оператора в значення істина, якщо будь-який з 31 00:01:24,050 --> 00:01:25,620 значення вона приймає вірні. 32 00:01:25,620 --> 00:01:30,460 Таким чином, помилкова або хибним є хибним, але істинним або хибним, правда, і 33 00:01:30,460 --> 00:01:33,710 істинне або істинне твердження також вірно. 34 00:01:33,710 --> 00:01:36,560 НЕ оператор просто приймає логічну змінну і дає 35 00:01:36,560 --> 00:01:37,830 Ви протилежний від нього. 36 00:01:37,830 --> 00:01:40,950 Таким чином, істинне стає помилковим і помилкове стає істинним. 37 00:01:40,950 --> 00:01:43,130 Якщо ви покладете все це разом, змінні 38 00:01:43,130 --> 00:01:46,320 Оператори, ви створюєте логічне вираження. 39 00:01:46,320 --> 00:01:48,550 >> Тепер давайте подивимося на приклад вкладення цих булевих 40 00:01:48,550 --> 00:01:49,950 виразів. 41 00:01:49,950 --> 00:01:51,840 Ви пам'ятаєте порядок операцій? 42 00:01:51,840 --> 00:01:54,700 Як з числами, логічні вирази можуть бути згруповані за 43 00:01:54,700 --> 00:01:56,270 за допомогою дужок. 44 00:01:56,270 --> 00:02:00,150 Таким чином, існує три основних виразів тут, а не г, у АБО 45 00:02:00,150 --> 00:02:04,740 НЕ г, а х і в ЧИ НЕ р. 46 00:02:04,740 --> 00:02:07,080 Ми можемо зрозуміти значення цих, дивлячись на 47 00:02:07,080 --> 00:02:09,020 всередині і працює наш вихід. 48 00:02:09,020 --> 00:02:12,850 Отже, давайте припустимо, х, правда, у вірно, і г теж вірно. 49 00:02:12,850 --> 00:02:15,270 Що б не оцінювати г до? 50 00:02:15,270 --> 00:02:20,970 Оскільки ми починаємо з істинною, а не г буде просто помилковою. 51 00:02:20,970 --> 00:02:26,230 Так що тепер у нас є помилковими або у. 52 00:02:26,230 --> 00:02:29,740 Якщо ви подивитеся на вершині, ви можете бачити, що у вірно, у чи удаваної 53 00:02:29,740 --> 00:02:32,870 буде як і раніше просто бути правдою. 54 00:02:32,870 --> 00:02:37,580 Нарешті ми маємо х і вірно. 55 00:02:37,580 --> 00:02:39,300 Так що х і правдою? 56 00:02:39,300 --> 00:02:42,590 х істинно і вірно, то вірно, так все це справа 57 00:02:42,590 --> 00:02:45,070 правдивий. 58 00:02:45,070 --> 00:02:47,270 >> Далі, давайте подивимося, як ці логічні вирази можуть 59 00:02:47,270 --> 00:02:49,890 насправді бути використані в мові програмування. 60 00:02:49,890 --> 00:02:52,900 У C, синтаксис для логічних операцій дещо відрізняється 61 00:02:52,900 --> 00:02:55,520 зі слів AND, OR, і не дуже. 62 00:02:55,520 --> 00:02:57,210 Давайте розглянемо синтаксис. 63 00:02:57,210 --> 00:03:00,510 Для використання І оператор, ми пишемо подвійний амперсанд. 64 00:03:00,510 --> 00:03:03,620 АБО оператор подвійний характер трубопроводу. 65 00:03:03,620 --> 00:03:05,780 Це прямої вертикальної лінії, яку ви, ймовірно, може 66 00:03:05,780 --> 00:03:09,070 Знайти над Введення або Повернення клавіші на клавіатурі. 67 00:03:09,070 --> 00:03:12,550 І НЕ оператор просто знак оклику. 68 00:03:12,550 --> 00:03:15,550 Таким чином, щоб переписати вираз, що було раніше, ми б просто 69 00:03:15,550 --> 00:03:27,010 написати цю х && у | |! р. 70 00:03:27,010 --> 00:03:29,250 Ось тільки приймати саме те, що ми мали раніше, і поворот 71 00:03:29,250 --> 00:03:31,870 його в синтаксисі C. 72 00:03:31,870 --> 00:03:34,370 >> Тепер, коли ми перевели наші логічне вираження в коді, 73 00:03:34,370 --> 00:03:36,160 Як ми насправді його використовувати? 74 00:03:36,160 --> 00:03:38,170 Припустимо, у нас є деякий код, який повинен виконуватися тільки якщо 75 00:03:38,170 --> 00:03:40,330 певний вираз істинно. 76 00:03:40,330 --> 00:03:42,750 Для цієї мети в значній мірі всі мови програмування 77 00:03:42,750 --> 00:03:45,190 підтримки, якщо стан. 78 00:03:45,190 --> 00:03:47,870 Скажімо, у нас є логічна змінна, х, і ми хочемо, деякі 79 00:03:47,870 --> 00:03:50,850 код для виконання, тільки якщо х істинна. 80 00:03:50,850 --> 00:03:54,900 Ми б просто написати слово, якщо поставити дужки і покласти 81 00:03:54,900 --> 00:03:57,800 Логічний вираз в цих дужках. 82 00:03:57,800 --> 00:03:59,680 Після цього ми обернути код, який ми хочемо 83 00:03:59,680 --> 00:04:01,080 виконати у фігурні дужки. 84 00:04:07,160 --> 00:04:08,150 Що робити, якщо є певний код, ви хочете, щоб 85 00:04:08,150 --> 00:04:10,260 виконати, якщо х не так? 86 00:04:10,260 --> 00:04:13,310 Просто напишіть слово ще після, якщо заяву, обгортання 87 00:04:13,310 --> 00:04:16,930 інший код у фігурних дужках, а потім, що код буде 88 00:04:16,930 --> 00:04:18,399 виконуватися, якщо х не вірно. 89 00:04:26,640 --> 00:04:29,840 >> Ще однією корисною конструкцією мови ще, якщо. 90 00:04:29,840 --> 00:04:32,210 Хай є дві логічні ви хотіли б розглянути, 91 00:04:32,210 --> 00:04:34,330 назвемо їх x і в. 92 00:04:34,330 --> 00:04:37,340 Ми заявляємо, ці змінні, щоб бути істинним і хибним. 93 00:04:37,340 --> 00:04:40,540 Якщо х і у вірно, ви виконаєте перший блок 94 00:04:40,540 --> 00:04:42,630 Код в цих фігурних дужках. 95 00:04:42,630 --> 00:04:46,470 Інакше, якщо х і у вірно, ви виконуєте наступний блок 96 00:04:46,470 --> 00:04:50,590 код, і ще, що ви виконаєте останній блок коду. 97 00:04:50,590 --> 00:04:52,650 Робота з булевими значеннями, як це корисно, але 98 00:04:52,650 --> 00:04:55,750 Ви дійсно обмежується лише кількома умовами. 99 00:04:55,750 --> 00:04:58,400 Логічні може стати набагато більш потужним, коли ви вводите 100 00:04:58,400 --> 00:04:59,900 порівнянь. 101 00:04:59,900 --> 00:05:01,280 Ці способи для порівняння значень, які 102 00:05:01,280 --> 00:05:03,300 спочатку не Boolean. 103 00:05:03,300 --> 00:05:06,060 Щоб подивитися, якщо два значення рівні, ви можете використовувати рівних 104 00:05:06,060 --> 00:05:09,340 одно, що є істинним, якщо вони рівні і помилково, якщо 105 00:05:09,340 --> 00:05:10,530 вони не є. 106 00:05:10,530 --> 00:05:15,360 Інші поширені порівняння менше, більше, менше 107 00:05:15,360 --> 00:05:19,740 або рівним, а більше або дорівнює. 108 00:05:19,740 --> 00:05:22,220 >> Все, що я досі покрита була досить абстрактно, так 109 00:05:22,220 --> 00:05:24,320 давайте введемо ці порівняння в останній 110 00:05:24,320 --> 00:05:25,850 Конкретний приклад. 111 00:05:25,850 --> 00:05:27,130 Припустимо, що є дві змінні, 112 00:05:27,130 --> 00:05:29,430 температури і isHungry. 113 00:05:29,430 --> 00:05:31,560 Температура є число з плаваючою точкою, так що він може мати 114 00:05:31,560 --> 00:05:33,090 знаків після коми. 115 00:05:33,090 --> 00:05:35,440 Ви програмування дуже просте додаток, що говорить 116 00:05:35,440 --> 00:05:38,270 хтось, що є в залежності від температури. 117 00:05:38,270 --> 00:05:41,010 Якщо ви голодні, а й температура більша або 118 00:05:41,010 --> 00:05:45,060 рівним 100, ви можете роздрукувати з'їсти морозиво. 119 00:05:45,060 --> 00:05:48,370 Інакше, якщо ви голодні і і температура нижче 120 00:05:48,370 --> 00:05:52,420 або дорівнюють нулю, ви можете Е ("їсти гостру їжу"). 121 00:05:52,420 --> 00:05:55,200 Нарешті, якщо ви не голодні взагалі, ви можете надрукувати "не 122 00:05:55,200 --> 00:05:56,710 ем, а харчуюся ". 123 00:05:56,710 --> 00:06:00,130 >> Я Vipul Shekhawat, і це CS50.