[Powered by Google Translate] VIPUL Shekhawat: Hi. En ĉi tiu video mi estos enkonduki vin al unu el la plej fundamentaj konceptoj en logiko kaj programado, la Bulea valoro. Se vi estas scivola pri la nomo, Bulea valoroj kaj kondiĉoj estas nomita post George Boole, la 19-a jarcento matematikisto kiu pioniris kion oni nun nomas Bulea logiko, kiu estas bazita per grupigo kaj kompari Bulea valoroj. Do kio estas Bulea valoro? Al Bulea valoro estas variablo kiu ĝuste havas du eblajn kondiĉoj, vera kaj malvera. Vi povas pensi pri tio kiel lumo ŝaltilon. Ĝi povas esti aŭ sur aŭ for, vera aŭ malvera. Simile, duumaj nombroj povas esti unu aŭ nulo, kio Estas analoga al la sama afero, vera aŭ malvera. Simpla, ĉu ne? La koncepto de Bulea variablo estas facile komprenas, sed la manieroj en kiuj vi povas manipuli kaj kombini ilin permesas multe de granda komplekseco. Krom la du fundamentajn Bulea valoroj, ekzistas multaj Bulea operatoroj kiuj povas kombini du Bulea valoroj en sola unu. Du el la plej baza, sed plej grava operatoroj, estas AND kaj OR. La KAJ operatoro rezultoj en valoro de veraj nur se ambaŭ la valoroj prenas estas veraj, do falsa KAJ vera estas falsa. Simile, falsaj KAJ falsa estas falsaj. Nur vera KAJ vera egalas vera. La OR operatoro rezultoj en la valoro de vera se iu el la valoroj prenas estas vera. Do falsa OR falsa estas malvera, sed vera OR falsa estas vera, kaj vera AŬ vera ankaŭ estas veraj. La NE operatoro simple prenas Bulea variablo kaj donas vi la malo de tio. Do vera igas falsa kaj falsaj iĝas vera. Se vi metas la tutan aferon kune, variablojn kun operatoroj, oni kreas Bulea esprimo. Nun ni rigardu ekzemplon de nestumado tiuj Bulea esprimoj. Ĉu vi memoras la ordo de operacioj? Kiel kun nombroj, bulea esprimoj povas esti grupita per uzante krampoj. Do estas esence tri esprimoj tie, NE z, y AŬ NE z, kaj x KAJ y AŬ NE z. Ni povas eltrovi la valoroj de tiuj por rigardi la ene kaj laboras niaj elirejo. Do ni supozu x estas vera, y estas vera, kaj z estas ankaŭ vera. Kion NE z taksi al? Ekde ni starti kun vera, NE z devus simple malvera. Do nun ni havas falsan AŬ y. Se vi rigardos supro, vi povas vidi ke y estas vera, y AŬ malvera estus ankoraŭ nur esti vera. Laste ni, havi x KAJ vera. Do kio estas x KAJ vera? x estas vera kaj vera estas ankaŭ vera, do ĉi tiu tuta afero taksas al vera. Tuj poste, ni rigardu kiel tiuj Bulea esprimoj povas efektive esti uzata en programlingvo. En C, la sintakson por Buleaj operacioj estas iom malsama de la vortoj kaj, aŭ, kaj ne. Ni kovri la sintakso. Por uzi la KAJ operatoro, ni skribi duoblan signo. La OR operatoro estas duopan linio karaktero. Ĉi tiu estas la rekta vertikala linio, kiun vi povas verŝajne trovi pli supre la Entajpu aŭ Reveno klavoj sur via klavaro. Kaj la NE operatoro estas simple ekkrion marko. Do por reverki la esprimon ni antaŭe, ni farus nur skribi ĉi x && y | |! z. Tio simple prenante ekzakte kion ni havis antaŭ kaj turnante gxin en C sintakso. Nun ke ni tradukis nian Bulea esprimo en kodo, kiel ni vere uzas ĝin? Supozu ke ni havas iun kodon kiu devus nur ekzekuti se iuj esprimo estas vera. Por ĉi tiu celo, preskaux cxiuj programlingvoj apogas la se kondiĉo. Supozu ke ni havas Bulea variablo, x, kaj ni volas iun kodo por ekzekuti nur se x estas vera. Ni simple skribu la vorton se, metis krampojn kaj metis la Bulea esprimo ene de tiuj krampoj. Post tio, ni envolver la kodon ni volas ekzekuti en bukla krampoj. Kio se estas iu kodo vi ŝatus ekzekuti se x ne estas vera? Simple skribu la vorton alie post la se aserto, wrap la alia kodo en bukla krampoj, kaj tiam tiu kodo estos ekzekuti se x ne estas vera. Alia utila lingvo konstruo estas alie se. Supozi estas du Booleans vi ŝatus konsideri, ni nomas ilin x kaj y. Ni deklaras tiuj variabloj al esti vera kaj falsa. Se x kaj y estas vera, vi ekzekuti la unua bloko de kodo ene de tiuj buklaj krampoj. Else if x aŭ y estas vera, vi ekzekuti la sekvanta bloko de kodo, kaj alia vin ekzekuti la lasta bloko de kodo. Laborante kun Bulea valorojn kiel ĉi tio estas utila, sed vi estas vere nur limigita al malmultaj kondiĉoj. Booleans povas igi multe pli potenca, kiam vi enkondukos komparoj. Ĉi tiuj estas manieroj kompari valorojn kiuj estas origine ne Bulea. Por vidi ĉu du valoroj estas la sama, oni povas uzi egalas egaluloj, kiu estas vera se ili estas egalaj kaj malvera se ili ne estas. Aliaj komunaj komparoj estas malpli ol, pli grandaj ol, malpli ol aŭ egala al, kaj pli granda ol aŭ egala al. Ĉio kiun mi kovris tiom estis bela abstrakta, tiel ni enkondukos tiujn komparojn en unu lasta konkreta ekzemplo. Supozi estas du variabloj, temperaturo kaj isHungry. Temperaturo estas glitpunkta nombro, do ĝi povas havi decimalaj. Vi programado tre simpla apliko kiu diras iu kion manĝi depende de la temperaturo. Se vi malsatas, KAJ KAJ la temperaturo estas pli granda ol aŭ egala al 100, vi povas presi manĝi glaciaĵon. Else se vi estas malsata KAJ KAJ la temperaturo estas malpli ol aŭ egala al nulo, vi povas printf ("mangxi pika manĝo»). Laste, se vi ne estas malsata tute ne, vi povas presi "ne manĝi nenion. " Mi estas Vipul Shekhawat, kaj ĉi tiu estas CS50.