1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] Vipul Shekhawat: Hallo. 2 00:00:07,370 --> 00:00:09,410 In diesem Video werde ich führen Sie in einer der 3 00:00:09,410 --> 00:00:11,260 grundlegende Konzepte in der Logik und 4 00:00:11,260 --> 00:00:13,880 Programmierung, die den booleschen Wert. 5 00:00:13,880 --> 00:00:16,210 Wenn Sie neugierig sind, den Namen, die boolesche Werte und 6 00:00:16,210 --> 00:00:19,440 Bedingungen sind nach George Boole, aus dem 19. Jahrhundert benannt 7 00:00:19,440 --> 00:00:22,030 Mathematiker Vorreiter, was heißt jetzt Boolean 8 00:00:22,030 --> 00:00:23,980 Logik, die durch Gruppierung basiert und 9 00:00:23,980 --> 00:00:26,030 Vergleichen boolesche Werte. 10 00:00:26,030 --> 00:00:28,250 >> Also, was ist ein boolescher Wert? 11 00:00:28,250 --> 00:00:30,920 Ein boolescher Wert, eine Variable, die nur zwei mögliche 12 00:00:30,920 --> 00:00:33,710 Bedingungen, wahr und falsch. 13 00:00:33,710 --> 00:00:35,380 Sie können es wie ein Lichtschalter denken. 14 00:00:35,380 --> 00:00:38,530 Es kann entweder ein-oder ausschalten, wahr oder falsch sein. 15 00:00:38,530 --> 00:00:41,880 Ähnlich kann Binärzahlen entweder eins oder null ist, die 16 00:00:41,880 --> 00:00:45,680 ist analog zu der gleichen Sache, wahr oder falsch. 17 00:00:45,680 --> 00:00:46,840 Einfach, oder? 18 00:00:46,840 --> 00:00:48,750 Das Konzept einer booleschen Variable ist einfach 19 00:00:48,750 --> 00:00:51,720 verstehen, aber die Art und Weise, in der Sie zu manipulieren und kann 20 00:00:51,720 --> 00:00:54,570 kombinieren sie erlaubt weitaus größerer Komplexität. 21 00:00:54,570 --> 00:00:57,030 Zusätzlich zu den zwei grundlegenden Booleschen Werte, 22 00:00:57,030 --> 00:00:59,350 es gibt viele Boolean Operatoren, kombinieren zwei können 23 00:00:59,350 --> 00:01:01,760 Boolesche Werte zu einem einzigen. 24 00:01:01,760 --> 00:01:03,540 >> Zwei der einfachsten, aber am wichtigsten 25 00:01:03,540 --> 00:01:06,570 Betreiber sind AND und OR. 26 00:01:06,570 --> 00:01:09,950 Die UND-Verknüpfung ergibt sich ein Wert von nur wahr, wenn beide 27 00:01:09,950 --> 00:01:14,630 die Werte dauert es wahr sind, ist so falsch UND true false. 28 00:01:14,630 --> 00:01:17,540 Ebenso falsch ist, und false false. 29 00:01:17,540 --> 00:01:21,080 Nur wahr UND wahr gleich wahr. 30 00:01:21,080 --> 00:01:24,050 Die ODER-Verknüpfung ergibt den Wert true, wenn entweder der 31 00:01:24,050 --> 00:01:25,620 Werte dauert es wahr sind. 32 00:01:25,620 --> 00:01:30,460 So falsch ODER falsch falsch ist, sondern wahr oder falsch ist wahr, und 33 00:01:30,460 --> 00:01:33,710 wahr ODER wahr ist auch wahr. 34 00:01:33,710 --> 00:01:36,560 Der NOT-Operator nimmt einfach eine boolsche Variable und gibt 35 00:01:36,560 --> 00:01:37,830 Sie das Gegenteil davon. 36 00:01:37,830 --> 00:01:40,950 So wahr wird falsch und falsch wird wahr. 37 00:01:40,950 --> 00:01:43,130 Wenn Sie das Ganze zusammen, Variablen mit 38 00:01:43,130 --> 00:01:46,320 Betreiber, erstellen Sie einen booleschen Ausdruck. 39 00:01:46,320 --> 00:01:48,550 >> Nun wollen wir an einem Beispiel der Verschachtelung dieser Boolean aussehen 40 00:01:48,550 --> 00:01:49,950 Ausdrücke. 41 00:01:49,950 --> 00:01:51,840 Erinnerst du dich an die Reihenfolge der Operationen? 42 00:01:51,840 --> 00:01:54,700 Wie mit Zahlen, können boolesche Ausdrücke gruppiert werden 43 00:01:54,700 --> 00:01:56,270 Verwendung von Klammern. 44 00:01:56,270 --> 00:02:00,150 So gibt es grundsätzlich drei Ausdrücke hier NICHT z, y OR 45 00:02:00,150 --> 00:02:04,740 NICHT z, und X und Y OR NOT z. 46 00:02:04,740 --> 00:02:07,080 Wir können herausfinden, die Werte von diesen, indem Sie die 47 00:02:07,080 --> 00:02:09,020 Innen-und Arbeitsbedingungen unserer Abreise. 48 00:02:09,020 --> 00:02:12,850 Also lassen Sie uns annehmen, x wahr ist, ist y wahr ist, und z ist auch wahr. 49 00:02:12,850 --> 00:02:15,270 Was würde NICHT z auszuwerten, um? 50 00:02:15,270 --> 00:02:20,970 Da wir mit echten starten, würde nicht z einfach falsch sein. 51 00:02:20,970 --> 00:02:26,230 So jetzt haben wir falsch ODER y. 52 00:02:26,230 --> 00:02:29,740 Wenn Sie an der Spitze schauen, sehen Sie, dass y wahr, y oder falsch ist 53 00:02:29,740 --> 00:02:32,870 würde gerade noch wahr zu sein. 54 00:02:32,870 --> 00:02:37,580 Schließlich haben wir, x und wahr. 55 00:02:37,580 --> 00:02:39,300 Also, was ist x UND wahr? 56 00:02:39,300 --> 00:02:42,590 x ist wahr, und wahr ist auch wahr, so dass diese ganze Sache 57 00:02:42,590 --> 00:02:45,070 true ergibt. 58 00:02:45,070 --> 00:02:47,270 >> Als nächstes wollen wir, wie diese Boolesche Ausdrücke aussehen kann 59 00:02:47,270 --> 00:02:49,890 tatsächlich in einer Programmiersprache verwendet werden. 60 00:02:49,890 --> 00:02:52,900 In C, ist die Syntax für Boolesche Operationen ein bisschen anders 61 00:02:52,900 --> 00:02:55,520 von den Worten und, oder, und nicht. 62 00:02:55,520 --> 00:02:57,210 Lassen Sie decken die Syntax. 63 00:02:57,210 --> 00:03:00,510 Um den AND-Operator verwenden, schreiben wir eine doppelte kaufmännisches. 64 00:03:00,510 --> 00:03:03,620 Der OR-Operator ist eine doppelte Rohrleitung Charakter. 65 00:03:03,620 --> 00:03:05,780 Dies ist der gerade vertikale Linie, die kann man wohl 66 00:03:05,780 --> 00:03:09,070 finden Sie oben die Eingabetaste auf Ihrer Tastatur. 67 00:03:09,070 --> 00:03:12,550 Und der NOT-Operator ist einfach ein Ausrufezeichen. 68 00:03:12,550 --> 00:03:15,550 So umschreiben die Expression wir vorher hatten wir würden nur 69 00:03:15,550 --> 00:03:27,010 dies schreibe x && y | |! z. 70 00:03:27,010 --> 00:03:29,250 Das ist nur unter genau das, was wir vorher hatten und Drehen 71 00:03:29,250 --> 00:03:31,870 es in C-Syntax. 72 00:03:31,870 --> 00:03:34,370 >> Nun, da wir unseren Boolean Ausdruck in Code übersetzt, 73 00:03:34,370 --> 00:03:36,160 Wie können wir ihn tatsächlich verwenden? 74 00:03:36,160 --> 00:03:38,170 Sagen wir, wir haben einige Code, der nur ausgeführt werden soll, wenn ein 75 00:03:38,170 --> 00:03:40,330 bestimmten Ausdruck wahr ist. 76 00:03:40,330 --> 00:03:42,750 Zu diesem Zweck, so ziemlich alle Programmiersprachen 77 00:03:42,750 --> 00:03:45,190 unterstützt die if-Bedingung. 78 00:03:45,190 --> 00:03:47,870 Sagen wir, wir haben eine boolesche Variable, x, und wir wollen einige 79 00:03:47,870 --> 00:03:50,850 Code auszuführen, wenn x gilt. 80 00:03:50,850 --> 00:03:54,900 Wir würden einfach schreiben Sie das Wort, wenn darauf, Klammern und legte 81 00:03:54,900 --> 00:03:57,800 der boolesche Ausdruck innerhalb dieser Klammern. 82 00:03:57,800 --> 00:03:59,680 Danach wickeln wir den Code wollen wir 83 00:03:59,680 --> 00:04:01,080 Ausführung in geschweiften Klammern. 84 00:04:07,160 --> 00:04:08,150 Was ist, wenn es gibt einige Code, den Sie möchten, 85 00:04:08,150 --> 00:04:10,260 ausgeführt, wenn x nicht wahr ist? 86 00:04:10,260 --> 00:04:13,310 Schreiben Sie einfach das Wort auch nach der if-Anweisung, wrap 87 00:04:13,310 --> 00:04:16,930 der andere Code in geschweiften Klammern, und dann, dass der Code wird 88 00:04:16,930 --> 00:04:18,399 ausgeführt, wenn x ist nicht wahr. 89 00:04:26,640 --> 00:04:29,840 >> Eine weitere nützliche Sprache Konstrukt else if. 90 00:04:29,840 --> 00:04:32,210 Angenommen, es gibt zwei Booleans Sie gerne in Betracht ziehen würden, 91 00:04:32,210 --> 00:04:34,330 nennen wir sie x und y. 92 00:04:34,330 --> 00:04:37,340 Wir erklären diese Variablen wahr und falsch sein. 93 00:04:37,340 --> 00:04:40,540 Wenn x und y erfüllt sind, Ausführen man den ersten Block von 94 00:04:40,540 --> 00:04:42,630 Code innerhalb dieser geschweiften Klammern. 95 00:04:42,630 --> 00:04:46,470 Else if x oder y wahr sind, führen Sie den nächsten Block von 96 00:04:46,470 --> 00:04:50,590 Code, und was Sie ausführen den letzten Block des Codes. 97 00:04:50,590 --> 00:04:52,650 Arbeiten mit Boolean Werte wie dies ist nützlich, aber 98 00:04:52,650 --> 00:04:55,750 Sie sind wirklich nur ein paar Bedingungen begrenzt. 99 00:04:55,750 --> 00:04:58,400 Booleans kann sich viel stärker, wenn Ihnen vorstellen 100 00:04:58,400 --> 00:04:59,900 Vergleiche. 101 00:04:59,900 --> 00:05:01,280 Dies sind Möglichkeiten, um Werte, die zu vergleichen 102 00:05:01,280 --> 00:05:03,300 ursprünglich nicht Boolean. 103 00:05:03,300 --> 00:05:06,060 Um festzustellen, ob zwei Werte gleich sind, können Sie gleich 104 00:05:06,060 --> 00:05:09,340 entspricht, was wahr ist, wenn sie gleich falsch, wenn du 105 00:05:09,340 --> 00:05:10,530 sie sind nicht. 106 00:05:10,530 --> 00:05:15,360 Andere häufige Vergleiche sind kleiner als, größer als, kleiner 107 00:05:15,360 --> 00:05:19,740 als oder gleich und größer als oder gleich. 108 00:05:19,740 --> 00:05:22,220 >> Alles, was ich habe, so weit abgedeckt ist ziemlich abstrakt, so 109 00:05:22,220 --> 00:05:24,320 Lassen Sie uns nun diese Vergleiche in einem letzten 110 00:05:24,320 --> 00:05:25,850 konkretes Beispiel. 111 00:05:25,850 --> 00:05:27,130 Angenommen, es gibt zwei Variablen, 112 00:05:27,130 --> 00:05:29,430 Temperatur und isHungry. 113 00:05:29,430 --> 00:05:31,560 Die Temperatur ist eine Gleitkommazahl, so kann 114 00:05:31,560 --> 00:05:33,090 Dezimalstellen. 115 00:05:33,090 --> 00:05:35,440 Sie programmieren eine sehr einfache Anwendung, die sagt, 116 00:05:35,440 --> 00:05:38,270 jemand, was in Abhängigkeit von der Temperatur zu essen. 117 00:05:38,270 --> 00:05:41,010 Wenn Sie hungrig, und und die Temperatur größer oder 118 00:05:41,010 --> 00:05:45,060 gleich 100, können Sie ausdrucken Eis essen. 119 00:05:45,060 --> 00:05:48,370 Else, wenn Sie hungrig sind und und die Temperatur weniger als 120 00:05:48,370 --> 00:05:52,420 oder gleich Null, können Sie printf ("scharf essen"). 121 00:05:52,420 --> 00:05:55,200 Schließlich, wenn Sie gar nicht hungrig, können Sie print "nicht 122 00:05:55,200 --> 00:05:56,710 alles essen. " 123 00:05:56,710 --> 00:06:00,130 >> Ich bin Vipul Shekhawat, und dies ist CS50.