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 Σε αυτό το βίντεο θα είμαι την εισαγωγή σας σε ένα από τα πιο 3 00:00:09,410 --> 00:00:11,260 θεμελιώδεις έννοιες στη λογική και 4 00:00:11,260 --> 00:00:13,880 προγραμματισμού, η τιμή Boolean. 5 00:00:13,880 --> 00:00:16,210 Εάν είστε περίεργοι για το όνομα, Boolean αξίες και 6 00:00:16,210 --> 00:00:19,440 Οι συνθήκες το όνομά του από George Boole, του 19ου αιώνα 7 00:00:19,440 --> 00:00:22,030 μαθηματικός που πρωτοστάτησε ό, τι είναι τώρα ονομάζεται Boolean 8 00:00:22,030 --> 00:00:23,980 λογική, η οποία βασίζεται με ομαδοποίηση και 9 00:00:23,980 --> 00:00:26,030 συγκρίνοντας τις τιμές Boolean. 10 00:00:26,030 --> 00:00:28,250 >> Έτσι τι είναι μια λογική τιμή; 11 00:00:28,250 --> 00:00:30,920 Μια λογική τιμή είναι μια μεταβλητή που έχει μόνο δύο πιθανές 12 00:00:30,920 --> 00:00:33,710 συνθήκες, αληθινό και το ψεύτικο. 13 00:00:33,710 --> 00:00:35,380 Μπορείτε να σκεφτείτε το σαν ένα φως διακόπτη. 14 00:00:35,380 --> 00:00:38,530 Μπορεί να είναι είτε εντός είτε εκτός, αληθής ή ψευδής. 15 00:00:38,530 --> 00:00:41,880 Ομοίως, δυαδικών αριθμών μπορεί να είναι είτε ένα ή μηδέν, το οποίο 16 00:00:41,880 --> 00:00:45,680 είναι ανάλογη με το ίδιο πράγμα, αληθής ή ψευδής. 17 00:00:45,680 --> 00:00:46,840 Απλό, έτσι δεν είναι; 18 00:00:46,840 --> 00:00:48,750 Η έννοια της μεταβλητής Boolean είναι εύκολο να 19 00:00:48,750 --> 00:00:51,720 καταλαβαίνουν, αλλά οι τρόποι με τους οποίους μπορείτε να χειριστείτε και 20 00:00:51,720 --> 00:00:54,570 συνδυάζουν τους επιτρέπει πολύ μεγαλύτερη πολυπλοκότητα. 21 00:00:54,570 --> 00:00:57,030 Εκτός από τις δύο θεμελιώδεις Boolean τιμές, 22 00:00:57,030 --> 00:00:59,350 υπάρχουν πολλές λογικούς τελεστές που μπορούν να συνδυάζουν δύο 23 00:00:59,350 --> 00:01:01,760 Boolean τιμές σε ένα ενιαίο πρόγραμμα. 24 00:01:01,760 --> 00:01:03,540 >> Δύο από τα πιο βασικά, αλλά το πιο σημαντικό 25 00:01:03,540 --> 00:01:06,570 φορείς, είναι AND και OR. 26 00:01:06,570 --> 00:01:09,950 Τα ΚΑΙ χειριστής οδηγεί σε πραγματική αξία του μόνο αν και οι δύο 27 00:01:09,950 --> 00:01:14,630 οι τιμές που παίρνει είναι αλήθεια, τόσο ψευδείς ΚΑΙ αλήθεια είναι ψευδής. 28 00:01:14,630 --> 00:01:17,540 Ομοίως, ψευδής και ψευδής είναι ψευδής. 29 00:01:17,540 --> 00:01:21,080 Μόνο αλήθεια και αληθινή ισούται αλήθεια. 30 00:01:21,080 --> 00:01:24,050 Τα αποτελέσματα του φορέα εκμετάλλευσης ή της αξίας της, εάν ισχύει, είτε από το 31 00:01:24,050 --> 00:01:25,620 αξίες που χρειάζεται είναι αλήθεια. 32 00:01:25,620 --> 00:01:30,460 Έτσι, ψευδείς ή ψευδής είναι ψευδής, αλλά αληθής ή ψευδής είναι αλήθεια, και 33 00:01:30,460 --> 00:01:33,710 Η αληθινή αλήθεια είναι επίσης αλήθεια. 34 00:01:33,710 --> 00:01:36,560 Ο χειριστής δεν χρειάζεται απλά μια Boolean μεταβλητή και δίνει 35 00:01:36,560 --> 00:01:37,830 Σας το αντίθετο από αυτό. 36 00:01:37,830 --> 00:01:40,950 Έτσι γίνεται αλήθεια και ψευδείς ψευδείς γίνεται πραγματικότητα. 37 00:01:40,950 --> 00:01:43,130 Αν βάλετε το όλο θέμα μαζί, με μεταβλητές 38 00:01:43,130 --> 00:01:46,320 φορείς, μπορείτε να δημιουργήσετε μια Boolean έκφραση. 39 00:01:46,320 --> 00:01:48,550 >> Τώρα, ας δούμε ένα παράδειγμα από αυτά φωλιάζουν Boolean 40 00:01:48,550 --> 00:01:49,950 εκφράσεις. 41 00:01:49,950 --> 00:01:51,840 Θυμάστε τη σειρά των πράξεων; 42 00:01:51,840 --> 00:01:54,700 Όπως και με τους αριθμούς, Boolean εκφράσεις μπορούν να ομαδοποιηθούν με 43 00:01:54,700 --> 00:01:56,270 χρησιμοποιώντας παρενθέσεις. 44 00:01:56,270 --> 00:02:00,150 Έτσι, υπάρχουν βασικά τρεις εκφράσεις εδώ, ΔΕΝ z, y ή 45 00:02:00,150 --> 00:02:04,740 ΜΗ z, και χ ΚΑΙ y z Ή ΟΧΙ. 46 00:02:04,740 --> 00:02:07,080 Μπορούμε να καταλάβουμε τις αξίες αυτών, εξετάζοντας το 47 00:02:07,080 --> 00:02:09,020 μέσα και τον τρόπο εργασίας μας έξω. 48 00:02:09,020 --> 00:02:12,850 Ας υποθέσουμε ότι το x είναι αλήθεια, y είναι αληθές, και z είναι επίσης αλήθεια. 49 00:02:12,850 --> 00:02:15,270 Τι ΔΕΝ θα αξιολογήσει z να; 50 00:02:15,270 --> 00:02:20,970 Δεδομένου ότι αρχίζουμε με αλήθεια, ΔΕΝ z θα είναι απλά ψευδής. 51 00:02:20,970 --> 00:02:26,230 Έτσι τώρα έχουμε ψευδή ή y. 52 00:02:26,230 --> 00:02:29,740 Αν κοιτάξετε στην κορυφή, μπορείτε να δείτε ότι η y είναι αληθές, y ή False 53 00:02:29,740 --> 00:02:32,870 θα εξακολουθεί να είναι ακριβώς αλήθεια. 54 00:02:32,870 --> 00:02:37,580 Τέλος, εμείς έχουμε x και αληθινή. 55 00:02:37,580 --> 00:02:39,300 Έτσι, ό, τι είναι αληθινό και x; 56 00:02:39,300 --> 00:02:42,590 x είναι αληθινή και πραγματική είναι επίσης αλήθεια, έτσι όλο αυτό το πράγμα 57 00:02:42,590 --> 00:02:45,070 αποτιμάται σε true. 58 00:02:45,070 --> 00:02:47,270 >> Στη συνέχεια, ας ρίξουμε μια ματιά στο πώς αυτές οι εκφράσεις Boolean μπορούν να 59 00:02:47,270 --> 00:02:49,890 πραγματικά να χρησιμοποιηθεί σε μια γλώσσα προγραμματισμού. 60 00:02:49,890 --> 00:02:52,900 Στην C, η σύνταξη Boolean λειτουργίες είναι λίγο διαφορετική 61 00:02:52,900 --> 00:02:55,520 από τις λέξεις και, ή, και όχι. 62 00:02:55,520 --> 00:02:57,210 Ας καλύπτουν τη σύνταξη. 63 00:02:57,210 --> 00:03:00,510 Για να χρησιμοποιήσετε το τελεστή AND, γράφουμε ένα διπλό εμπορικό. 64 00:03:00,510 --> 00:03:03,620 Ο τελεστής OR είναι ένα διπλό χαρακτήρα αγωγού. 65 00:03:03,620 --> 00:03:05,780 Αυτή είναι η ευθεία κάθετη γραμμή, που μπορείτε πιθανώς 66 00:03:05,780 --> 00:03:09,070 βρείτε πάνω από το Enter ή Return πλήκτρα στο πληκτρολόγιο σας. 67 00:03:09,070 --> 00:03:12,550 Και ο χειριστής δεν είναι απλά ένα θαυμαστικό. 68 00:03:12,550 --> 00:03:15,550 Έτσι για να ξαναγράψουμε την έκφραση που είχαμε πριν, εμείς απλά θα 69 00:03:15,550 --> 00:03:27,010 γράψω αυτό το && x y | |! z. 70 00:03:27,010 --> 00:03:29,250 Αυτό ακριβώς λαμβάνοντας ακριβώς αυτό που είχαμε πριν και στροφή 71 00:03:29,250 --> 00:03:31,870 είναι σε σύνταξη C. 72 00:03:31,870 --> 00:03:34,370 >> Τώρα που έχουμε μεταφραστεί Boolean έκφραση μας σε κώδικα, 73 00:03:34,370 --> 00:03:36,160 πώς θα το χρησιμοποιήσετε στην πραγματικότητα; 74 00:03:36,160 --> 00:03:38,170 Ας πούμε ότι έχουμε κάποιο κωδικό που θα εκτελέσει μόνο αν 75 00:03:38,170 --> 00:03:40,330 ορισμένες έκφραση είναι αληθής. 76 00:03:40,330 --> 00:03:42,750 Για το σκοπό αυτό, λίγο πολύ όλες οι γλώσσες προγραμματισμού 77 00:03:42,750 --> 00:03:45,190 υποστήριξη της αν κατάσταση. 78 00:03:45,190 --> 00:03:47,870 Ας πούμε ότι έχουμε μια Boolean μεταβλητή, x, και θέλουμε κάποια 79 00:03:47,870 --> 00:03:50,850 κώδικα για να εκτελέσει μόνο αν το x είναι αλήθεια. 80 00:03:50,850 --> 00:03:54,900 Θα γράψω απλά τη λέξη αν, βάλτε παρενθέσεις, και να 81 00:03:54,900 --> 00:03:57,800 η Boolean έκφραση σε αυτές τις παρενθέσεις. 82 00:03:57,800 --> 00:03:59,680 Μετά από αυτό, τυλίξτε τον κώδικα που θέλουμε να 83 00:03:59,680 --> 00:04:01,080 εκτελέσει σε άγκιστρα. 84 00:04:07,160 --> 00:04:08,150 Τι και αν υπάρχει κάποιος κώδικας που θα θέλατε να 85 00:04:08,150 --> 00:04:10,260 εκτελέσει αν το x δεν είναι αλήθεια; 86 00:04:10,260 --> 00:04:13,310 Απλά γράψτε τη λέξη αλλιώς μετά την δήλωση if, τυλίξτε 87 00:04:13,310 --> 00:04:16,930 το άλλο κώδικα σε αγκύλες, και στη συνέχεια, ότι ο κώδικας θα 88 00:04:16,930 --> 00:04:18,399 εκτελέσει αν το x δεν είναι αλήθεια. 89 00:04:26,640 --> 00:04:29,840 >> Ένα άλλο χρήσιμο κατασκεύασμα γλώσσα είναι αλλιώς αν. 90 00:04:29,840 --> 00:04:32,210 Ας υποθέσουμε ότι υπάρχουν δύο τα Boolean θα θέλατε να εξετάσει, 91 00:04:32,210 --> 00:04:34,330 ας τους ονομάσουμε x και y. 92 00:04:34,330 --> 00:04:37,340 Δηλώνουμε αυτές τις μεταβλητές να είναι αληθινό και το ψεύτικο. 93 00:04:37,340 --> 00:04:40,540 Αν x και y είναι αλήθεια, θα εκτελέσει το πρώτο μπλοκ του 94 00:04:40,540 --> 00:04:42,630 κώδικα σε αυτές τις αγκύλες. 95 00:04:42,630 --> 00:04:46,470 Αλλιώς αν x ή y είναι αλήθεια, θα εκτελέσει το επόμενο μπλοκ 96 00:04:46,470 --> 00:04:50,590 κώδικα, και αλλιώς θα εκτελέσει το τελευταίο μπλοκ του κώδικα. 97 00:04:50,590 --> 00:04:52,650 Εργασία με Boolean τιμές, όπως αυτό είναι χρήσιμο, αλλά 98 00:04:52,650 --> 00:04:55,750 είστε πραγματικά περιορίζεται μόνο σε μερικές συνθήκες. 99 00:04:55,750 --> 00:04:58,400 Τα Boolean μπορούν να γίνουν πολύ πιο ισχυρή όταν σας παρουσιάσουμε 100 00:04:58,400 --> 00:04:59,900 συγκρίσεις. 101 00:04:59,900 --> 00:05:01,280 Αυτοί είναι τρόποι για να συγκρίνουν τις τιμές που είναι 102 00:05:01,280 --> 00:05:03,300 Δεν αρχικά Boolean. 103 00:05:03,300 --> 00:05:06,060 Για να δούμε αν δύο τιμές είναι η ίδια, μπορείτε να χρησιμοποιήσετε ισούται 104 00:05:06,060 --> 00:05:09,340 ισούται με το οποίο είναι αληθές και αν είναι ίση και ψευδής αν 105 00:05:09,340 --> 00:05:10,530 δεν είναι. 106 00:05:10,530 --> 00:05:15,360 Άλλα κοινά συγκρίσεις είναι μικρότερη από, μεγαλύτερο από, μικρότερο 107 00:05:15,360 --> 00:05:19,740 από ή ίσο με, και μεγαλύτερη από ή ίση με. 108 00:05:19,740 --> 00:05:22,220 >> Ό, τι έχω καλύπτονται μέχρι τώρα ήταν αρκετά αφηρημένα, έτσι 109 00:05:22,220 --> 00:05:24,320 ας εισαγάγει αυτές τις συγκρίσεις σε μια τελευταία 110 00:05:24,320 --> 00:05:25,850 συγκεκριμένο παράδειγμα. 111 00:05:25,850 --> 00:05:27,130 Ας υποθέσουμε ότι υπάρχουν δύο μεταβλητές, 112 00:05:27,130 --> 00:05:29,430 θερμοκρασία και isHungry. 113 00:05:29,430 --> 00:05:31,560 Θερμοκρασία είναι ένας αριθμός κινητής υποδιαστολής, έτσι ώστε να μπορεί να έχει 114 00:05:31,560 --> 00:05:33,090 δεκαδικά ψηφία. 115 00:05:33,090 --> 00:05:35,440 Είσαι προγραμματισμό μια πολύ απλή εφαρμογή που λέει 116 00:05:35,440 --> 00:05:38,270 κάποιον τι να τρώνε ανάλογα με τη θερμοκρασία. 117 00:05:38,270 --> 00:05:41,010 Εάν είστε πεινασμένοι, αλλά και για την θερμοκρασία είναι μεγαλύτερη ή 118 00:05:41,010 --> 00:05:45,060 ίση με 100, μπορείτε να εκτυπώσετε τρώνε παγωτό. 119 00:05:45,060 --> 00:05:48,370 Αλλιώς, εάν είστε πεινασμένοι ΚΑΙ ΚΑΙ η θερμοκρασία είναι μικρότερη από 120 00:05:48,370 --> 00:05:52,420 ή ίσο με το μηδέν, μπορείτε να printf ("τρώνε τα πικάντικα τρόφιμα»). 121 00:05:52,420 --> 00:05:55,200 Τέλος, αν δεν είστε πεινασμένοι καθόλου, μπορείτε να εκτυπώσετε "δεν 122 00:05:55,200 --> 00:05:56,710 τρώνε τίποτα. " 123 00:05:56,710 --> 00:06:00,130 >> Είμαι Vipul Shekhawat, και αυτό είναι CS50.