>> Doug LLOYD: V redu, tako da kaj je govoril o zank.
Torej zanke so nekako kul saj omogočajo svoj program
izvršiti vrstic kode znova in znova in znova.
Večkrat, ne da kopirati in prilepite ali drugače ponavljati.
Obstajajo tri glavne vrste zank boste videli.
Verjetno boste imeli priložnost za uporabo vsak, ko napredujete skozi CS50.
Nekatere od teh zank so precej seznanjeni, da vas iz nič,
zato še enkrat, kot smo to storili pri pogojnih, jih bomo pripravljeni ob bok
če obstaja analogija lahko črpamo.
>> Prvi je vedno iz nič, ki primerja medtem (res).
To je tisto, čemur pravimo neskončno zanko.
Vrstic kode med Curly naramnice, podobno kot puzzle kosov
ki se prilagaja notranjosti C od vedno blokira,
bo večkrat izvršiti od vrha navzdol, znova in znova in znova,
večno.
Konec koncev, če se spomnimo na naše Razprava o Boolovih izrazov,
Res je, vedno res.
Torej, če delamo nekaj tako dolgo, kot velja
se ga true-- zdi malo silly-- true Vedno je res, tako da boste vedno teče.
To bo teči večno in vekomaj, dokler ne bomo
najti način, da bi prekinil stran od njega z izjavo odmor, ki je spet,
smo videli malo prej smo so govorili o stikalu.
>> Ali drugače samo ubil naše Program, ki je mimogrede,
Če ste se kdaj znajdete v Stanje z neskončno zanko
in ne veste, kako ustaviti vaš program s tekmovanje v teku.
Samo hit nadzor in C ter da ubijem svoj program za vas.
Ampak to, še enkrat, je imenuje neskončna zanka.
To je zanka, ki bo trajal večno.
Sedaj pa zanke niso vedno neskončno, saj tudi
moremo nadomestiti Boolean izraz z nečim
malo bolj uporabno kot samo res.
Torej, tukaj je še en primer.
Medtem ko so nekateri Boolean izraz in nato zaviti oklepaji.
To je precej podoben ponavljati, dokler iz nič.
Čeprav je v sekundi, bom pojasniti razliko.
>> Torej v C, če Boolove izražanja Notranjost while
ocenjuje, da res, vrsticami Koda med zavite oklepaje
bo večkrat izvršiti znova in znova in znova, dokler Boolove izražanja
neresničen.
Tako, na primer, boste morda imajo nekakšen števec.
Torej pravite na začetku ta zanka pravijo int x enaka nič.
Medtem x je manjši od 100, storite nekaj Stvari znotraj te zavitimi oklepaji,
nato pa na koncu vašega zanke, praviš x plus plus, ste povečevanje x.
Sčasoma x bo dobil 100 in vam bo
ustavi, ker pogojem x je manjša od 100
ne bo več veljalo kot Takoj ko X je enako 100.
100 je ne manj kot 100.
>> Zdaj nekoliko zmedeno, obnašanje na praske bloka se odpravi.
Torej biti res previdni, če je to vaš prvi plenilec v uporabo zank.
V bistvu, ponovite do bloka v Scratch
bo ponovil nekaj znova in znova in znova,
do izražanja, Boolean izraz v šesterokotnika je res.
Tako bo vztrajati početje je, dokler je res.
Medtem pa bo while zanko naprej, da to storite, dokler je napačen.
Tako da si precej podobna, vendar tam je, da je malo razlika samo
biti previdni, še posebej, ko bo vaš prvi plenilec od prehoda
da Scratch v c.
Naslednja vrsta zanke dejansko zelo podobni.
To se imenuje storila, medtem ko zanke.
Ta zanka se izvaja vse vrstice kode med zavitimi oklepaji enkrat,
in potem bo pregled boolean izraz.
Če Boolove izražanja ovrednoten kot resničen,
pa bom šel nazaj in ponovite da postopek znova in znova
in več, dokler logičnim izraz neresničen.
Torej, ta zanka, za razliko od while, je zagotovljeno, da se vsaj en čas.
To je lahko zelo uporabna.
>> Končno imamo za zanke.
Za zanke so nekako skladenjsko neprivlačna
in tam je veliko dogaja tukaj, tako nosijo s seboj
kot smo poskušali in break teh kosov narazen.
Na splošno velja uporaba o je za zanke vas
želite ponoviti nečim določeno število krat.
V tem primeru tod Imam ponavljanja blok
iz nič, kar je analogen za zanko
v C, ponavljanje nečesa 10-krat.
In za zanko levo tam, ki
je štiri zanke, da bi naredil isto stvar.
To bi bilo 10-krat.
Šteto od nič, smo prirastek vsak sredino zanke.
In bomo vztrajati početje, da dokler ne znaša manj kot 10.
>> Torej, kaj se zgodi?
Obstaja cel kup kode tam.
Oglejmo prekinil jo navzdol kaj se dogaja korak
za korakom, kot smo kopati skozi zanko.
Prva stvar, ki se je zgodilo, števec spremenljivka je center.
Vse na levi strani, ki je prvi podpičje znotraj oklepajev
se izvaja.
V tem primeru smo rekoč int i enak 0.
Razglasi novo spremenljivko sem poklical, da spremenljivk je vrsta celo
in mi praviš vrednosti znotraj da spremenljivka se bo nič.
>> Druga stvar, ki mi je smo nato takoj oceniti
boolean izraz.
Logični izraz je v Sredi obeh podpičjem.
I je manj kot 10.
Res je tukaj, kajne?
Pravkar smo rekli, i je enaka nič, tako da je 0 manj kot 10,
in tako, da je pogoj je res in bomo zdaj
nadaljujte izvršiti telo zanke.
Če je bila lažna.
Če je, na primer, sem rekel namesto i je enak 0 pa sem rekel, da je enak 15,
int i enaka 15.
No 15 je ne manj kot 10, zato smo ne bi nikoli vstopiti v telo zanke
ker Boolove izražanja da bi ocenila, da je lažna.
>> Ko smo šli skozi od vrha do dna, srečamo, da zapiranje kodrasti naramnicami,
tretja stvar zgodi.
Števec spremenljivka je poveča, ali še bolje, linije
kode izjave po Drugi podpičje notranjosti
za zanke oklepajih se izvaja.
Tako smo začeli s rekoč int i enak 0.
Potem smo preveriti, ali ne boolean izraz je res.
0 je manj kot 10, tako da je res.
Torej bomo nadaljevali v telesu zanke.
Stvari se bo zgodilo znotraj zanke, in ko se srečamo, da je zapiranje kodrasti
brace, naslednja stvar, ki smo storiti je, da rečemo i plus, plus.
Bil sem nič, zdaj jaz eno.
Potem smo ponovno preveriti vrednost boolean izraz v sredini.
Eden od njih je manj kot 10.
Torej bomo šli skozi to znova in znova obdelati.
Bomo prišli do zaprtja spet kodrasti brace.
Bomo prirastek i od 1 do 2 in od 2 do 3.
In tako naprej in tako naprej in tako naprej, dokler Sčasoma sem se vrednost postane 10.
Je 10 manj kot 10?
No.
Šteto od 0, smo šli skozi 10 ponovitev zanke.
Smo se ponovi 10-krat, samo kot smo to storili v Scratch bloku.
In tako, da je v bistvu Postopek za štiri zanke.
>> Zdaj ob proč dejanska koda in dajanje
v samo nekaj osnovnih splošnih izjav.
Tukaj je, kaj se zgodi.
Vse izjave v začetek se najprej izvede.
Morda imate več kot eno.
Nato je logični izraz preveriti.
Če je izraz ovrednoten kot resničen, izvršiti v telesu zanke enkrat.
Če je izraz ovrednoti na false, smo naredili.
Mi ne izvršitev Telo zanke na vseh.
Potem smo izvršena Telo zanke enkrat,
potem smo to, kar je v prirastek del tam.
Ki se običajno bo nekaj podobnega i plus, plus
ali kaj podobnega, da spreminja števca.
Potem, ko smo prirastek smo Ponovno preverite izraz
in ponovite te korake, znova in znova in več dokler izraz
ni več res.
>> Torej, kaj so primeri uporabe za zanko?
Uporabite uporabljate while zanko, kadar hočeš zanka ponoviti
neznano število krat, vendar morebiti ne bi teči vse.
Res Pogost primer nekaj časa zanka se uporablja
je teči krmilnega toka za igro.
Morda ne veste, kako dolgo Uporabnik se bo igral,
vendar boste želeli obdržati počne isto stvar.
Posodabljanje položaje Različne sprites na krovu.
Hočeš, da se stvari premika ob vsakem času,
vendar ne veste, ko se Uporabnik se bo nehal igrati
ali ko boš zmanjka življenj.
Torej, medtem ko je zanka je res dobro za nekaj takega.
To je dober primer uporabe.
>> Za opravila, medtem ko zanke, to je precej podobno.
Hočeš zanka ponoviti neznano število krat, vendar vsaj enkrat.
Morda je to uporabite za igro Tudi, toda res skupna primer uporabe
je spodbudilo uporabnika za vnos.
Na splošno bi lahko rekli kaj kot, da mi pozitivno celo število,
in morda dal, da notranjost Opravila while.
Tako da bo vedno jih vprašajte vsaj enkrat na pozitivno celo število.
Če so vam pozitivno celo število, boste morda zlomil iz zanke.
Vi bi bilo treba storiti.
Boolean izraz v DO medtem ko bi bilo lažno.
>> In ne boste jih spet vprašal.
Če so vam negativno število kadar jih vnesete nekaj besedo ali nekaj, kar je
ni res koristno vi, boste morda uporabite
ne while zanko, da se vrnete in narediti spet in spet.
Vi zagotovo želeli vprašati jim dam številko enkrat,
vendar ne veste, kako veliko krat ko da bi jih lahko škodljivci.
In tako da storijo, ko je velika uporaba velja za pozove uporabnika za vnos.
In za zanke uporabo Primer tipično je, ko
želite ponoviti zanko diskretna število krat,
čeprav morda ne vem, kolikokrat
v trenutku, ko je program sestavljen.
>> Tako, na primer, morda imate program kjer si poziv uporabniku za številko.
In vstopijo 100.
In potem si za zanko bo V tem primeru teče 100-krat.
Ali morda vstopijo 1000 v svojem programu
in nato zaženite zanka 1.000-krat.
To je določeno število krat.
Oni niso nujno vedo, kaj to število
je program trenutku je prevedena.
To ni všeč, a while zanko kjer bi bilo neskončno.
To je precej več da si samo ne vem.
Zdaj pa čeprav sem imel opisani vsi ti primeri uporabe,
morate vedeti, da je v precej veliko vsako okoliščino,
lahko zamenjajte vse tri od teh zank.
Lahko uporabite za zanke, kjer ste bi sicer uporabite while zanko.
Lahko uporabite za zanke, kjer je to ki ste jo uporabili storila, medtem ko zanke in tako naprej.
To je lahko precej zapleteno včasih, tako na splošno, da je to dobra praksa
držijo tipičen primer uporabe.
Uporabite storila, medtem ko zanke, če vas hotel nekaj enkrat, vsaj.
Uporabite za zanke, če želite narediti Nekaj ​​določeno število krat.
Konec koncev, to je, zakaj obstaja tri različne vrste zank.
>> Torej jih lahko uporabljamo v pravem kontekstu.
Ampak lahko interchange jih, če hočeš.
Če se počutite udobno z while zanke in si vedno želeli uporabiti, medtem ko zanke.
To je nekaj, kar lahko storite, čeprav je to
morda malo skladenjsko težavno, kadar za loop
bi bilo veliko bolj enostavno.
>> Moje ime je Doug Lloyd in to je CS50.