1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] VIPUL SHEKHAWAT: Hi. 2 00:00:07,370 --> 00:00:09,410 Yn y fideo hwn byddaf yn eich cyflwyno i un o'r y rhan fwyaf o 3 00:00:09,410 --> 00:00:11,260 cysyniadau sylfaenol mewn rhesymeg a 4 00:00:11,260 --> 00:00:13,880 rhaglennu, y gwerth Boole. 5 00:00:13,880 --> 00:00:16,210 Os ydych yn chwilfrydig am yr enw, gwerthoedd Boole a 6 00:00:16,210 --> 00:00:19,440 amodau yn cael eu henwi ar ôl George Boole, 19eg ganrif 7 00:00:19,440 --> 00:00:22,030 mathemategydd a arloesodd hyn a elwir bellach Boolean 8 00:00:22,030 --> 00:00:23,980 rhesymeg, sydd wedi'i leoli gan grwpio a 9 00:00:23,980 --> 00:00:26,030 cymharu gwerthoedd Boolean. 10 00:00:26,030 --> 00:00:28,250 >> Felly beth yw gwerth Boole? 11 00:00:28,250 --> 00:00:30,920 Mae gwerth Boole yn newidyn mai dim ond dau y bo modd 12 00:00:30,920 --> 00:00:33,710 amodau, gwir a gau. 13 00:00:33,710 --> 00:00:35,380 Gallwch feddwl amdano fel swits golau. 14 00:00:35,380 --> 00:00:38,530 Gall fod yn naill ai ar neu oddi ar, yn wir neu'n anwir. 15 00:00:38,530 --> 00:00:41,880 Yn yr un modd, gall rhifau deuaidd fod naill ai un neu sero, sy'n 16 00:00:41,880 --> 00:00:45,680 yn cyfateb i yr un peth, yn wir neu'n anwir. 17 00:00:45,680 --> 00:00:46,840 Syml, dde? 18 00:00:46,840 --> 00:00:48,750 Mae'r cysyniad o newidyn Boole yn hawdd i'w 19 00:00:48,750 --> 00:00:51,720 deall, ond y ffyrdd y gallwch drin a 20 00:00:51,720 --> 00:00:54,570 eu cyfuno yn caniatáu ar gyfer llawer o fwy o gymhlethdod. 21 00:00:54,570 --> 00:00:57,030 Yn ychwanegol at y ddau werthoedd Boole sylfaenol, 22 00:00:57,030 --> 00:00:59,350 mae gweithredyddion Boole sy'n gallu cyfuno dau 23 00:00:59,350 --> 00:01:01,760 Gwerthoedd Boolean yn un sengl. 24 00:01:01,760 --> 00:01:03,540 >> Dau o'r rhai mwyaf sylfaenol, ond mae'r rhan fwyaf pwysig 25 00:01:03,540 --> 00:01:06,570 gweithredwyr, yn AND ac OR. 26 00:01:06,570 --> 00:01:09,950 Mae canlyniadau'r A gweithredwr yn arwain at werth wir yn unig os yw'r ddau 27 00:01:09,950 --> 00:01:14,630 gwerthoedd y mae'n eu cymryd yn wir, felly ffug A gwir yn ffug. 28 00:01:14,630 --> 00:01:17,540 Yn yr un modd, ffug A ffug yn ffug. 29 00:01:17,540 --> 00:01:21,080 Dim ond yn wir yn wir A yn hafal i wir. 30 00:01:21,080 --> 00:01:24,050 Mae'r canlyniadau gweithredwr OR yng ngwerth wir os oes un o'r 31 00:01:24,050 --> 00:01:25,620 gwerthoedd y mae'n ei gymryd yn wir. 32 00:01:25,620 --> 00:01:30,460 Felly ffug NEU ffug yn ffug, ond yn wir NEU ffug yn wir, ac 33 00:01:30,460 --> 00:01:33,710 wir NEU wir yn wir hefyd. 34 00:01:33,710 --> 00:01:36,560 NID yw'r gweithredwr yn syml yn cymryd newidyn Boolean ac yn rhoi 35 00:01:36,560 --> 00:01:37,830 i chi i'r gwrthwyneb o hynny. 36 00:01:37,830 --> 00:01:40,950 Felly, yn wir yn dod yn ffug a ffug yn dod yn wir. 37 00:01:40,950 --> 00:01:43,130 Os byddwch yn rhoi'r holl beth at ei gilydd, newidynnau â 38 00:01:43,130 --> 00:01:46,320 gweithredwyr, eich bod yn creu mynegiad Boole. 39 00:01:46,320 --> 00:01:48,550 >> Nawr gadewch i ni edrych ar enghraifft o hyn yn nythu Boole 40 00:01:48,550 --> 00:01:49,950 ymadroddion. 41 00:01:49,950 --> 00:01:51,840 Ydych chi'n cofio trefn y gweithrediadau? 42 00:01:51,840 --> 00:01:54,700 Fel gyda rhifau, gall mynegiadau Boole cael eu grwpio gan 43 00:01:54,700 --> 00:01:56,270 ddefnyddio cromfachau. 44 00:01:56,270 --> 00:02:00,150 Felly, mae yn y bôn 3 ymadroddion NID yma, z, y NEU 45 00:02:00,150 --> 00:02:04,740 NID z, a x A NEU NID y z. 46 00:02:04,740 --> 00:02:07,080 Gallwn chyfrif i maes y gwerthoedd hyn drwy edrych ar y 47 00:02:07,080 --> 00:02:09,020 y tu mewn ac yn gweithio ein ffordd allan. 48 00:02:09,020 --> 00:02:12,850 Felly, gadewch i ni debyg x yn wir, y mae'n wir, ac z yn wir hefyd. 49 00:02:12,850 --> 00:02:15,270 NI fyddai Beth z gwerthuso er mwyn? 50 00:02:15,270 --> 00:02:20,970 Ers i ni ddechrau gyda wir, byddai NI z syml fod yn ffug. 51 00:02:20,970 --> 00:02:26,230 Felly, erbyn hyn mae gennym ffug NEU y. 52 00:02:26,230 --> 00:02:29,740 Os ydych yn edrych ar ei ben, gallwch weld bod y yn wir, y NEU ffug 53 00:02:29,740 --> 00:02:32,870 byddai dal i fod ychydig yn wir. 54 00:02:32,870 --> 00:02:37,580 Yn olaf yr ydym ni, yn cael x A wir. 55 00:02:37,580 --> 00:02:39,300 Felly beth x A wir? 56 00:02:39,300 --> 00:02:42,590 x yn wir ac yn wir hefyd yn wir, felly y peth i gyd 57 00:02:42,590 --> 00:02:45,070 gwerthuso yn wir. 58 00:02:45,070 --> 00:02:47,270 >> Nesaf, gadewch i ni edrych ar sut mae'r mynegiadau Boole gall 59 00:02:47,270 --> 00:02:49,890 mewn gwirionedd yn cael ei ddefnyddio mewn iaith raglennu. 60 00:02:49,890 --> 00:02:52,900 Yn C, y gystrawen ar gyfer gweithrediadau Boolean yn ychydig yn wahanol 61 00:02:52,900 --> 00:02:55,520 o'r geiriau a, neu, ac nid. 62 00:02:55,520 --> 00:02:57,210 Gadewch i ni gynnwys y gystrawen. 63 00:02:57,210 --> 00:03:00,510 I ddefnyddio'r gweithredwr AND, rydym yn ysgrifennu ampersand dwbl. 64 00:03:00,510 --> 00:03:03,620 Mae'r gweithredwr NEU yn gymeriad pibell llinell ddwbl. 65 00:03:03,620 --> 00:03:05,780 Dyma'r llinell fertigol syth, a gallwch fwy na thebyg 66 00:03:05,780 --> 00:03:09,070 dod o hyd uwchben y Enter neu Dychwelyd bysellau ar eich bysellfwrdd. 67 00:03:09,070 --> 00:03:12,550 Ac NID y gweithredwr yn unig mohoni ebychnod. 68 00:03:12,550 --> 00:03:15,550 Felly, i ailysgrifennu'r mynegiant ein bod wedi o'r blaen, byddem yn unig 69 00:03:15,550 --> 00:03:27,010 ysgrifennu hyn && x y | |! z. 70 00:03:27,010 --> 00:03:29,250 Dyna dim ond gwneud yn union yr hyn a oedd gennym o'r blaen a throi 71 00:03:29,250 --> 00:03:31,870 i mewn C gystrawen. 72 00:03:31,870 --> 00:03:34,370 >> Nawr ein bod wedi cyfieithu ein mynegiad Boole ar i mewn i cod, 73 00:03:34,370 --> 00:03:36,160 sut yr ydym mewn gwirionedd yn ei ddefnyddio? 74 00:03:36,160 --> 00:03:38,170 Gadewch i ni ddweud ein bod wedi rhai cod ddylai mai dim ond gweithredu os 75 00:03:38,170 --> 00:03:40,330 mynegiant penodol yn wir. 76 00:03:40,330 --> 00:03:42,750 At y diben hwn, 'n bert lawer pob ieithoedd rhaglennu 77 00:03:42,750 --> 00:03:45,190 cefnogi'r cyflwr os. 78 00:03:45,190 --> 00:03:47,870 Gadewch i ni ddweud ein bod wedi newidyn Boole, x, ac rydym am rai 79 00:03:47,870 --> 00:03:50,850 cod i weithredu dim ond os x yn wir. 80 00:03:50,850 --> 00:03:54,900 Byddem yn syml, ysgrifennwch y gair os, yn rhoi cromfachau, ac yn rhoi 81 00:03:54,900 --> 00:03:57,800 y mynegiad Boole o fewn y cromfachau. 82 00:03:57,800 --> 00:03:59,680 Ar ôl hynny, rydym yn lapio y cod rydym am 83 00:03:59,680 --> 00:04:01,080 gweithredu mewn braces cyrliog. 84 00:04:07,160 --> 00:04:08,150 Beth os oes rhai cod hoffech chi 85 00:04:08,150 --> 00:04:10,260 gweithredu os nad yw x yn wir? 86 00:04:10,260 --> 00:04:13,310 Yn syml, ysgrifennwch y gair arall ar ôl y os, lapio datganiad 87 00:04:13,310 --> 00:04:16,930 y cod arall yn braces cyrliog, ac yna bydd y cod 88 00:04:16,930 --> 00:04:18,399 gweithredu os nad yw x yn wir. 89 00:04:26,640 --> 00:04:29,840 >> Arall lluniad iaith defnyddiol yn arall os. 90 00:04:29,840 --> 00:04:32,210 Gadewch i ni dybio mae dau Booleans yr hoffech eu hystyried, 91 00:04:32,210 --> 00:04:34,330 gadewch i ni eu galw x ac y. 92 00:04:34,330 --> 00:04:37,340 Rydym yn datgan newidynnau hyn fod yn wir ac yn ffug. 93 00:04:37,340 --> 00:04:40,540 Os yw x ac y yn wir, ydych yn gweithredu y bloc cyntaf o 94 00:04:40,540 --> 00:04:42,630 cod o fewn y braces cyrliog. 95 00:04:42,630 --> 00:04:46,470 Arall os x neu y yn wir, ydych yn gweithredu y bloc nesaf o 96 00:04:46,470 --> 00:04:50,590 cod, ac arall i chi weithredu y bloc olaf o god. 97 00:04:50,590 --> 00:04:52,650 Gweithio gyda gwerthoedd Boolean fel hyn yn ddefnyddiol, ond 98 00:04:52,650 --> 00:04:55,750 eich bod yn wir yn gyfyngedig yn unig i amodau ychydig. 99 00:04:55,750 --> 00:04:58,400 Gall Booleans dod yn llawer mwy pwerus pan fyddwch yn cyflwyno 100 00:04:58,400 --> 00:04:59,900 cymariaethau. 101 00:04:59,900 --> 00:05:01,280 Mae'r rhain yn ffyrdd i gymharu gwerthoedd sy'n 102 00:05:01,280 --> 00:05:03,300 Nid yn wreiddiol Boolean. 103 00:05:03,300 --> 00:05:06,060 I weld os yw dau gwerthoedd yr un fath, gallwch ddefnyddio hafal i 104 00:05:06,060 --> 00:05:09,340 yn hafal i, sydd yn wir os ydynt yn gyfartal a ffug os 105 00:05:09,340 --> 00:05:10,530 nad ydynt. 106 00:05:10,530 --> 00:05:15,360 Cymariaethau cyffredin eraill yn llai na, mwy na, llai 107 00:05:15,360 --> 00:05:19,740 na neu'n hafal i, ac yn fwy na neu'n hafal i. 108 00:05:19,740 --> 00:05:22,220 >> Mae popeth yr wyf wedi eu trafod hyd yn hyn wedi bod yn eithaf haniaethol, felly 109 00:05:22,220 --> 00:05:24,320 gadewch i ni gyflwyno cymariaethau hyn mewn un olaf ei 110 00:05:24,320 --> 00:05:25,850 enghraifft benodol. 111 00:05:25,850 --> 00:05:27,130 Gadewch i ni dybio bod dau newidyn, 112 00:05:27,130 --> 00:05:29,430 tymheredd a isHungry. 113 00:05:29,430 --> 00:05:31,560 Tymheredd yn rhif pwynt arnawf, fel y gellir ei gael 114 00:05:31,560 --> 00:05:33,090 leoedd degol. 115 00:05:33,090 --> 00:05:35,440 Rydych yn rhaglennu cais syml iawn sy'n dweud 116 00:05:35,440 --> 00:05:38,270 rywun beth i'w fwyta yn dibynnu ar y tymheredd. 117 00:05:38,270 --> 00:05:41,010 Os ydych chi'n eisiau bwyd, A A yw'r tymheredd yn fwy na neu'n 118 00:05:41,010 --> 00:05:45,060 cyfateb i 100, gallwch argraffu bwyta hufen iâ. 119 00:05:45,060 --> 00:05:48,370 Arall os oes chwant bwyd arnoch A A yw'r tymheredd yn llai na 120 00:05:48,370 --> 00:05:52,420 neu'n hafal i sero, gallwch printf ("bwyta bwyd sbeislyd"). 121 00:05:52,420 --> 00:05:55,200 Yn olaf, os nad ydych chi'n eisiau bwyd o gwbl, y gallwch ei hargraffu yn "gwneud 122 00:05:55,200 --> 00:05:56,710 bwyta unrhyw beth. " 123 00:05:56,710 --> 00:06:00,130 >> Yr wyf yn Shekhawat Vipul, ac mae hyn yn CS50.