1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] VIPUL SHEKHAWAT: Živjo. 2 00:00:07,370 --> 00:00:09,410 V tem videu bom vas uvesti v enem od najbolj 3 00:00:09,410 --> 00:00:11,260 temeljnih konceptov v logiki in 4 00:00:11,260 --> 00:00:13,880 programiranje, logično vrednost. 5 00:00:13,880 --> 00:00:16,210 Če ste radovedni ime, logičnih vrednosti in 6 00:00:16,210 --> 00:00:19,440 Pogoji so poimenovane po George Boole, 19. stoletje 7 00:00:19,440 --> 00:00:22,030 matematik, ki je začetnik, kar danes imenujemo Logični 8 00:00:22,030 --> 00:00:23,980 logika, ki temelji, ki jih skupina in 9 00:00:23,980 --> 00:00:26,030 primerjave logičnih vrednosti. 10 00:00:26,030 --> 00:00:28,250 >> Torej, kaj je logično vrednost? 11 00:00:28,250 --> 00:00:30,920 Logična vrednost je spremenljivka, ki ima samo 2 možni 12 00:00:30,920 --> 00:00:33,710 pogoji, pravih in napačnih. 13 00:00:33,710 --> 00:00:35,380 Lahko si o njej mislijo kot stikalo za luč. 14 00:00:35,380 --> 00:00:38,530 To je lahko bodisi na ali izključite, resnična ali neresnična. 15 00:00:38,530 --> 00:00:41,880 Podobno lahko binarne številke lahko eno ali nič, kar 16 00:00:41,880 --> 00:00:45,680 je analogna isto stvar, resnična ali neresnična. 17 00:00:45,680 --> 00:00:46,840 Enostavno, kajne? 18 00:00:46,840 --> 00:00:48,750 Pojem Boolove spremenljivke je enostavno 19 00:00:48,750 --> 00:00:51,720 Razumem, ampak načine, na katere lahko spreminjate in 20 00:00:51,720 --> 00:00:54,570 jih združiti omogoča veliko bolj zapleten. 21 00:00:54,570 --> 00:00:57,030 Poleg dveh temeljnih logičnih vrednosti, 22 00:00:57,030 --> 00:00:59,350 obstaja veliko logične operaterje, ki lahko združujejo 2 23 00:00:59,350 --> 00:01:01,760 Boolove vrednosti v eno samo. 24 00:01:01,760 --> 00:01:03,540 >> Dva izmed najbolj osnovne, vendar najpomembnejše 25 00:01:03,540 --> 00:01:06,570 Operaterji so AND in OR. 26 00:01:06,570 --> 00:01:09,950 AND operator kaže v vrednosti velja le, če sta 27 00:01:09,950 --> 00:01:14,630 Vrednote, ki jih sprejme na resnične, tako napačne in res je napačen. 28 00:01:14,630 --> 00:01:17,540 Prav tako false false IN napačen. 29 00:01:17,540 --> 00:01:21,080 Edina prava in resnična enako res. 30 00:01:21,080 --> 00:01:24,050 Ali, da operater rezultati v vrednosti velja, če bodisi od 31 00:01:24,050 --> 00:01:25,620 Vrednote, ki jih sprejme na resnične. 32 00:01:25,620 --> 00:01:30,460 Torej false false ali je napačen, ampak resnična ali neresnična je res, 33 00:01:30,460 --> 00:01:33,710 Drži ali ne drži, je tudi res. 34 00:01:33,710 --> 00:01:36,560 NOT operater preprosto vzame Boolova spremenljivka in daje 35 00:01:36,560 --> 00:01:37,830 ste ravno nasprotno od tega. 36 00:01:37,830 --> 00:01:40,950 Torej, res postane false false in postane resnica. 37 00:01:40,950 --> 00:01:43,130 Če si dal vso stvar skupaj, spremenljivke z 38 00:01:43,130 --> 00:01:46,320 operaterji, ustvarite logični izraz. 39 00:01:46,320 --> 00:01:48,550 >> Zdaj pa si oglejmo primer gnezdenja teh logičnim 40 00:01:48,550 --> 00:01:49,950 izrazi. 41 00:01:49,950 --> 00:01:51,840 Se spomniš vrstnega reda operacij? 42 00:01:51,840 --> 00:01:54,700 Ker s številkami, lahko logični izrazi razporediti po 43 00:01:54,700 --> 00:01:56,270 uporabo oklepajev. 44 00:01:56,270 --> 00:02:00,150 Torej so v bistvu tri izraze tukaj, ne Z, Y ali 45 00:02:00,150 --> 00:02:04,740 NE z, ter X in Y ali ne z. 46 00:02:04,740 --> 00:02:07,080 Mi lahko ugotovimo, vrednosti teh, ki jih je videti na 47 00:02:07,080 --> 00:02:09,020 notranjosti in delovnih svojo pot ven. 48 00:02:09,020 --> 00:02:12,850 Torej predvidevam x je res, je res, y in z je tudi res. 49 00:02:12,850 --> 00:02:15,270 Kaj ne bi bilo z oceno, da? 50 00:02:15,270 --> 00:02:20,970 Ker smo začeli s to res, ne bi z preprosto napačno. 51 00:02:20,970 --> 00:02:26,230 Torej, zdaj imamo napačne ali y. 52 00:02:26,230 --> 00:02:29,740 Če pogledate na vrhu, lahko vidite, da je res, y, y ali napačne 53 00:02:29,740 --> 00:02:32,870 še vedno le bilo res. 54 00:02:32,870 --> 00:02:37,580 Na koncu smo imeli x in resnične. 55 00:02:37,580 --> 00:02:39,300 Torej, kaj je x in res? 56 00:02:39,300 --> 00:02:42,590 x je res in res je tudi res, da je to stvar 57 00:02:42,590 --> 00:02:45,070 ovrednoten kot resničen. 58 00:02:45,070 --> 00:02:47,270 >> Naprej, pa si poglejmo, kako lahko ti logični izrazi 59 00:02:47,270 --> 00:02:49,890 dejansko uporabo v programskem jeziku. 60 00:02:49,890 --> 00:02:52,900 V C sintakso za logičnih operacij je nekoliko drugačen 61 00:02:52,900 --> 00:02:55,520 iz besed in, ali, ne. 62 00:02:55,520 --> 00:02:57,210 Naj zajema sintakso. 63 00:02:57,210 --> 00:03:00,510 Za uporabo in izvajalec, pišemo dvojni 'in' znak. 64 00:03:00,510 --> 00:03:03,620 Najbolj oddaljene subjekt dvojno Naftovod značaj. 65 00:03:03,620 --> 00:03:05,780 To je naravnost navpična črta, ki lahko najverjetneje 66 00:03:05,780 --> 00:03:09,070 je bil nad Enter ali tipk na tipkovnici. 67 00:03:09,070 --> 00:03:12,550 In NE upravljavec je preprosto klicaj. 68 00:03:12,550 --> 00:03:15,550 Torej, da bi znova izraža smo imeli prej, da bomo le 69 00:03:15,550 --> 00:03:27,010 napisati to x && y | |! z. 70 00:03:27,010 --> 00:03:29,250 To je samo ob točno tisto, kar smo imeli pred vrtenjem 71 00:03:29,250 --> 00:03:31,870 je v skladnji C. 72 00:03:31,870 --> 00:03:34,370 >> Zdaj, ko smo prevedli naši logični izraz v kodo, 73 00:03:34,370 --> 00:03:36,160 kako dejansko uporabljajo? 74 00:03:36,160 --> 00:03:38,170 Recimo, da imamo nekaj kode, da bi morala izvršiti le, če 75 00:03:38,170 --> 00:03:40,330 nekatere izraz je res. 76 00:03:40,330 --> 00:03:42,750 Za ta namen, precej vsi programski jeziki 77 00:03:42,750 --> 00:03:45,190 podpiram, če stanje. 78 00:03:45,190 --> 00:03:47,870 Recimo, da imamo logično spremenljivko x, in želimo, da nekateri 79 00:03:47,870 --> 00:03:50,850 Koda za izvedbo le, če je x res. 80 00:03:50,850 --> 00:03:54,900 Mi bi preprosto napisati besedo, če se postavi oklepaje, in jo 81 00:03:54,900 --> 00:03:57,800 z logičnim izrazom v teh oklepajih. 82 00:03:57,800 --> 00:03:59,680 Po tem, zavijemo kodo, ki jo želimo 83 00:03:59,680 --> 00:04:01,080 izvajajo v zavitih oklepajih. 84 00:04:07,160 --> 00:04:08,150 Kaj pa, če je to del kode bi radi 85 00:04:08,150 --> 00:04:10,260 izvršiti, če x ni res? 86 00:04:10,260 --> 00:04:13,310 Preprosto napisati besedo drugje po če izjavo, zaviti 87 00:04:13,310 --> 00:04:16,930 drugo kodo v zavitih oklepajih, nato pa, da se bo številka 88 00:04:16,930 --> 00:04:18,399 izvršiti, če x ni res. 89 00:04:26,640 --> 00:04:29,840 >> Še en koristen jezik konstrukt if. 90 00:04:29,840 --> 00:04:32,210 Recimo, da obstajata dve Booleans, ki jih želite, da razmisli, 91 00:04:32,210 --> 00:04:34,330 recimo jim x in y. 92 00:04:34,330 --> 00:04:37,340 Izjavljamo, te spremenljivke biti resnična in neresnična. 93 00:04:37,340 --> 00:04:40,540 Če sta x in y velja, da izvede prvi blok 94 00:04:40,540 --> 00:04:42,630 Koda znotraj teh zavitih oklepajih. 95 00:04:42,630 --> 00:04:46,470 If x ali y res lahko poženete naslednji blok 96 00:04:46,470 --> 00:04:50,590 kode in še kaj izvesti zadnji blok kode. 97 00:04:50,590 --> 00:04:52,650 Delo z logičnih vrednosti, kot je to koristno, vendar 98 00:04:52,650 --> 00:04:55,750 ti si res omejen le na nekaj pogojev. 99 00:04:55,750 --> 00:04:58,400 Booleans lahko postal veliko močnejši, če uvedejo 100 00:04:58,400 --> 00:04:59,900 primerjave. 101 00:04:59,900 --> 00:05:01,280 To so načini za primerjavo vrednosti, ki so 102 00:05:01,280 --> 00:05:03,300 prvotno ni logično. 103 00:05:03,300 --> 00:05:06,060 Da vidim, če dve vrednosti enaki, lahko uporabite enako 104 00:05:06,060 --> 00:05:09,340 enako, kar je res, če si enaki in če je napačna 105 00:05:09,340 --> 00:05:10,530 niso. 106 00:05:10,530 --> 00:05:15,360 Drugi pogosti primerjave so manj, kot več, manj 107 00:05:15,360 --> 00:05:19,740 od ali enaka in je večja ali enaka. 108 00:05:19,740 --> 00:05:22,220 >> Vse, kar sem do sedaj pokriva že precej abstraktno, zato 109 00:05:22,220 --> 00:05:24,320 kaj je uvedel te primerjave v eni zadnjih 110 00:05:24,320 --> 00:05:25,850 Konkreten primer. 111 00:05:25,850 --> 00:05:27,130 Denimo, da obstajajo dve spremenljivki, 112 00:05:27,130 --> 00:05:29,430 temperatura in isHungry. 113 00:05:29,430 --> 00:05:31,560 Temperatura je število s plavajočo vejico, tako da lahko 114 00:05:31,560 --> 00:05:33,090 decimalni mesti. 115 00:05:33,090 --> 00:05:35,440 Saj programiranje zelo enostavno uporabo, ki pove, 116 00:05:35,440 --> 00:05:38,270 kdo, kaj bodo jedli, odvisno od temperature. 117 00:05:38,270 --> 00:05:41,010 Če ste lačni, in in je temperatura večja ali 118 00:05:41,010 --> 00:05:45,060 enak 100, lahko natisnete jedo sladoled. 119 00:05:45,060 --> 00:05:48,370 Drugače, če ste lačni in in je temperatura nižja od 120 00:05:48,370 --> 00:05:52,420 ali enaka nič, se lahko printf ("jesti začinjeno hrano"). 121 00:05:52,420 --> 00:05:55,200 Končno, če nisi lačen sploh lahko natisnete "ne 122 00:05:55,200 --> 00:05:56,710 jesti. " 123 00:05:56,710 --> 00:06:00,130 >> Jaz sem Vipul Shekhawat, in to je CS50.