[Powered by Google Translate] Vipul SHEKHAWAT: Hej.
I den här videon kommer jag att introducera dig till en av de mest
grundläggande begrepp inom logik och
programmering, booleskt värde.
Om du är nyfiken på namnet, booleska värden och
villkor uppkallad efter George Boole, en 19th century
matematiker som pionjärer det som nu kallas boolesk
logik, vilken är baserad på gruppering och
jämföra booleska värden.
>> Så vad är ett booleskt värde?
Ett booleskt värde är en variabel som bara har två möjliga
förhållanden, sant och falskt.
Du kan se det som en strömbrytare.
Det kan vara antingen på eller av, sant eller falskt.
Likaså, kan binära tal vara antingen ett eller noll, vilket
är analogt med samma sak, sant eller falskt.
Enkelt, eller hur?
Konceptet med en boolesk variabel är lätt att
förstå, men det sätt på vilket du kan manipulera och
kombinera dem möjliggör en mycket större komplexitet.
Förutom de två grundläggande booleska värden,
det finns många booleska operatorer som kan kombinera två
Booleska värden i en enda.
>> Två av de mest grundläggande, men viktigast
operatörer är AND och OR.
OCH-operatorn resulterar i ett värde true om endast båda
de värden som krävs är sant, är så falska och äkta falskt.
Likaså är falskt och false false.
Enda sanna och äkta lika sant.
Operatorn OR resulterar i värdet true om någon av
värden det tar är sanna.
Så falsk eller FALSKT är falsk, men SANT eller FALSKT är sant, och
Sant eller sant är också sant.
Operatorn NOT tar helt enkelt en boolesk variabel och ger
Ni motsatsen till det.
Så sant blir falskt och falskt blir sant.
Om du sätter det hela tillsammans, variabler med
operatörer, skapar du ett booleskt uttryck.
>> Nu ska vi titta på ett exempel på häckande dessa Boolean
uttryck.
Minns du ordning i verksamheten?
Som med siffror, kan booleska uttryck grupperas med
använda parenteser.
Så det finns i princip tre uttryck här, inte z, y eller
EJ z, och x och y eller z. EJ.
Vi kan räkna ut värdena för dessa genom att titta på
inne och arbetar vår väg ut.
Så låt oss anta x är sant, y sant, och z är också sant.
Vad skulle inte z utvärderas till?
Eftersom vi börjar med sant, skulle inte z helt enkelt falskt.
Så nu har vi falsk eller y.
Om du tittar på topp, kan du se att y är sant, Y eller falskt
skulle fortfarande bara vara sant.
Slutligen vi har X och sant.
Så vad är x och sant?
x är sant och sant är också sant, så hela den här saken
utvärderas till true.
>> Nästa, låt oss titta på hur dessa booleska uttryck kan
faktiskt användas i ett programmeringsspråk.
I C är syntaxen för Booleska operationer lite annorlunda
från ord och, eller och inte.
Låt oss täcker syntaxen.
Om du vill använda och operatör, skriver vi en dubbel-tecken.
Operatorn OR är en dubbel rörledning karaktär.
Detta är den raka vertikala linjen, som du kan förmodligen
hitta ovanför Retur på tangentbordet.
Och den inte operatören är helt enkelt ett utropstecken.
Så för att skriva uttrycket som vi hade tidigare, vi skulle bara
skriv här x && y | |! z..
Som bara tar exakt vad vi hade tidigare och vänder
det i C-syntax.
>> Nu när vi har översatt vår booleskt uttryck i kod,
Hur använder vi egentligen det?
Låt oss säga att vi har en del kod som bara ska köras om
visst uttryck är sant.
För detta ändamål, ganska mycket alla programmeringsspråk
stödja om villkoret.
Låt oss säga att vi har en boolesk variabel, x, och vi vill ha några
kod att exekvera endast om x är sant.
Vi skulle helt enkelt skriva ordet om, sätta parentes, och sätta
det booleska uttrycket inom dessa parenteser.
Efter att linda vi koden vi vill
köra i klammerparenteser.
Tänk om det finns en del kod som du vill
körs om x inte sant?
Helt enkelt skriva ordet annars efter if, linda
den andra koden i klammerparenteser, och då koden
körs om x är inte sant.
>> En annan användbar språk konstruktion är annars om.
Anta att det finns två Booleans du vill överväga,
låt oss kalla dem x och y..
Vi förklarar dessa variabler för att vara sant och falskt.
Om x och y är sanna, kör du den första blocket
kod inom dessa klammerparenteser.
Annars om x eller y är sanna, kör du nästa block
kod och annat du köra det sista blocket med kod.
Arbeta med Booleska värden som detta är användbart, men
du verkligen bara begränsad till ett fåtal förhållanden.
Booleans kan bli mycket mer kraftfull när man introducerar
jämförelser.
Dessa är olika sätt att jämföra värden som är
inte ursprungligen Boolean.
För att se om två värden är lika, kan du använda lika
jämlikar, vilket är sant om de är lika och falskt om
de inte.
Andra vanliga jämförelser är mindre än, större än, mindre
än eller lika med och större än eller lika med.
>> Allt jag har täckt hittills har varit ganska abstrakt, så
låt oss införa dessa jämförelser i en sista
konkret exempel.
Anta att det finns två variabler,
temperatur och isHungry.
Temperaturen är ett flyttal, så att den kan ha
decimaler.
Du programmerar en mycket enkel applikation som berättar
någon vad man ska äta, beroende på temperaturen.
Om du är hungrig, och och temperaturen är högre än eller
lika med 100, kan du skriva ut äta glass.
Annars om du är hungrig och och temperaturen är lägre än
eller lika med noll, kan du printf ("äta kryddig mat").
Slutligen, om du inte är hungrig alls, kan du skriva ut "inte
äta något. "
>> Jag Vipul Shekhawat, och detta är CS50.