1 00:00:07,090 --> 00:00:07,370 [Powered by Google Translate] Vipul Shekhawat: Salut. 2 00:00:07,370 --> 00:00:09,410 Dans cette vidéo, je vais vous présenter plus de 3 00:00:09,410 --> 00:00:11,260 concepts fondamentaux de la logique et 4 00:00:11,260 --> 00:00:13,880 programmation, la valeur booléenne. 5 00:00:13,880 --> 00:00:16,210 Si vous êtes curieux de connaître le nom, les valeurs booléennes et 6 00:00:16,210 --> 00:00:19,440 conditions sont nommés d'après George Boole, un 19ème siècle 7 00:00:19,440 --> 00:00:22,030 mathématicien, pionnier de ce qu'on appelle aujourd'hui booléenne 8 00:00:22,030 --> 00:00:23,980 la logique, qui est basée par regroupement et 9 00:00:23,980 --> 00:00:26,030 comparant les valeurs booléennes. 10 00:00:26,030 --> 00:00:28,250 >> Alors, quelle est une valeur booléenne? 11 00:00:28,250 --> 00:00:30,920 Une valeur booléenne est une variable qui a seulement deux possible 12 00:00:30,920 --> 00:00:33,710 conditions, vraies et fausses. 13 00:00:33,710 --> 00:00:35,380 Vous pouvez penser que c'est un interrupteur de lumière. 14 00:00:35,380 --> 00:00:38,530 Il peut être activé ou désactivé, vrai ou faux. 15 00:00:38,530 --> 00:00:41,880 De même, des nombres binaires peuvent être soit une ou nulle, ce qui 16 00:00:41,880 --> 00:00:45,680 est analogue à la même chose, vrai ou faux. 17 00:00:45,680 --> 00:00:46,840 Simple, non? 18 00:00:46,840 --> 00:00:48,750 Le concept d'une variable booléenne est facile à 19 00:00:48,750 --> 00:00:51,720 comprendre, mais la façon dont vous pouvez manipuler et 20 00:00:51,720 --> 00:00:54,570 combiner leur permet de bien plus grande complexité. 21 00:00:54,570 --> 00:00:57,030 En plus de ces deux fondamentaux des valeurs booléennes, 22 00:00:57,030 --> 00:00:59,350 il ya beaucoup d'opérateurs booléens qui peuvent combinent deux 23 00:00:59,350 --> 00:01:01,760 Les valeurs booléennes dans un seul. 24 00:01:01,760 --> 00:01:03,540 >> Deux des plus basiques, mais le plus important 25 00:01:03,540 --> 00:01:06,570 opérateurs, sont AND et OR. 26 00:01:06,570 --> 00:01:09,950 Les résultats de l'opérateur AND dans la valeur true seulement si les deux 27 00:01:09,950 --> 00:01:14,630 les valeurs qu'elle prend sont vrai, donc faux et vrai est faux. 28 00:01:14,630 --> 00:01:17,540 De même, faux et faux est faux. 29 00:01:17,540 --> 00:01:21,080 Seuls vrais et égal à true. 30 00:01:21,080 --> 00:01:24,050 Les résultats de l'opérateur OU dans la valeur true si l'une des 31 00:01:24,050 --> 00:01:25,620 valeurs qu'elle prend sont vraies. 32 00:01:25,620 --> 00:01:30,460 Alors faux ou faux est faux, mais vrai ou faux est vrai, et 33 00:01:30,460 --> 00:01:33,710 OU vrai vrai, c'est vrai aussi. 34 00:01:33,710 --> 00:01:36,560 L'opérateur NOT prend simplement une variable booléenne et donne 35 00:01:36,560 --> 00:01:37,830 vous à l'opposé de celui-ci. 36 00:01:37,830 --> 00:01:40,950 Tellement vrai devient faux et le faux devient vrai. 37 00:01:40,950 --> 00:01:43,130 Si vous mettez le tout ensemble, variables avec 38 00:01:43,130 --> 00:01:46,320 opérateurs, vous créez une expression booléenne. 39 00:01:46,320 --> 00:01:48,550 >> Maintenant, regardons un exemple d'imbrication de ces booléenne 40 00:01:48,550 --> 00:01:49,950 expressions. 41 00:01:49,950 --> 00:01:51,840 Vous rappelez-vous l'ordre des opérations? 42 00:01:51,840 --> 00:01:54,700 Comme avec les nombres, expressions booléennes peuvent être regroupés par 43 00:01:54,700 --> 00:01:56,270 utilisant des parenthèses. 44 00:01:56,270 --> 00:02:00,150 Donc, il ya essentiellement trois expressions ici, pas z, y OU 45 00:02:00,150 --> 00:02:04,740 PAS z, et x et y ou z PAS. 46 00:02:04,740 --> 00:02:07,080 Nous pouvons déterminer les valeurs de ceux-ci en regardant le 47 00:02:07,080 --> 00:02:09,020 l'intérieur et à travailler notre chemin. 48 00:02:09,020 --> 00:02:12,850 Donc, supposons que x est vrai, y est vrai, et z est également vrai. 49 00:02:12,850 --> 00:02:15,270 Que ne ferait-z évaluer le faire? 50 00:02:15,270 --> 00:02:20,970 Puisque nous commençons à vrai PAS z serait tout simplement faux. 51 00:02:20,970 --> 00:02:26,230 Nous avons donc maintenant faux ou y. 52 00:02:26,230 --> 00:02:29,740 Si vous regardez au-dessus, vous pouvez voir que y est vrai, Y ou faux 53 00:02:29,740 --> 00:02:32,870 serait toujours juste être vrai. 54 00:02:32,870 --> 00:02:37,580 Enfin, nous, avons x et vrai. 55 00:02:37,580 --> 00:02:39,300 Alors, quel est x ET vrai? 56 00:02:39,300 --> 00:02:42,590 x est vrai et vrai est vrai aussi, c'est donc tout 57 00:02:42,590 --> 00:02:45,070 est évaluée à vrai. 58 00:02:45,070 --> 00:02:47,270 >> Ensuite, nous allons voir comment ces expressions booléennes peuvent 59 00:02:47,270 --> 00:02:49,890 en fait être utilisées dans un langage de programmation. 60 00:02:49,890 --> 00:02:52,900 En C, la syntaxe pour les opérations booléennes est un peu différent 61 00:02:52,900 --> 00:02:55,520 des mots et, ou, et non. 62 00:02:55,520 --> 00:02:57,210 Nous allons couvrir la syntaxe. 63 00:02:57,210 --> 00:03:00,510 Pour utiliser l'opérateur AND, nous écrivons une esperluette double. 64 00:03:00,510 --> 00:03:03,620 L'opérateur OR est un personnage double pipe line. 65 00:03:03,620 --> 00:03:05,780 Il s'agit de la ligne droite verticale, que vous pouvez probablement 66 00:03:05,780 --> 00:03:09,070 trouver au-dessus de la touche Entrée ou Retour de votre clavier. 67 00:03:09,070 --> 00:03:12,550 Et l'opérateur NOT est simplement un point d'exclamation. 68 00:03:12,550 --> 00:03:15,550 Donc, pour réécrire l'expression que nous avions avant, nous aurions tout simplement 69 00:03:15,550 --> 00:03:27,010 écrire ces && x y | |! z. 70 00:03:27,010 --> 00:03:29,250 C'est juste de prendre exactement ce que nous avions avant et en tournant 71 00:03:29,250 --> 00:03:31,870 il en syntaxe C. 72 00:03:31,870 --> 00:03:34,370 >> Maintenant que nous avons traduit notre expression booléenne dans le code, 73 00:03:34,370 --> 00:03:36,160 comment pouvons-nous réellement l'utiliser? 74 00:03:36,160 --> 00:03:38,170 Disons que nous avons du code qui ne devrait exécuter si une 75 00:03:38,170 --> 00:03:40,330 l'expression est vraie. 76 00:03:40,330 --> 00:03:42,750 A cet effet, à peu près tous les langages de programmation 77 00:03:42,750 --> 00:03:45,190 soutenir la condition si. 78 00:03:45,190 --> 00:03:47,870 Disons que nous avons une variable booléenne, x, et nous voulons une certaine 79 00:03:47,870 --> 00:03:50,850 code à exécuter que si x est vrai. 80 00:03:50,850 --> 00:03:54,900 Nous souhaitons simplement écrire le mot si, mis entre parenthèses, et de mettre 81 00:03:54,900 --> 00:03:57,800 l'expression booléenne dans ces parenthèses. 82 00:03:57,800 --> 00:03:59,680 Après cela, nous envelopper le code que nous voulons 83 00:03:59,680 --> 00:04:01,080 exécuter dans des accolades. 84 00:04:07,160 --> 00:04:08,150 Et s'il y avait un peu de code que vous souhaitez 85 00:04:08,150 --> 00:04:10,260 exécuter si x n'est pas vrai? 86 00:04:10,260 --> 00:04:13,310 Il suffit d'écrire le mot d'autre après l'instruction if, enveloppement 87 00:04:13,310 --> 00:04:16,930 l'autre code entre accolades, et alors ce code sera 88 00:04:16,930 --> 00:04:18,399 exécuter si x n'est pas vrai. 89 00:04:26,640 --> 00:04:29,840 >> Une autre structure de langage utile est d'autre si. 90 00:04:29,840 --> 00:04:32,210 Supposons qu'il existe deux booléens que vous souhaitez étudier, 91 00:04:32,210 --> 00:04:34,330 appelons-les x et y. 92 00:04:34,330 --> 00:04:37,340 Nous déclarons ces variables pour être vrai et faux. 93 00:04:37,340 --> 00:04:40,540 Si x et y sont vraies, vous exécutez le premier bloc de 94 00:04:40,540 --> 00:04:42,630 code dans les accolades. 95 00:04:42,630 --> 00:04:46,470 Sinon, si x ou y sont vraies, vous exécutez le prochain bloc de 96 00:04:46,470 --> 00:04:50,590 code, et d'autre vous exécutez le dernier bloc de code. 97 00:04:50,590 --> 00:04:52,650 Travailler avec les valeurs booléennes comme cela est utile, mais 98 00:04:52,650 --> 00:04:55,750 vous êtes vraiment seulement limité à quelques conditions. 99 00:04:55,750 --> 00:04:58,400 Les booléens peuvent devenir beaucoup plus puissant lorsque vous introduisez 100 00:04:58,400 --> 00:04:59,900 comparaisons. 101 00:04:59,900 --> 00:05:01,280 Ce sont des façons de comparer les valeurs qui sont 102 00:05:01,280 --> 00:05:03,300 pas initialement booléenne. 103 00:05:03,300 --> 00:05:06,060 Pour voir si les deux valeurs sont identiques, vous pouvez utiliser est égal à 104 00:05:06,060 --> 00:05:09,340 égaux, ce qui est vrai si elles sont égales et false dans le cas 105 00:05:09,340 --> 00:05:10,530 ils ne sont pas. 106 00:05:10,530 --> 00:05:15,360 D'autres comparaisons sont communs inférieur à, supérieur à, inférieur 107 00:05:15,360 --> 00:05:19,740 ou égale à, et supérieure ou égale à. 108 00:05:19,740 --> 00:05:22,220 >> Tout ce que j'ai abordés jusqu'ici a été assez abstraite, 109 00:05:22,220 --> 00:05:24,320 nous allons introduire ces comparaisons dans un dernier 110 00:05:24,320 --> 00:05:25,850 exemple concret. 111 00:05:25,850 --> 00:05:27,130 Supposons qu'il existe deux variables, 112 00:05:27,130 --> 00:05:29,430 température et isHungry. 113 00:05:29,430 --> 00:05:31,560 La température est un nombre à virgule flottante, donc il peut avoir des 114 00:05:31,560 --> 00:05:33,090 décimales. 115 00:05:33,090 --> 00:05:35,440 Vous programmez une application très simple qui raconte 116 00:05:35,440 --> 00:05:38,270 quelqu'un ce qu'il faut manger en fonction de la température. 117 00:05:38,270 --> 00:05:41,010 Si vous avez faim, ET ET la température est supérieure ou 118 00:05:41,010 --> 00:05:45,060 égal à 100, vous pouvez imprimer manger de la crème glacée. 119 00:05:45,060 --> 00:05:48,370 Sinon, si vous avez faim et et la température est inférieure à 120 00:05:48,370 --> 00:05:52,420 ou égale à zéro, vous pouvez printf ("manger des aliments épicés"). 121 00:05:52,420 --> 00:05:55,200 Enfin, si vous n'avez pas faim du tout, vous pouvez imprimer "ne sont pas 122 00:05:55,200 --> 00:05:56,710 manger quoi que ce soit. " 123 00:05:56,710 --> 00:06:00,130 >> Je suis Shekhawat Vipul, et c'est CS50.