1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] VIPUL SHEKHAWAT: Bok. 2 00:00:07,370 --> 00:00:09,410 U ovom videu ću se vas uvodi u jedan od najvažnijih 3 00:00:09,410 --> 00:00:11,260 Temeljni pojmovi u logici i 4 00:00:11,260 --> 00:00:13,880 programiranje, Boolean vrijednost. 5 00:00:13,880 --> 00:00:16,210 Ako ste znatiželjan o imenu, Boolean vrijednosti i 6 00:00:16,210 --> 00:00:19,440 Uvjeti su nazvana George Boole, 19. stoljeća 7 00:00:19,440 --> 00:00:22,030 matematičar koji je uveo ono što se sada zove Booleova 8 00:00:22,030 --> 00:00:23,980 logika, koja se temelji grupiranjem i 9 00:00:23,980 --> 00:00:26,030 Usporedbom Boolean vrijednosti. 10 00:00:26,030 --> 00:00:28,250 >> Dakle, ono što je Boolean vrijednost? 11 00:00:28,250 --> 00:00:30,920 Boolean vrijednost je varijabla koja ima samo dva moguća 12 00:00:30,920 --> 00:00:33,710 uvjetima, pravi i lažni. 13 00:00:33,710 --> 00:00:35,380 Možete misliti o njemu kao prekidač svjetla. 14 00:00:35,380 --> 00:00:38,530 To može biti ili isključeno, true ili false. 15 00:00:38,530 --> 00:00:41,880 Slično, binarni brojevi mogu biti jedan ili nula, koje 16 00:00:41,880 --> 00:00:45,680 analogan je istu stvar, istinita ili lažna. 17 00:00:45,680 --> 00:00:46,840 Jednostavno, zar ne? 18 00:00:46,840 --> 00:00:48,750 Koncept Booleove varijable je lako 19 00:00:48,750 --> 00:00:51,720 razumjeti, ali načini na koje možete manipulirati i 20 00:00:51,720 --> 00:00:54,570 kombinirati ih omogućuje mnogo veće složenosti. 21 00:00:54,570 --> 00:00:57,030 Osim dva temeljna logička vrijednosti, 22 00:00:57,030 --> 00:00:59,350 postoje mnoge Booleove operatore koji se mogu kombinirati dva 23 00:00:59,350 --> 00:01:01,760 Booleove vrijednosti u jednoj. 24 00:01:01,760 --> 00:01:03,540 >> Dva od najosnovnijih, ali najvažnije 25 00:01:03,540 --> 00:01:06,570 Operateri su AND i OR. 26 00:01:06,570 --> 00:01:09,950 Operator AND rezultati u vrijednosti vrijedi samo ako oboje 27 00:01:09,950 --> 00:01:14,630 vrijednosti koje je potrebno su istinite, tako lažno I istina je laž. 28 00:01:14,630 --> 00:01:17,540 Isto tako, lažne i lažno lažno. 29 00:01:17,540 --> 00:01:21,080 Samo istina I istina je jednako istinita. 30 00:01:21,080 --> 00:01:24,050 Operator OR rezultati u vrijednosti vrijedi ako bilo koji od 31 00:01:24,050 --> 00:01:25,620 Vrijednosti koje je potrebno su istinite. 32 00:01:25,620 --> 00:01:30,460 Dakle, lažna ili lažno je lažna, ali istinita ili lažna je istina, i 33 00:01:30,460 --> 00:01:33,710 istina ili istina je također istina. 34 00:01:33,710 --> 00:01:36,560 Operator NOT jednostavno traje Boolean varijablu i daje 35 00:01:36,560 --> 00:01:37,830 što je suprotno od toga. 36 00:01:37,830 --> 00:01:40,950 Dakle, istina postaje lažno i lažni postaje istina. 37 00:01:40,950 --> 00:01:43,130 Ako ste stavili cijelu stvar zajedno, varijable s 38 00:01:43,130 --> 00:01:46,320 operatori, možete stvoriti Boolean izraza. 39 00:01:46,320 --> 00:01:48,550 >> Sada pogledajmo primjer gniježđenja ovih boolean 40 00:01:48,550 --> 00:01:49,950 izrazi. 41 00:01:49,950 --> 00:01:51,840 Sjećate li se redoslijed operacija? 42 00:01:51,840 --> 00:01:54,700 Kao i sa brojevima, Boolean izrazi mogu biti grupirani po 43 00:01:54,700 --> 00:01:56,270 korištenjem zagrada. 44 00:01:56,270 --> 00:02:00,150 Dakle, u osnovi postoje tri izrazi ovdje, NE z, y ILI 45 00:02:00,150 --> 00:02:04,740 NE z, i X i Y ILI NE z. 46 00:02:04,740 --> 00:02:07,080 Možemo shvatiti vrijednosti tih gledanjem na 47 00:02:07,080 --> 00:02:09,020 unutra i raditi svoj put van. 48 00:02:09,020 --> 00:02:12,850 Dakle, pretpostavimo x je istina, y je istina, a z je također istina. 49 00:02:12,850 --> 00:02:15,270 Što ne bi z ocijeniti do? 50 00:02:15,270 --> 00:02:20,970 Budući da smo započeli s istina, NE z jednostavno će biti lažni. 51 00:02:20,970 --> 00:02:26,230 Tako sada imamo lažne ili y. 52 00:02:26,230 --> 00:02:29,740 Ako pogledate na vrhu, možete vidjeti da je y je istina, Y ili lažna 53 00:02:29,740 --> 00:02:32,870 će i dalje biti samo istina. 54 00:02:32,870 --> 00:02:37,580 Konačno smo, imamo X i istinite. 55 00:02:37,580 --> 00:02:39,300 Dakle, ono što je x I istina? 56 00:02:39,300 --> 00:02:42,590 x je istina, a istina je također istina, tako da je cijela ova stvar 57 00:02:42,590 --> 00:02:45,070 true. 58 00:02:45,070 --> 00:02:47,270 >> Dalje, pogledajmo kako se ti Boolean izrazi mogu 59 00:02:47,270 --> 00:02:49,890 zapravo se koristi u programskom jeziku. 60 00:02:49,890 --> 00:02:52,900 U C, sintaksa za Booleova operacija je malo drugačiji 61 00:02:52,900 --> 00:02:55,520 od riječi i, ili, a ne. 62 00:02:55,520 --> 00:02:57,210 Ajmo pokriti sintaksu. 63 00:02:57,210 --> 00:03:00,510 Za korištenje i operater, pišemo dvostruku ampersand. 64 00:03:00,510 --> 00:03:03,620 Operator OR je dvostruko cjevovod lik. 65 00:03:03,620 --> 00:03:05,780 To je ravno okomita crta, koja vjerojatno možete 66 00:03:05,780 --> 00:03:09,070 naći iznad Enter ili Return tipke na tipkovnici. 67 00:03:09,070 --> 00:03:12,550 I NE operator je jednostavno uskličnik. 68 00:03:12,550 --> 00:03:15,550 Dakle prepisati izraz smo prije toga, želimo samo 69 00:03:15,550 --> 00:03:27,010 napisati ovaj x && y | |! z. 70 00:03:27,010 --> 00:03:29,250 To je samo uzimanje točno ono što smo imali prije i okretanje 71 00:03:29,250 --> 00:03:31,870 ga u C sintaksu. 72 00:03:31,870 --> 00:03:34,370 >> Sada kada smo prevedena našu Boolean izraza u kodu, 73 00:03:34,370 --> 00:03:36,160 kako mi zapravo ga koristiti? 74 00:03:36,160 --> 00:03:38,170 Recimo imamo neki kod koji samo treba izvršiti ako 75 00:03:38,170 --> 00:03:40,330 određeni izraz je istina. 76 00:03:40,330 --> 00:03:42,750 Za tu svrhu, prilično su svi programski jezici 77 00:03:42,750 --> 00:03:45,190 podržati ako stanje. 78 00:03:45,190 --> 00:03:47,870 Recimo imamo Boolean varijablu, x, a mi želimo neke 79 00:03:47,870 --> 00:03:50,850 Kod izvršiti samo ako x je istina. 80 00:03:50,850 --> 00:03:54,900 Mi bi jednostavno napisati riječ ako, staviti zagrade, i staviti 81 00:03:54,900 --> 00:03:57,800 logički izraz unutar tih zagrada. 82 00:03:57,800 --> 00:03:59,680 Nakon toga, zamotajte kod želimo 83 00:03:59,680 --> 00:04:01,080 izvršiti u vitičastim zagradama. 84 00:04:07,160 --> 00:04:08,150 Što ako postoji neki broj želite 85 00:04:08,150 --> 00:04:10,260 izvršiti ako x nije istina? 86 00:04:10,260 --> 00:04:13,310 Jednostavno napišite riječ ostalo nakon IF, folijom 87 00:04:13,310 --> 00:04:16,930 drugi broj u vitičastim zagradama, a zatim da će Kodeks 88 00:04:16,930 --> 00:04:18,399 izvršiti ako x nije istina. 89 00:04:26,640 --> 00:04:29,840 >> Još jedan koristan jezik konstrukt je drugo ako. 90 00:04:29,840 --> 00:04:32,210 Pretpostavimo da postoje dvije logičke biste željeli razmotriti, 91 00:04:32,210 --> 00:04:34,330 nazovimo ih xiy. 92 00:04:34,330 --> 00:04:37,340 Izjavljujemo ove varijable da bi bilo istinito i lažno. 93 00:04:37,340 --> 00:04:40,540 Ako su xiy istina, izvršiti prvi blok 94 00:04:40,540 --> 00:04:42,630 Kod unutar tih vitičastih zagrada. 95 00:04:42,630 --> 00:04:46,470 Inače ako je x ili y su istinite, te izvršiti sljedeći blok 96 00:04:46,470 --> 00:04:50,590 broj, a drugo što izvršiti posljednji blok koda. 97 00:04:50,590 --> 00:04:52,650 Rad s Boolean vrijednosti kao što je to korisno, ali 98 00:04:52,650 --> 00:04:55,750 ti si stvarno samo ograničen na nekoliko uvjeta. 99 00:04:55,750 --> 00:04:58,400 Logičke može postati puno jači kada uvesti 100 00:04:58,400 --> 00:04:59,900 usporedbe. 101 00:04:59,900 --> 00:05:01,280 To su načini za usporedbu vrijednosti koje su 102 00:05:01,280 --> 00:05:03,300 nije izvorno Booleova. 103 00:05:03,300 --> 00:05:06,060 Da biste vidjeli je li dvije vrijednosti su isti, možete koristiti jednako 104 00:05:06,060 --> 00:05:09,340 jednaka, što je istina, ako su oni jednaki, a false ako 105 00:05:09,340 --> 00:05:10,530 nisu. 106 00:05:10,530 --> 00:05:15,360 Druge uobičajene usporedbe su manje od, veće od, manje 107 00:05:15,360 --> 00:05:19,740 od ili jednaka, i veći od ili jednak. 108 00:05:19,740 --> 00:05:22,220 >> Sve sam pokrivena do sada je bio prilično apstraktno, pa 109 00:05:22,220 --> 00:05:24,320 ajmo uvesti ove usporedbe u jednom posljednjem 110 00:05:24,320 --> 00:05:25,850 konkretnom primjeru. 111 00:05:25,850 --> 00:05:27,130 Pretpostavimo da postoje dvije varijable, 112 00:05:27,130 --> 00:05:29,430 temperatura i isHungry. 113 00:05:29,430 --> 00:05:31,560 Temperatura je decimalni broj, pa to može imati 114 00:05:31,560 --> 00:05:33,090 decimale. 115 00:05:33,090 --> 00:05:35,440 Vi ste programiranje vrlo jednostavan program koji vam govori 116 00:05:35,440 --> 00:05:38,270 netko što jesti, ovisno o temperaturi. 117 00:05:38,270 --> 00:05:41,010 Ako ste gladni, ai temperatura je veća od ili 118 00:05:41,010 --> 00:05:45,060 jednaka 100, možete ispisati jesti sladoled. 119 00:05:45,060 --> 00:05:48,370 Inače, ako ste gladni I I temperatura je manja od 120 00:05:48,370 --> 00:05:52,420 ili jednaka nuli, što printf može ("jesti začinjenu hranu"). 121 00:05:52,420 --> 00:05:55,200 Na kraju, ako niste gladni uopće, možete ispisati "ne 122 00:05:55,200 --> 00:05:56,710 jesti ništa. " 123 00:05:56,710 --> 00:06:00,130 >> Ja sam Vipul Shekhawat, a ovo je CS50.