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 назавем іх х і у. 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.