[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.