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 Dalam video ini, saya akan memperkenalkan anda kepada salah satu yang paling 3 00:00:09,410 --> 00:00:11,260 konsep asas dalam logik dan 4 00:00:11,260 --> 00:00:13,880 pengaturcaraan, nilai Boolean. 5 00:00:13,880 --> 00:00:16,210 Jika anda ingin tahu tentang nama, nilai-nilai Boolean dan 6 00:00:16,210 --> 00:00:19,440 syarat-syarat yang dinamakan sempena George Boole, abad ke-19 7 00:00:19,440 --> 00:00:22,030 matematik yang mempelopori apa yang kini dikenali Boolean 8 00:00:22,030 --> 00:00:23,980 logik, yang berdasarkan oleh kumpulan dan 9 00:00:23,980 --> 00:00:26,030 membandingkan nilai Boolean. 10 00:00:26,030 --> 00:00:28,250 >> Jadi apakah nilai Boolean? 11 00:00:28,250 --> 00:00:30,920 Satu nilai Boolean adalah pembolehubah yang hanya mempunyai dua kemungkinan 12 00:00:30,920 --> 00:00:33,710 syarat, benar dan palsu. 13 00:00:33,710 --> 00:00:35,380 Anda boleh berfikir ia sebagai suis lampu. 14 00:00:35,380 --> 00:00:38,530 Ia boleh sama ada hidup atau mati, benar atau palsu. 15 00:00:38,530 --> 00:00:41,880 Begitu juga, nombor perduaan boleh menjadi salah satu atau sifar, yang 16 00:00:41,880 --> 00:00:45,680 adalah mirip kepada perkara yang sama, benar atau palsu. 17 00:00:45,680 --> 00:00:46,840 Mudah, bukan? 18 00:00:46,840 --> 00:00:48,750 Konsep pembolehubah Boolean adalah mudah untuk 19 00:00:48,750 --> 00:00:51,720 memahami, tetapi cara di mana anda boleh memanipulasi dan 20 00:00:51,720 --> 00:00:54,570 menggabungkan mereka membolehkan untuk banyak kerumitan yang lebih besar. 21 00:00:54,570 --> 00:00:57,030 Di samping dua nilai asas Boolean, 22 00:00:57,030 --> 00:00:59,350 terdapat banyak operator Boolean yang boleh menggabungkan dua 23 00:00:59,350 --> 00:01:01,760 Nilai Boolean ke dalam satu tunggal. 24 00:01:01,760 --> 00:01:03,540 >> Dua daripada yang paling asas, tetapi yang paling penting 25 00:01:03,540 --> 00:01:06,570 operator, AND dan OR. 26 00:01:06,570 --> 00:01:09,950 Pengendali AND keputusan dalam nilai benar hanya jika kedua-dua 27 00:01:09,950 --> 00:01:14,630 nilai-nilai yang diperlukan adalah benar, begitu palsu DAN benar adalah palsu. 28 00:01:14,630 --> 00:01:17,540 Begitu juga, palsu DAN palsu adalah palsu. 29 00:01:17,540 --> 00:01:21,080 Hanya benar DAN benar sama benar. 30 00:01:21,080 --> 00:01:24,050 Keputusan pengendali ATAU dalam nilai benar jika sama ada 31 00:01:24,050 --> 00:01:25,620 nilai-nilai yang diperlukan adalah benar. 32 00:01:25,620 --> 00:01:30,460 Jadi palsu ATAU palsu adalah palsu, tetapi benar ATAU palsu adalah benar, dan 33 00:01:30,460 --> 00:01:33,710 benar ATAU benar adalah juga benar. 34 00:01:33,710 --> 00:01:36,560 TIDAK pengendali hanya mengambil pembolehubah Boolean dan memberikan 35 00:01:36,560 --> 00:01:37,830 anda bertentangan dengan ia. 36 00:01:37,830 --> 00:01:40,950 Jadi benar menjadi palsu dan palsu menjadi benar. 37 00:01:40,950 --> 00:01:43,130 Jika anda meletakkan segala-galanya bersama-sama, pembolehubah dengan 38 00:01:43,130 --> 00:01:46,320 operator, anda mencipta ungkapan Boolean. 39 00:01:46,320 --> 00:01:48,550 >> Sekarang mari kita lihat pada contoh bersarang ini Boolean 40 00:01:48,550 --> 00:01:49,950 ungkapan. 41 00:01:49,950 --> 00:01:51,840 Adakah anda ingat perintah operasi? 42 00:01:51,840 --> 00:01:54,700 Seperti dengan nombor, ungkapan Boolean boleh dikumpulkan oleh 43 00:01:54,700 --> 00:01:56,270 menggunakan kurungan. 44 00:01:56,270 --> 00:02:00,150 Jadi terdapat pada asasnya tiga ungkapan di sini, TIDAK z, y ATAU 45 00:02:00,150 --> 00:02:04,740 TIDAK z, dan x DAN y ATAU TIDAK z. 46 00:02:04,740 --> 00:02:07,080 Kita boleh memikirkan nilai ini dengan melihat 47 00:02:07,080 --> 00:02:09,020 di dalam dan bekerja cara kita keluar. 48 00:02:09,020 --> 00:02:12,850 Jadi mari kita andaikan x benar, y adalah benar, dan z adalah juga benar. 49 00:02:12,850 --> 00:02:15,270 Apa yang akan TIDAK z menilai? 50 00:02:15,270 --> 00:02:20,970 Sejak kita mula dengan benar, TIDAK z hanya akan menjadi palsu. 51 00:02:20,970 --> 00:02:26,230 Jadi sekarang kita mempunyai palsu ATAU y. 52 00:02:26,230 --> 00:02:29,740 Jika anda lihat di atas, anda boleh melihat bahawa y adalah benar, y ATAU palsu 53 00:02:29,740 --> 00:02:32,870 akan masih hanya menjadi kenyataan. 54 00:02:32,870 --> 00:02:37,580 Akhir sekali kita mempunyai x DAN benar. 55 00:02:37,580 --> 00:02:39,300 Jadi apa yang x DAN benar? 56 00:02:39,300 --> 00:02:42,590 x adalah benar dan benar juga adalah benar, jadi perkara ini keseluruhan 57 00:02:42,590 --> 00:02:45,070 menilai benar. 58 00:02:45,070 --> 00:02:47,270 >> Seterusnya, mari kita lihat bagaimana ungkapan Boolean ini boleh 59 00:02:47,270 --> 00:02:49,890 sebenarnya yang digunakan dalam bahasa pengaturcaraan. 60 00:02:49,890 --> 00:02:52,900 Di C, sintaks untuk operasi Boolean adalah sedikit berbeza 61 00:02:52,900 --> 00:02:55,520 dari perkataan dan, atau, dan tidak. 62 00:02:55,520 --> 00:02:57,210 Mari kita meliputi sintaks. 63 00:02:57,210 --> 00:03:00,510 Untuk menggunakan pengendali DAN, kita menulis #: glib double. 64 00:03:00,510 --> 00:03:03,620 Pengendali ATAU adalah watak talian paip double. 65 00:03:03,620 --> 00:03:05,780 Ini adalah garis lurus menegak, yang anda boleh mungkin 66 00:03:05,780 --> 00:03:09,070 mendapati di atas Masukkan atau Kembalikan kekunci pada keyboard anda. 67 00:03:09,070 --> 00:03:12,550 Dan TIDAK pengendali adalah hanya satu tanda seru. 68 00:03:12,550 --> 00:03:15,550 Jadi untuk menulis semula ungkapan kita sebelum ini, kita akan hanya 69 00:03:15,550 --> 00:03:27,010 menulis ini && x y | | z. 70 00:03:27,010 --> 00:03:29,250 Itu hanya mengambil apa yang kita sebelum dan beralih 71 00:03:29,250 --> 00:03:31,870 ia ke dalam sintaks C. 72 00:03:31,870 --> 00:03:34,370 >> Sekarang kita telah diterjemahkan ungkapan Boolean kami ke dalam kod, 73 00:03:34,370 --> 00:03:36,160 bagaimana kita sebenarnya menggunakan ia? 74 00:03:36,160 --> 00:03:38,170 Mari kita mengatakan bahawa kita mempunyai beberapa kod yang hanya perlu melaksanakan jika 75 00:03:38,170 --> 00:03:40,330 ungkapan tertentu adalah benar. 76 00:03:40,330 --> 00:03:42,750 Bagi tujuan ini, cukup banyak semua bahasa pengaturcaraan 77 00:03:42,750 --> 00:03:45,190 menyokong keadaan jika. 78 00:03:45,190 --> 00:03:47,870 Katakan kita mempunyai pembolehubah Boolean, x, dan kami mahu beberapa 79 00:03:47,870 --> 00:03:50,850 kod untuk melaksanakan hanya jika x adalah benar. 80 00:03:50,850 --> 00:03:54,900 Kita hanya akan menulis perkataan jika, meletakkan kurungan, dan meletakkan 81 00:03:54,900 --> 00:03:57,800 ungkapan Boolean dalam kurungan mereka. 82 00:03:57,800 --> 00:03:59,680 Selepas itu, kami membalut kod yang kami mahu 83 00:03:59,680 --> 00:04:01,080 melaksanakan dalam pendakap kerinting. 84 00:04:07,160 --> 00:04:08,150 Bagaimana jika terdapat beberapa kod yang anda ingin 85 00:04:08,150 --> 00:04:10,260 melaksanakan jika x adalah tidak benar? 86 00:04:10,260 --> 00:04:13,310 Hanya menulis perkataan lain selepas balut jika kenyataan, 87 00:04:13,310 --> 00:04:16,930 kod lain dalam pendakap kerinting, dan kemudian kod yang akan 88 00:04:16,930 --> 00:04:18,399 melaksanakan jika x adalah tidak benar. 89 00:04:26,640 --> 00:04:29,840 >> Satu lagi membina bahasa berguna lain jika. 90 00:04:29,840 --> 00:04:32,210 Katakan terdapat dua Booleans anda ingin mempertimbangkan, 91 00:04:32,210 --> 00:04:34,330 mari kita memanggil mereka x dan y. 92 00:04:34,330 --> 00:04:37,340 Kami mengisytiharkan pembolehubah ini untuk menjadi benar dan palsu. 93 00:04:37,340 --> 00:04:40,540 Jika x dan y adalah benar, anda melaksanakan blok pertama 94 00:04:40,540 --> 00:04:42,630 kod dalam mereka pendakap kerinting. 95 00:04:42,630 --> 00:04:46,470 Else if x atau y adalah benar, anda melaksanakan blok seterusnya 96 00:04:46,470 --> 00:04:50,590 kod, dan lain anda melaksanakan blok terakhir kod. 97 00:04:50,590 --> 00:04:52,650 Bekerja dengan nilai-nilai Boolean seperti ini adalah berguna, tetapi 98 00:04:52,650 --> 00:04:55,750 anda benar-benar hanya terhad kepada beberapa syarat. 99 00:04:55,750 --> 00:04:58,400 Booleans boleh menjadi lebih kuat apabila anda memperkenalkan 100 00:04:58,400 --> 00:04:59,900 perbandingan. 101 00:04:59,900 --> 00:05:01,280 Ini adalah cara untuk membandingkan nilai-nilai yang 102 00:05:01,280 --> 00:05:03,300 asalnya tidak Boolean. 103 00:05:03,300 --> 00:05:06,060 Untuk melihat jika dua nilai yang sama, anda boleh menggunakan sama 104 00:05:06,060 --> 00:05:09,340 sama, yang benar jika mereka sama dan palsu jika 105 00:05:09,340 --> 00:05:10,530 mereka tidak. 106 00:05:10,530 --> 00:05:15,360 Lain-lain perbandingan biasa adalah kurang daripada, lebih daripada, kurang 107 00:05:15,360 --> 00:05:19,740 daripada atau sama dengan, dan lebih besar daripada atau sama dengan. 108 00:05:19,740 --> 00:05:22,220 >> Semua yang saya telah dilindungi setakat telah cukup abstrak, jadi 109 00:05:22,220 --> 00:05:24,320 mari kita memperkenalkan perbandingan ini dalam satu lepas 110 00:05:24,320 --> 00:05:25,850 contoh konkrit. 111 00:05:25,850 --> 00:05:27,130 Katakan terdapat dua pembolehubah, 112 00:05:27,130 --> 00:05:29,430 suhu dan isHungry. 113 00:05:29,430 --> 00:05:31,560 Suhu adalah nombor titik apung, jadi ia boleh mempunyai 114 00:05:31,560 --> 00:05:33,090 tempat perpuluhan. 115 00:05:33,090 --> 00:05:35,440 Anda pengaturcaraan aplikasi yang sangat mudah yang menceritakan 116 00:05:35,440 --> 00:05:38,270 seseorang apa yang perlu makan bergantung kepada suhu. 117 00:05:38,270 --> 00:05:41,010 Jika anda lapar, DAN suhu adalah lebih besar atau 118 00:05:41,010 --> 00:05:45,060 bersamaan dengan 100, anda boleh mencetak makan ais krim. 119 00:05:45,060 --> 00:05:48,370 Lain jika anda lapar DAN suhu adalah kurang daripada 120 00:05:48,370 --> 00:05:52,420 atau sama dengan sifar, anda boleh printf ("makan makanan pedas"). 121 00:05:52,420 --> 00:05:55,200 Akhir sekali, jika anda tidak lapar pada semua, anda boleh mencetak "tidak 122 00:05:55,200 --> 00:05:56,710 makan apa-apa. " 123 00:05:56,710 --> 00:06:00,130 >> Saya pagi Shekhawat Vipul, dan ini adalah CS50.