1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] VIPUL Shekhawat: Ciao. 2 00:00:07,370 --> 00:00:09,410 In questo video io starò a introdurre in una delle più 3 00:00:09,410 --> 00:00:11,260 concetti fondamentali della logica e 4 00:00:11,260 --> 00:00:13,880 programmazione, il valore booleano. 5 00:00:13,880 --> 00:00:16,210 Se siete curiosi di sapere il nome, valori booleani e 6 00:00:16,210 --> 00:00:19,440 condizioni prendono il nome da George Boole, un 19 ° secolo 7 00:00:19,440 --> 00:00:22,030 matematico che per primo quello che oggi è chiamato Boolean 8 00:00:22,030 --> 00:00:23,980 logica, che si basa da raggruppamento e 9 00:00:23,980 --> 00:00:26,030 confrontando i valori booleani. 10 00:00:26,030 --> 00:00:28,250 >> Così che cosa è un valore booleano? 11 00:00:28,250 --> 00:00:30,920 Un valore booleano è una variabile che ha solo due possibili 12 00:00:30,920 --> 00:00:33,710 condizioni, vere e false. 13 00:00:33,710 --> 00:00:35,380 Si può pensare ad esso come un interruttore della luce. 14 00:00:35,380 --> 00:00:38,530 Può essere acceso o spento, vero o falso. 15 00:00:38,530 --> 00:00:41,880 Analogamente, i numeri binari possono essere uno o zero, che 16 00:00:41,880 --> 00:00:45,680 è analoga alla stessa cosa, vero o falso. 17 00:00:45,680 --> 00:00:46,840 Semplice, no? 18 00:00:46,840 --> 00:00:48,750 Il concetto di una variabile booleana è facile 19 00:00:48,750 --> 00:00:51,720 capire, ma i modi in cui è possibile manipolare e 20 00:00:51,720 --> 00:00:54,570 combinarli consente per gran parte maggiore complessità. 21 00:00:54,570 --> 00:00:57,030 Oltre ai due valori fondamentali booleani, 22 00:00:57,030 --> 00:00:59,350 ci sono molti operatori booleani che possono combinare due 23 00:00:59,350 --> 00:01:01,760 I valori booleani in uno solo. 24 00:01:01,760 --> 00:01:03,540 >> Due dei più semplici, ma più importante 25 00:01:03,540 --> 00:01:06,570 operatori, sono AND e OR. 26 00:01:06,570 --> 00:01:09,950 I risultati operatore AND in un valore true solo se entrambi 27 00:01:09,950 --> 00:01:14,630 i valori che prende sono true, in modo falso e vero è falso. 28 00:01:14,630 --> 00:01:17,540 Allo stesso modo, falso e falso è falso. 29 00:01:17,540 --> 00:01:21,080 Unica vera e reale è uguale a true. 30 00:01:21,080 --> 00:01:24,050 I risultati operatore o nel valore true se uno dei 31 00:01:24,050 --> 00:01:25,620 valori che prende sono vere. 32 00:01:25,620 --> 00:01:30,460 Così falso o falso è falso, ma vero o falso è vero, e 33 00:01:30,460 --> 00:01:33,710 O vero vero è anche vero. 34 00:01:33,710 --> 00:01:36,560 L'operatore NOT prende semplicemente una variabile booleana e dà 35 00:01:36,560 --> 00:01:37,830 è il contrario di essa. 36 00:01:37,830 --> 00:01:40,950 Così vero diventa falso e falso diventa vero. 37 00:01:40,950 --> 00:01:43,130 Se si mette il tutto insieme, le variabili con 38 00:01:43,130 --> 00:01:46,320 operatori, si crea un'espressione booleana. 39 00:01:46,320 --> 00:01:48,550 >> Vediamo ora un esempio di nidificazione questi Boolean 40 00:01:48,550 --> 00:01:49,950 espressioni. 41 00:01:49,950 --> 00:01:51,840 Ti ricordi l'ordine delle operazioni? 42 00:01:51,840 --> 00:01:54,700 Come con i numeri, espressioni booleane possono essere raggruppati per 43 00:01:54,700 --> 00:01:56,270 utilizzando le parentesi. 44 00:01:56,270 --> 00:02:00,150 Quindi, ci sono fondamentalmente tre espressioni qui non, z, y O 45 00:02:00,150 --> 00:02:04,740 NON z, e X e Y OR NOT z. 46 00:02:04,740 --> 00:02:07,080 Siamo in grado di capire i valori di questi, cercando il 47 00:02:07,080 --> 00:02:09,020 dentro e fuori il nostro modo di lavoro. 48 00:02:09,020 --> 00:02:12,850 Quindi supponiamo che x è vero, è vero y, e z è anche vero. 49 00:02:12,850 --> 00:02:15,270 Cosa NON si z restituiscono? 50 00:02:15,270 --> 00:02:20,970 Dal momento che si parte con la vera, non z sarebbe semplicemente falsa. 51 00:02:20,970 --> 00:02:26,230 Così ora abbiamo falsa o y. 52 00:02:26,230 --> 00:02:29,740 Se si guarda in alto, si può vedere che y è vero, Y o falso 53 00:02:29,740 --> 00:02:32,870 sarebbe ancora solo essere vero. 54 00:02:32,870 --> 00:02:37,580 Infine abbiamo, x e vero. 55 00:02:37,580 --> 00:02:39,300 Così che cosa è x E vero? 56 00:02:39,300 --> 00:02:42,590 x è vero e vero è anche vero, per cui tutta questa faccenda 57 00:02:42,590 --> 00:02:45,070 restituisce true. 58 00:02:45,070 --> 00:02:47,270 >> Quindi, diamo un'occhiata a come queste espressioni booleane possono 59 00:02:47,270 --> 00:02:49,890 effettivamente essere utilizzato in un linguaggio di programmazione. 60 00:02:49,890 --> 00:02:52,900 In C, la sintassi per le operazioni booleane è un po 'diverso 61 00:02:52,900 --> 00:02:55,520 dalle parole e, o, e non. 62 00:02:55,520 --> 00:02:57,210 Cerchiamo di coprire la sintassi. 63 00:02:57,210 --> 00:03:00,510 Per utilizzare l'operatore AND, scriviamo una doppia e commerciale. 64 00:03:00,510 --> 00:03:03,620 L'operatore OR è un doppio carattere di tubazione. 65 00:03:03,620 --> 00:03:05,780 Questa è la linea retta verticale, che si può probabilmente 66 00:03:05,780 --> 00:03:09,070 trova al di sopra della Invio tasti sulla tastiera. 67 00:03:09,070 --> 00:03:12,550 E l'operatore NOT è semplicemente un punto esclamativo. 68 00:03:12,550 --> 00:03:15,550 Quindi, per riscrivere l'espressione che avevamo prima, ci sarebbe solo 69 00:03:15,550 --> 00:03:27,010 scrivere questo x && y | |! z. 70 00:03:27,010 --> 00:03:29,250 Questo è solo prendendo esattamente quello che avevamo prima e tornitura 71 00:03:29,250 --> 00:03:31,870 nella sintassi C. 72 00:03:31,870 --> 00:03:34,370 >> Ora che abbiamo tradotto la nostra espressione booleana in codice, 73 00:03:34,370 --> 00:03:36,160 come possiamo effettivamente usare? 74 00:03:36,160 --> 00:03:38,170 Diciamo che abbiamo un po 'il codice che deve eseguire solo in caso di 75 00:03:38,170 --> 00:03:40,330 certa espressione è vera. 76 00:03:40,330 --> 00:03:42,750 A questo scopo, più o meno tutti i linguaggi di programmazione 77 00:03:42,750 --> 00:03:45,190 sostenere la condizione if. 78 00:03:45,190 --> 00:03:47,870 Diciamo che abbiamo una variabile booleana, x, e vogliamo un po 'di 79 00:03:47,870 --> 00:03:50,850 codice da eseguire solo se x è vero. 80 00:03:50,850 --> 00:03:54,900 Vorremmo semplicemente scrivere la parola se, mettere tra parentesi, e mettere 81 00:03:54,900 --> 00:03:57,800 l'espressione booleana all'interno di tali parentesi. 82 00:03:57,800 --> 00:03:59,680 Dopo di che, inserire il codice che vogliamo 83 00:03:59,680 --> 00:04:01,080 eseguire tra parentesi graffe. 84 00:04:07,160 --> 00:04:08,150 E se ci fosse un po 'di codice che si desidera 85 00:04:08,150 --> 00:04:10,260 eseguire se x non è vero? 86 00:04:10,260 --> 00:04:13,310 Basta scrivere la parola altro dopo l'istruzione if, avvolgere 87 00:04:13,310 --> 00:04:16,930 l'altro codice tra parentesi graffe, e quindi che il codice sarà 88 00:04:16,930 --> 00:04:18,399 eseguire se x non è vero. 89 00:04:26,640 --> 00:04:29,840 >> Un altro costrutto utile è else if. 90 00:04:29,840 --> 00:04:32,210 Supponiamo che ci sono due valori booleani che si desidera prendere in considerazione, 91 00:04:32,210 --> 00:04:34,330 chiamiamoli x e y. 92 00:04:34,330 --> 00:04:37,340 Dichiariamo queste variabili per essere vero e falso. 93 00:04:37,340 --> 00:04:40,540 Se x e y sono vere, si esegue il primo blocco di 94 00:04:40,540 --> 00:04:42,630 codice all'interno di tali parentesi graffe. 95 00:04:42,630 --> 00:04:46,470 Altrimenti se x o y sono vere, si esegue il blocco successivo 96 00:04:46,470 --> 00:04:50,590 codice, e il resto si esegue l'ultimo blocco di codice. 97 00:04:50,590 --> 00:04:52,650 Lavorare con valori booleani come questo è utile, ma 98 00:04:52,650 --> 00:04:55,750 sei davvero solo limitato a alcune condizioni. 99 00:04:55,750 --> 00:04:58,400 Booleane può diventare molto più potente quando si introduce 100 00:04:58,400 --> 00:04:59,900 confronti. 101 00:04:59,900 --> 00:05:01,280 Questi sono modi per confrontare i valori che sono 102 00:05:01,280 --> 00:05:03,300 inizialmente non booleano. 103 00:05:03,300 --> 00:05:06,060 Per vedere se due valori sono uguali, è possibile utilizzare è uguale 104 00:05:06,060 --> 00:05:09,340 uguale, il che è vero se sono uguali e false se 105 00:05:09,340 --> 00:05:10,530 non lo sono. 106 00:05:10,530 --> 00:05:15,360 Altri paragoni comuni sono inferiori, maggiore, minore 107 00:05:15,360 --> 00:05:19,740 o uguale a, e maggiore o uguale a. 108 00:05:19,740 --> 00:05:22,220 >> Tutto quello che ho visto finora è stata piuttosto astratto, così 109 00:05:22,220 --> 00:05:24,320 introduciamo questi confronti in ultima 110 00:05:24,320 --> 00:05:25,850 esempio concreto. 111 00:05:25,850 --> 00:05:27,130 Supponiamo che ci sono due variabili, 112 00:05:27,130 --> 00:05:29,430 temperatura e isHungry. 113 00:05:29,430 --> 00:05:31,560 Temperatura è un numero decimale, in modo che possa avere 114 00:05:31,560 --> 00:05:33,090 decimali. 115 00:05:33,090 --> 00:05:35,440 Stai programmando un programma molto semplice che racconta 116 00:05:35,440 --> 00:05:38,270 qualcuno cosa mangiare a seconda della temperatura. 117 00:05:38,270 --> 00:05:41,010 Se hai fame, E e la temperatura è superiore o 118 00:05:41,010 --> 00:05:45,060 pari a 100, è possibile stampare mangiare il gelato. 119 00:05:45,060 --> 00:05:48,370 Altrimenti se hai fame E e la temperatura è inferiore a 120 00:05:48,370 --> 00:05:52,420 o uguale a zero, è possibile printf ("mangiare cibo piccante"). 121 00:05:52,420 --> 00:05:55,200 Infine, se non hai fame a tutti, è possibile stampare "non 122 00:05:55,200 --> 00:05:56,710 mangiare di tutto. " 123 00:05:56,710 --> 00:06:00,130 >> Sono Shekhawat Vipul, e questo è CS50.