1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] Vipul Shekhawat: Oi. 2 00:00:07,370 --> 00:00:09,410 Neste vídeo estarei introduzindo-lhe uma maioria de 3 00:00:09,410 --> 00:00:11,260 conceitos fundamentais na lógica e 4 00:00:11,260 --> 00:00:13,880 programação, o valor booleano. 5 00:00:13,880 --> 00:00:16,210 Se você está curioso sobre o nome, valores booleanos e 6 00:00:16,210 --> 00:00:19,440 condições são nomeados após George Boole, um século 19 7 00:00:19,440 --> 00:00:22,030 matemático que foi pioneiro que agora é chamado Boolean 8 00:00:22,030 --> 00:00:23,980 lógica, que é baseado em agrupamento e 9 00:00:23,980 --> 00:00:26,030 comparar valores booleanos. 10 00:00:26,030 --> 00:00:28,250 >> Então, o que é um valor booleano? 11 00:00:28,250 --> 00:00:30,920 Um valor booleano é uma variável que tem apenas dois possíveis 12 00:00:30,920 --> 00:00:33,710 condições, verdadeiro e falso. 13 00:00:33,710 --> 00:00:35,380 Você pode pensar nisso como um interruptor de luz. 14 00:00:35,380 --> 00:00:38,530 Ele pode ser ligado ou desligado, verdadeiro ou falso. 15 00:00:38,530 --> 00:00:41,880 Da mesma forma, os números binários podem ser um ou zero, o que 16 00:00:41,880 --> 00:00:45,680 é análoga à mesma coisa, verdadeira ou falsa. 17 00:00:45,680 --> 00:00:46,840 Simples, não? 18 00:00:46,840 --> 00:00:48,750 O conceito de uma variável booleana é fácil 19 00:00:48,750 --> 00:00:51,720 entender, mas as formas em que você pode manipular e 20 00:00:51,720 --> 00:00:54,570 combiná-los permite muito de maior complexidade. 21 00:00:54,570 --> 00:00:57,030 Além dos dois fundamentais valores booleanos, 22 00:00:57,030 --> 00:00:59,350 há muitos operadores booleanos que podem combinar dois 23 00:00:59,350 --> 00:01:01,760 Os valores booleanos em uma única. 24 00:01:01,760 --> 00:01:03,540 >> Dois dos mais básico, mas o mais importante 25 00:01:03,540 --> 00:01:06,570 operadores, são AND e OR. 26 00:01:06,570 --> 00:01:09,950 O operador AND resulta em um valor de verdade somente se ambos 27 00:01:09,950 --> 00:01:14,630 os valores que toma são verdadeiras, tão falso e verdadeiro é falso. 28 00:01:14,630 --> 00:01:17,540 Da mesma forma, e falsa é falsa. 29 00:01:17,540 --> 00:01:21,080 E só é verdade verdadeira é igual a verdade. 30 00:01:21,080 --> 00:01:24,050 Ou do resultado do operador no valor de verdade se uma das 31 00:01:24,050 --> 00:01:25,620 valores que toma são verdadeiras. 32 00:01:25,620 --> 00:01:30,460 Tão falso ou falso é falso, mas verdadeiro ou falso é verdadeiro, e 33 00:01:30,460 --> 00:01:33,710 true OR verdade também é verdadeiro. 34 00:01:33,710 --> 00:01:36,560 O operador NOT simplesmente leva uma variável booleana e dá 35 00:01:36,560 --> 00:01:37,830 você o oposto disso. 36 00:01:37,830 --> 00:01:40,950 Assim, torna-se verdadeira e falsa se torna verdade. 37 00:01:40,950 --> 00:01:43,130 Se você colocar a coisa toda em conjunto, as variáveis ​​com 38 00:01:43,130 --> 00:01:46,320 operadores, você cria uma expressão booleana. 39 00:01:46,320 --> 00:01:48,550 >> Agora vamos olhar para o exemplo de Boolean estes assentamento 40 00:01:48,550 --> 00:01:49,950 expressões. 41 00:01:49,950 --> 00:01:51,840 Você se lembra da ordem das operações? 42 00:01:51,840 --> 00:01:54,700 Como com números, expressões booleanas podem ser agrupados por 43 00:01:54,700 --> 00:01:56,270 usando parênteses. 44 00:01:56,270 --> 00:02:00,150 Portanto, há basicamente três expressões aqui não, Z, Y OU 45 00:02:00,150 --> 00:02:04,740 NÃO z e x e y ou z NÃO. 46 00:02:04,740 --> 00:02:07,080 Nós podemos descobrir os valores desses, olhando para a 47 00:02:07,080 --> 00:02:09,020 de dentro para nossa saída. 48 00:02:09,020 --> 00:02:12,850 Então vamos supor que x é verdade, é verdade y, e z também é verdadeiro. 49 00:02:12,850 --> 00:02:15,270 O que NÃO iria avaliar a z? 50 00:02:15,270 --> 00:02:20,970 Desde que começamos com a verdade, não z seria simplesmente falsa. 51 00:02:20,970 --> 00:02:26,230 Portanto, agora temos falsas ou y. 52 00:02:26,230 --> 00:02:29,740 Se você olhar em cima, você pode ver que é verdade y, y ou falso 53 00:02:29,740 --> 00:02:32,870 ainda ser apenas verdadeiro. 54 00:02:32,870 --> 00:02:37,580 Finalmente nós, temos x e verdadeiro. 55 00:02:37,580 --> 00:02:39,300 Então o que é x e verdadeiro? 56 00:02:39,300 --> 00:02:42,590 x é verdade e verdade também é verdadeiro, então essa coisa toda 57 00:02:42,590 --> 00:02:45,070 avaliada como verdadeira. 58 00:02:45,070 --> 00:02:47,270 >> Em seguida, vamos olhar como essas expressões booleanas pode 59 00:02:47,270 --> 00:02:49,890 na verdade, ser usado em uma linguagem de programação. 60 00:02:49,890 --> 00:02:52,900 No C, a sintaxe para operações booleanas é um pouco diferente 61 00:02:52,900 --> 00:02:55,520 das palavras e, ou e não. 62 00:02:55,520 --> 00:02:57,210 Vamos cobrir a sintaxe. 63 00:02:57,210 --> 00:03:00,510 Para usar o operador E, escrevemos um comercial de casal. 64 00:03:00,510 --> 00:03:03,620 O operador OR é um personagem linha dupla tubulação. 65 00:03:03,620 --> 00:03:05,780 Esta é a linha reta vertical, que você pode provavelmente 66 00:03:05,780 --> 00:03:09,070 encontrar acima do Enter ou Return teclas em seu teclado. 67 00:03:09,070 --> 00:03:12,550 E o operador NOT é simplesmente um ponto de exclamação. 68 00:03:12,550 --> 00:03:15,550 Então, para reescrever a expressão que tinha antes, nós apenas 69 00:03:15,550 --> 00:03:27,010 escrever esta x && y | |! z. 70 00:03:27,010 --> 00:03:29,250 Que está apenas tomando exatamente o que tínhamos antes e transformando 71 00:03:29,250 --> 00:03:31,870 lo em sintaxe C. 72 00:03:31,870 --> 00:03:34,370 >> Agora que nós traduzimos nossa expressão booleana em código, 73 00:03:34,370 --> 00:03:36,160 como é que vamos realmente usá-lo? 74 00:03:36,160 --> 00:03:38,170 Vamos dizer que nós temos um código que deve executar apenas se um 75 00:03:38,170 --> 00:03:40,330 certa expressão é verdadeira. 76 00:03:40,330 --> 00:03:42,750 Para este efeito, praticamente todos os linguagens de programação 77 00:03:42,750 --> 00:03:45,190 apoiar a condição se. 78 00:03:45,190 --> 00:03:47,870 Vamos dizer que temos uma variável booleana, x, e nós queremos alguns 79 00:03:47,870 --> 00:03:50,850 código para executar somente se x é verdade. 80 00:03:50,850 --> 00:03:54,900 Nós simplesmente escrever a palavra se, colocar parênteses, e colocar 81 00:03:54,900 --> 00:03:57,800 a expressão booleana dentro desses parênteses. 82 00:03:57,800 --> 00:03:59,680 Depois disso, coloque o código que queremos 83 00:03:59,680 --> 00:04:01,080 executar em chaves. 84 00:04:07,160 --> 00:04:08,150 E se há algum código que você gostaria de 85 00:04:08,150 --> 00:04:10,260 executar se x não é verdade? 86 00:04:10,260 --> 00:04:13,310 Basta escrever a palavra mais após a declaração se envolver, 87 00:04:13,310 --> 00:04:16,930 o outro código entre chaves, e depois que o código vai 88 00:04:16,930 --> 00:04:18,399 executar se x não é verdade. 89 00:04:26,640 --> 00:04:29,840 >> Outra construção de linguagem útil é outra coisa se. 90 00:04:29,840 --> 00:04:32,210 Suponha que existem dois Booleanos que você gostaria de considerar, 91 00:04:32,210 --> 00:04:34,330 vamos chamá-los de x e y. 92 00:04:34,330 --> 00:04:37,340 Declaramos estas variáveis ​​para ser verdadeiro e falso. 93 00:04:37,340 --> 00:04:40,540 Se x e y são verdadeiras, você executa o primeiro bloco de 94 00:04:40,540 --> 00:04:42,630 código dentro dessas chaves. 95 00:04:42,630 --> 00:04:46,470 Else if x ou y é verdadeiro, você executar o próximo bloco de 96 00:04:46,470 --> 00:04:50,590 código, e então você executar o último bloco de código. 97 00:04:50,590 --> 00:04:52,650 Trabalhar com valores booleanos como este é útil, mas 98 00:04:52,650 --> 00:04:55,750 você realmente está limitada apenas a algumas condições. 99 00:04:55,750 --> 00:04:58,400 Booleanos podem tornar-se muito mais poderosa quando você introduzir 100 00:04:58,400 --> 00:04:59,900 comparações. 101 00:04:59,900 --> 00:05:01,280 Estas são maneiras de comparar os valores que são 102 00:05:01,280 --> 00:05:03,300 originalmente não booleana. 103 00:05:03,300 --> 00:05:06,060 Para ver se dois valores são os mesmos, você pode usar é igual 104 00:05:06,060 --> 00:05:09,340 iguais, o que é verdade se eles são iguais e false se 105 00:05:09,340 --> 00:05:10,530 eles não são. 106 00:05:10,530 --> 00:05:15,360 Outras comparações são menos comuns, maior que, a menos 107 00:05:15,360 --> 00:05:19,740 que ou igual a, e maior do que ou igual a. 108 00:05:19,740 --> 00:05:22,220 >> Tudo o que eu coberto até agora tem sido muito abstrato, de modo 109 00:05:22,220 --> 00:05:24,320 vamos introduzir essas comparações em último 110 00:05:24,320 --> 00:05:25,850 exemplo concreto. 111 00:05:25,850 --> 00:05:27,130 Suponha que há duas variáveis, 112 00:05:27,130 --> 00:05:29,430 temperatura e isHungry. 113 00:05:29,430 --> 00:05:31,560 A temperatura é um número de ponto flutuante, para que ele possa ter 114 00:05:31,560 --> 00:05:33,090 casas decimais. 115 00:05:33,090 --> 00:05:35,440 Você está programando uma aplicação muito simples que diz 116 00:05:35,440 --> 00:05:38,270 alguém o que come em função da temperatura. 117 00:05:38,270 --> 00:05:41,010 Se você está com fome, E E a temperatura é maior ou 118 00:05:41,010 --> 00:05:45,060 igual a 100, você pode imprimir comer sorvete. 119 00:05:45,060 --> 00:05:48,370 Mais se você está com fome E E a temperatura é inferior a 120 00:05:48,370 --> 00:05:52,420 ou igual a zero, você pode printf ("comer comida picante"). 121 00:05:52,420 --> 00:05:55,200 Finalmente, se você não estiver com fome em tudo, você pode imprimir "não 122 00:05:55,200 --> 00:05:56,710 comer qualquer coisa. " 123 00:05:56,710 --> 00:06:00,130 >> Eu sou Shekhawat Vipul, e este é CS50.