All language subtitles for 023 Boolean Logic.en_US

af Afrikaans
sq Albanian
am Amharic
ar Arabic Download
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bn Bengali
bs Bosnian
bg Bulgarian
ca Catalan
ceb Cebuano
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
tl Filipino
fi Finnish
fr French
fy Frisian
gl Galician
ka Georgian
de German
el Greek
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
km Khmer
ko Korean
ku Kurdish (Kurmanji)
ky Kyrgyz
lo Lao
la Latin
lv Latvian
lt Lithuanian
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mn Mongolian
my Myanmar (Burmese)
ne Nepali
no Norwegian
ps Pashto
fa Persian
pl Polish
pt Portuguese
pa Punjabi
ro Romanian
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
st Sesotho
sn Shona
sd Sindhi
si Sinhala
sk Slovak
sl Slovenian
so Somali
es Spanish
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
te Telugu
th Thai
tr Turkish
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
or Odia (Oriya)
rw Kinyarwanda
tk Turkmen
tt Tatar
ug Uyghur
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:01,310 --> 00:00:03,780 When we learn about if-else statements, 2 00:00:03,780 --> 00:00:06,290 comparison and equality operators 3 00:00:06,290 --> 00:00:07,910 and Boolean values. 4 00:00:07,910 --> 00:00:10,630 We also need to learn about logic. 5 00:00:10,630 --> 00:00:13,710 And in particular about Boolean logic. 6 00:00:13,710 --> 00:00:16,133 So let's do that in this video. 7 00:00:17,580 --> 00:00:20,090 So basically Boolean logic 8 00:00:20,090 --> 00:00:22,220 is a branch of computer science, 9 00:00:22,220 --> 00:00:24,430 which uses true and false values 10 00:00:24,430 --> 00:00:27,340 to solve complex logical problems. 11 00:00:27,340 --> 00:00:28,820 And in order to do that, 12 00:00:28,820 --> 00:00:31,200 it uses several logical operators 13 00:00:31,200 --> 00:00:34,130 to combine true and false values. 14 00:00:34,130 --> 00:00:36,680 So much like we use arithmetic operators, 15 00:00:36,680 --> 00:00:38,990 to combine numeric values. 16 00:00:38,990 --> 00:00:41,530 Now we're only going to scratch the surface here 17 00:00:41,530 --> 00:00:44,840 and talk about the most basic logical operators, 18 00:00:44,840 --> 00:00:48,480 which are the AND, OR, and NOT operators. 19 00:00:48,480 --> 00:00:50,490 And note that Boolean logic 20 00:00:50,490 --> 00:00:53,670 is actually not specific to JavaScript. 21 00:00:53,670 --> 00:00:56,670 This is all true for all programming. 22 00:00:56,670 --> 00:00:57,503 But anyway, 23 00:00:57,503 --> 00:01:00,260 let's now understand how these operators work 24 00:01:00,260 --> 00:01:03,710 and use an example to illustrate it. 25 00:01:03,710 --> 00:01:06,460 So here we have two Boolean variables 26 00:01:06,460 --> 00:01:09,440 that can either be true or false. 27 00:01:09,440 --> 00:01:13,120 So A is that Sarah has a driver's license 28 00:01:13,120 --> 00:01:15,900 and B is that Sarah has good vision. 29 00:01:15,900 --> 00:01:18,520 So both of these are of course conditions, 30 00:01:18,520 --> 00:01:20,580 that can be true or false 31 00:01:20,580 --> 00:01:23,210 because Sarah could have no driver's license 32 00:01:23,210 --> 00:01:25,380 and she could have no good vision, 33 00:01:25,380 --> 00:01:26,340 right. 34 00:01:26,340 --> 00:01:28,070 And of course on the other hand, 35 00:01:28,070 --> 00:01:30,190 she could also have a driver's license 36 00:01:30,190 --> 00:01:32,620 and could have good vision. 37 00:01:32,620 --> 00:01:36,800 Now using the AND operator like A aND B, 38 00:01:36,800 --> 00:01:38,940 we can combine these two Boolean variables 39 00:01:38,940 --> 00:01:43,510 like Sarah has a driver's license and good vision. 40 00:01:43,510 --> 00:01:44,343 Okay. 41 00:01:44,343 --> 00:01:47,860 But now what will be the result of this operation? 42 00:01:47,860 --> 00:01:48,950 Well for that, 43 00:01:48,950 --> 00:01:51,370 we use a so-called truth table, 44 00:01:51,370 --> 00:01:53,880 which looks something like this. 45 00:01:53,880 --> 00:01:55,860 Here we have to two possible values 46 00:01:55,860 --> 00:01:57,230 for each of the variables, 47 00:01:57,230 --> 00:01:58,380 A AND B, 48 00:01:58,380 --> 00:02:02,580 which gives us four possible combinations of results. 49 00:02:02,580 --> 00:02:04,190 And so then all we have to do 50 00:02:04,190 --> 00:02:06,909 is to plug in the value of our variables, 51 00:02:06,909 --> 00:02:09,790 and to get a result of the AND operation 52 00:02:09,790 --> 00:02:11,290 from this table. 53 00:02:11,290 --> 00:02:13,740 So what we can see from this table 54 00:02:13,740 --> 00:02:17,150 is that only if both A and B are true, 55 00:02:17,150 --> 00:02:20,940 the result of the operation will be true as well. 56 00:02:20,940 --> 00:02:23,060 And that makes sense, right! 57 00:02:23,060 --> 00:02:23,950 After all, 58 00:02:23,950 --> 00:02:26,260 it's called the AND operator. 59 00:02:26,260 --> 00:02:27,310 And so again, 60 00:02:27,310 --> 00:02:29,190 what the AND operator does 61 00:02:29,190 --> 00:02:30,850 is to return true 62 00:02:30,850 --> 00:02:34,320 only if both A AND B are true. 63 00:02:34,320 --> 00:02:35,910 In all other situations, 64 00:02:35,910 --> 00:02:38,730 if either A or B are false, 65 00:02:38,730 --> 00:02:41,750 then A AND B will also be false. 66 00:02:41,750 --> 00:02:44,680 And we can also generalize this to more operands. 67 00:02:44,680 --> 00:02:47,150 So to more than just two values, 68 00:02:47,150 --> 00:02:49,870 we could do A AND B AND C, 69 00:02:49,870 --> 00:02:51,430 and results would be true 70 00:02:51,430 --> 00:02:54,320 only if all of them are true. 71 00:02:54,320 --> 00:02:55,920 And if one of them is false, 72 00:02:55,920 --> 00:02:59,870 then the result is immediately false as well. 73 00:02:59,870 --> 00:03:01,680 Now I know that all of this, 74 00:03:01,680 --> 00:03:04,360 might look a little bit confusing, 75 00:03:04,360 --> 00:03:06,700 but don't worry We will have an example, 76 00:03:06,700 --> 00:03:08,710 a little bit later in this lecture, 77 00:03:08,710 --> 00:03:10,830 and we will also use this in practice 78 00:03:10,830 --> 00:03:12,140 and the next one. 79 00:03:12,140 --> 00:03:13,210 And after some practice, 80 00:03:13,210 --> 00:03:15,340 you will internalize all of this 81 00:03:15,340 --> 00:03:18,239 and you won't even need any truth tables. 82 00:03:18,239 --> 00:03:19,710 Now moving on, 83 00:03:19,710 --> 00:03:20,599 on the other hand, 84 00:03:20,599 --> 00:03:23,670 we also have the OR operator, 85 00:03:23,670 --> 00:03:26,380 which kind of works in the opposite way. 86 00:03:26,380 --> 00:03:28,210 So with our current example, 87 00:03:28,210 --> 00:03:29,970 we could use the OR operator 88 00:03:29,970 --> 00:03:31,820 to determine whether Sarah 89 00:03:31,820 --> 00:03:35,000 has a driver's license or good vision. 90 00:03:35,000 --> 00:03:37,120 And just by thinking about this, 91 00:03:37,120 --> 00:03:39,620 we can already intuitively imagine 92 00:03:39,620 --> 00:03:41,960 that the OR operator will be true 93 00:03:41,960 --> 00:03:44,710 if just one of the variables is true. 94 00:03:44,710 --> 00:03:45,640 And in fact, 95 00:03:45,640 --> 00:03:50,170 a look at the truth table confirms exactly that. 96 00:03:50,170 --> 00:03:53,850 So unlike the AND operator and the OR operator, 97 00:03:53,850 --> 00:03:56,400 even if one of the variables is false, 98 00:03:56,400 --> 00:03:59,130 the outcome will still be true. 99 00:03:59,130 --> 00:04:00,380 Or in other words, 100 00:04:00,380 --> 00:04:02,830 if either A OR B is true, 101 00:04:02,830 --> 00:04:05,780 then the OR operation becomes true as well. 102 00:04:05,780 --> 00:04:08,900 And that's why it's called the OR operator. 103 00:04:08,900 --> 00:04:10,230 And once more, 104 00:04:10,230 --> 00:04:12,260 if we have multiple variables, 105 00:04:12,260 --> 00:04:15,010 it's enough for one of them to be true, 106 00:04:15,010 --> 00:04:18,360 to make the whole operation become true as well. 107 00:04:18,360 --> 00:04:20,660 Okay, I hope this makes sense. 108 00:04:20,660 --> 00:04:21,810 And once again, 109 00:04:21,810 --> 00:04:22,980 I can assure you 110 00:04:22,980 --> 00:04:24,480 that it will make sense 111 00:04:24,480 --> 00:04:27,840 once we start using this in practice. 112 00:04:27,840 --> 00:04:28,673 Anyway, 113 00:04:28,673 --> 00:04:31,830 we finally also have the NOT operator, 114 00:04:31,830 --> 00:04:33,360 which is a lot simpler 115 00:04:33,360 --> 00:04:36,060 because it doesn't combine multiple values. 116 00:04:36,060 --> 00:04:36,990 Instead, 117 00:04:36,990 --> 00:04:40,920 the NOT operator acts on only one Boolean value 118 00:04:40,920 --> 00:04:43,420 and it basically just inverts it. 119 00:04:43,420 --> 00:04:44,910 So if A is true, 120 00:04:44,910 --> 00:04:46,270 it will become false. 121 00:04:46,270 --> 00:04:47,400 And if it's false, 122 00:04:47,400 --> 00:04:49,720 then NOT A will become true, 123 00:04:49,720 --> 00:04:51,400 simple as that. 124 00:04:51,400 --> 00:04:52,320 And that's basically 125 00:04:52,320 --> 00:04:56,200 how these three most important logical operators work. 126 00:04:56,200 --> 00:04:57,033 But of course, 127 00:04:57,033 --> 00:04:58,670 the best way to understand it 128 00:04:58,670 --> 00:05:01,640 is to use a more practical example. 129 00:05:01,640 --> 00:05:03,280 So let's go again back 130 00:05:03,280 --> 00:05:04,372 to using the age, 131 00:05:04,372 --> 00:05:07,600 and this time we set it to 16. 132 00:05:07,600 --> 00:05:08,737 And then we have, 133 00:05:08,737 --> 00:05:10,800 our two Boolean variables. 134 00:05:10,800 --> 00:05:14,630 The first one is age is greater or equal 20. 135 00:05:14,630 --> 00:05:18,660 And the second one is age is less than 30. 136 00:05:18,660 --> 00:05:21,580 So let's determine the value of each of them. 137 00:05:21,580 --> 00:05:23,072 So if age is 16, 138 00:05:23,072 --> 00:05:26,021 then age is greater or equal to any 139 00:05:26,021 --> 00:05:27,611 must be false. 140 00:05:27,611 --> 00:05:28,462 Right! 141 00:05:28,462 --> 00:05:29,950 And of course it is, 142 00:05:29,950 --> 00:05:32,533 and age is less than 30 is true 143 00:05:33,735 --> 00:05:37,642 because 16 obviously is less than 30. 144 00:05:37,642 --> 00:05:38,664 Okay. 145 00:05:38,664 --> 00:05:40,390 So that's the baseline basically, 146 00:05:40,390 --> 00:05:42,330 and now we will start to combine 147 00:05:42,330 --> 00:05:44,110 these variables A and B 148 00:05:44,110 --> 00:05:46,760 using some logical operators. 149 00:05:46,760 --> 00:05:48,630 So the first exercise 150 00:05:48,630 --> 00:05:50,350 is the NOT operator. 151 00:05:50,350 --> 00:05:51,510 So NOT A, 152 00:05:51,510 --> 00:05:56,070 and we know right now that A is false, right? 153 00:05:56,070 --> 00:05:57,970 So the result of NOT A, 154 00:05:57,970 --> 00:06:00,610 as we just learned is true, 155 00:06:00,610 --> 00:06:01,650 because all it does 156 00:06:01,650 --> 00:06:05,570 is to invert the logical value of the variable. 157 00:06:05,570 --> 00:06:08,190 Next one we have A AND B, 158 00:06:08,190 --> 00:06:12,060 now we already know that A is false and B is true. 159 00:06:12,060 --> 00:06:14,010 So I'm just putting these values here again, 160 00:06:14,010 --> 00:06:16,100 to make it a bit easier to follow. 161 00:06:16,100 --> 00:06:17,010 Okay. 162 00:06:17,010 --> 00:06:20,200 So we have basically false and true. 163 00:06:20,200 --> 00:06:22,650 So from a look at our truth table here 164 00:06:22,650 --> 00:06:23,830 at the right side, 165 00:06:23,830 --> 00:06:25,130 we can easily determine 166 00:06:25,130 --> 00:06:28,600 that the result of this must be false. 167 00:06:28,600 --> 00:06:29,550 And so that's exactly 168 00:06:29,550 --> 00:06:31,020 what we learned before. 169 00:06:31,020 --> 00:06:32,890 So when we have the AND operator, 170 00:06:32,890 --> 00:06:36,000 it's enough for one of the operands to be false, 171 00:06:36,000 --> 00:06:39,392 to make the result of the operation also false. 172 00:06:39,392 --> 00:06:42,050 Now we have A OR B, 173 00:06:42,050 --> 00:06:46,010 and so let's check out the truth table in this case. 174 00:06:46,010 --> 00:06:47,740 And so in this case, 175 00:06:47,740 --> 00:06:49,920 we actually get true. 176 00:06:49,920 --> 00:06:52,380 And so this shows that it is enough 177 00:06:52,380 --> 00:06:54,600 for one variable to be true 178 00:06:54,600 --> 00:06:57,023 for the whole expression to be true as well. 179 00:06:58,620 --> 00:07:02,210 Next up let's check NOT A AND B. 180 00:07:02,210 --> 00:07:03,430 And we already know 181 00:07:03,430 --> 00:07:07,300 that NOT A is true and B is true. 182 00:07:07,300 --> 00:07:09,170 And so at this time for the first time, 183 00:07:09,170 --> 00:07:12,260 we are combining multiple operators here 184 00:07:12,260 --> 00:07:16,030 and yeah we already know that true and true 185 00:07:16,030 --> 00:07:18,900 will of course be true as well. 186 00:07:18,900 --> 00:07:22,560 And now another one combining two operators, 187 00:07:22,560 --> 00:07:25,640 so A OR NOT B. 188 00:07:25,640 --> 00:07:27,200 And just as a side note, 189 00:07:27,200 --> 00:07:30,570 the NOT operator actually has proceedings 190 00:07:30,570 --> 00:07:33,400 over the OR and AND operators. 191 00:07:33,400 --> 00:07:36,510 So basically the values are inverted first 192 00:07:36,510 --> 00:07:40,920 and only then they are combined using AND or OR. 193 00:07:40,920 --> 00:07:45,920 So we know that A is false and B is true. 194 00:07:46,190 --> 00:07:49,360 So NOT B must be false, right 195 00:07:49,360 --> 00:07:53,880 then false OR false is also false. 196 00:07:53,880 --> 00:07:56,170 And actually that's the only way in which 197 00:07:56,170 --> 00:07:58,270 the OR operator can be false. 198 00:07:58,270 --> 00:08:00,343 If all of them are false basically. 199 00:08:01,450 --> 00:08:03,990 So I hope that made sense to you. 200 00:08:03,990 --> 00:08:05,720 And so in the next lecture, 201 00:08:05,720 --> 00:08:09,700 we will actually use these operators in a code. 202 00:08:09,700 --> 00:08:13,290 And then it will make even more sense to you. 203 00:08:13,290 --> 00:08:14,420 So by then, 204 00:08:14,420 --> 00:08:18,310 we probably won't even need the truth tables anymore, 205 00:08:18,310 --> 00:08:20,550 because it will become quite intuitive 206 00:08:20,550 --> 00:08:23,930 how both of these operators actually work. 207 00:08:23,930 --> 00:08:25,870 But anyway, let's now move on 208 00:08:25,870 --> 00:08:27,873 and I see you in the next video. 13817

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.