>> DOUG LLOYD: zote haki, hivyo hebu majadiliano juu ya mizunguko.
Hivyo mizunguko ni aina ya baridi kwa sababu wao kuruhusu mpango wako
kutekeleza mstari wa kanuni tena na tena na tena.
Tena na tena, bila ya kuwa na nakala na kuweka au vinginevyo kurudia kwao.
Kuna tatu kuu aina ya mizunguko utaona.
Pengine utasikia kuwa na nafasi ya kutumia kila mmoja kama wewe maendeleo kwa njia CS50.
Baadhi ya mizunguko hizi ni mzuri ukoo na wewe kutoka Scratch,
hivyo tena, kama tulivyofanya kwa conditionals, tutaweza kuweka yao juu bega kwa bega
kama kuna mfano tunaweza kuchora.
>> Kwanza ni milele kutoka Scratch, ambayo inalinganishwa na wakati (wa kweli).
Hii ni nini sisi kuwaita kitanzi usio.
Mstari wa kanuni kati ya curly braces, kiasi kama vipande puzzle
kuwa fit ndani ya C ya milele kuzuia,
nitafanya tena na tena toka juu hadi chini, tena na tena na tena,
milele.
Baada ya yote, kama unakumbuka yetu mjadala wa maneno Boolean,
kweli ni kweli daima.
Hivyo kama sisi ni kufanya kitu ili mradi kweli
ni true-- inaonekana silly-- kidogo kweli ni kweli daima, hivyo itabidi daima kukimbia.
Kutakuwa na kukimbia milele na milele na milele mpaka sisi
kutafuta njia ya kuvunja nje ya hiyo kwa mapumziko kauli, ambayo tena,
tuliona kidogo iliyopita sisi walikuwa wanazungumza juu ya kubadili.
>> Au vinginevyo kuua tu wetu mpango, ambayo kwa bahati,
kama wewe milele kupata mwenyewe katika hali na kitanzi usio
na wewe sijui jinsi ya kuacha mpango wako kutoka mbio.
Hit tu ya kudhibiti na C na kwamba kutakuwa na kuua mpango wako kwa ajili yenu.
Lakini hii, tena, ni aitwaye kitanzi usio.
Ni kitanzi kwamba inakwenda milele.
Sasa, wakati tanzi si daima usio na mipaka, kwa sababu pia
tunaweza kuchukua nafasi ya Boolean kujieleza na kitu
muhimu zaidi kidogo kuliko tu ya kweli.
Hivyo hapa ni mfano mwingine.
Wakati na baadhi Boolean kujieleza na braces curly kisha.
Hiyo ni pretty much sawa kurudia mpaka, kutoka mwanzo.
Ingawa katika pili, mimi itabidi kuelezea tofauti.
>> Hivyo katika C, kama kujieleza Boolean ndani ya kitanzi wakati
kutathmini kwa kweli, mistari ya kificho kati ya braces curly
nitafanya tena na tena tena na tena na juu ya mpaka kujieleza Boolean
kutathmini kwa uongo.
Hivyo kwa mfano, waweza kuwa na aina fulani ya kukabiliana.
Hivyo kusema wewe mwanzoni mwa kitanzi hii kusema int x sawa sifuri.
Wakati x ni chini ya 100, kufanya michache mambo ndani ya kwamba braces curly,
kisha katika mwisho wa kitanzi yako, unasema x pamoja pamoja, wewe ni incrementing x.
Hatimaye x kupata 100 na wewe
kuacha kwa sababu hali x ni chini ya 100
tena kuwa kweli kama Mara tu x ni sawa na 100.
100 ni si chini ya 100.
>> Sasa kwa kiasi fulani confusingly, tabia ya kuzuia mwanzo ni kuachwa.
Hivyo kuwa makini kweli kama hii ni kuliingia yako ya kwanza katika kutumia mizunguko.
Kimsingi, kurudia mpaka kuzuia katika Scratch
kurudia kitu tena na tena na tena,
mpaka kujieleza, Boolean kujieleza katika hexagons ni kweli.
Hivyo itakuwa kuendelea kufanya mpaka ni kweli.
Wakati huo huo, wakati kitanzi mapenzi kuendelea kufanya hivyo mpaka ni ya uongo.
Hivyo wao ni sawa kabisa, lakini kuna tofauti kidogo tu kwamba
kuwa makini ya hasa kama wewe kufanya kuliingia yako ya kwanza kutoka kipindi cha mpito
kwa Scratch katika c.
Aina ya pili ya kitanzi ni kweli pretty sawa.
Ni wito kufanya wakati kitanzi.
Kitanzi hii nitafanya mistari yote wa kanuni kati ya braces curly mara moja,
na basi itakuwa kuangalia kujieleza Boolean.
Kama kujieleza Boolean kutathmini kwa kweli,
kutakuwa na kurudi nyuma na kurudia kwamba mchakato tena na tena
na juu ya mpaka Boolean kujieleza kutathmini kwa uongo.
Hivyo kitanzi hii, tofauti na kitanzi wakati, ni uhakika ya kuendesha angalau mara moja.
Hii inaweza kuwa pretty muhimu.
>> Mwisho, tuna kwa kitanzi.
Kwa mizunguko ni aina ya syntactically unattractive
na kuna mengi kwenda juu ya hapa, hivyo kuzaa na mimi
kama sisi kujaribu na kuvunja vipande hayo mbali.
Kwa ujumla, kesi ya matumizi ya kwa kitanzi ni wewe
wanataka kurudia kitu a maalum ya idadi ya nyakati.
Katika mfano huu hapa, Nina kuzuia kurudia
kutoka Scratch, ambayo ni sawa na kwa kitanzi
katika C, kurudia kitu mara 10.
Na kwa kitanzi juu ya kushoto huko, ambayo
ni kitanzi nne ambazo ingekuwa kufanya kitu kimoja.
Hii aliamua kwenda mara 10.
Kuhesabu kutoka sifuri, sisi increment kila mwanya wa kitanzi.
Na sisi kuendelea kufanya hivyo mpaka i ni chini ya 10.
>> Hivyo kile kinachotokea?
Kuna mengi yote ya kificho huko.
Hebu kuvunja chini kwa kile kinachotokea hatua
kwa hatua kama sisi kuchimba kupitia kwa kitanzi.
Jambo la kwanza kwamba kilichotokea ni kukabiliana na kutofautiana ni kituo cha.
Kila kitu kwa upande wa kushoto wa kwanza semicolon ndani ya mabano
ni kunyongwa.
Katika kesi hiyo, sisi ni akisema int i sawa 0.
Kutangaza variable mpya iitwayo i, kwamba vigezo ni aina integer
na sisi ni kusema thamani ndani ya kwamba kutofautiana ni kwenda kuwa sifuri.
>> Jambo la pili sisi kufanya ni sisi kisha mara moja kutathmini
kujieleza Boolean.
Kujieleza Boolean ni katika katikati ya semicolons mbili.
Mimi ni chini ya 10.
Hiyo ni kweli hapa, sawa?
Sisi tu alisema i ni sawa na sifuri, na hivyo 0 ni chini ya 10,
na hivyo hali hiyo Ni kweli na sisi sasa
kuendelea kutekeleza mwili wa kitanzi.
Kama ilivyokuwa uongo.
Kama, kwa mfano, mimi alisema badala ya i sawa 0 kuna nilivyosema i sawa 15,
int i sawa 15.
Naam 15 ni si chini ya 10, hivyo sisi kamwe kuingia kwenye mwili wa kitanzi
kwa sababu kujieleza Boolean ingekuwa kuna kutathmini kuwa uongo.
>> Baada ya sisi kwenda kwa njia ya kutoka juu hadi chini, sisi kukutana kwamba kufunga curly brace,
Jambo la tatu kinatokea.
Kutofautiana kukabiliana ni incremented, au tuseme, mistari
ya kanuni za kauli baada semicolon pili ndani ya
kwa mizunguko mabano ni kunyongwa.
Hivyo sisi kuanza nje kwa akisema int i sawa 0.
Kisha sisi kuangalia kama au kujieleza Boolean ni kweli.
0 ni chini ya 10 hivyo ni kweli.
Hivyo sisi ni kwenda kuendelea ndani ya mwili kitanzi.
Mambo kutokea ndani ya kitanzi, na wakati sisi kukutana kwamba kufunga curly
Brace, jambo la pili sisi kufanya ni tunasema i pamoja, pamoja.
Nilikuwa sifuri sasa i ni moja.
Basi, sisi tena kuangalia thamani ya kujieleza Boolean katikati.
Moja ni chini ya 10.
Hivyo tutaweza kwenda kwa njia hii mchakato tena na tena.
Tutaweza kupata kufunga curly brace tena.
Tutaweza increment i kutoka 1 hadi 2 na 2-3.
Na kadhalika na kadhalika na kadhalika, mpaka hatimaye thamani i huwa 10.
Ni 10 chini ya 10?
Hakuna
Kuhesabu kutoka 0, tumeenda kwa njia ya 10 iterations ya kitanzi.
Tumekuwa alirudia mara 10, tu kama tulivyofanya katika kuzuia Scratch.
Na hivyo ndiyo kimsingi mchakato kwa kitanzi nne.
>> Sasa kuzichukua kanuni halisi na kuweka
katika baadhi tu ya msingi kauli ujumla.
Hapa ni nini kinatokea.
Taarifa zote katika kuanza ni kunyongwa kwanza.
Unaweza kuwa na zaidi ya moja.
Kisha, kujieleza Boolean ni checked.
Kama usemi kutathmini kwa kweli, kutekeleza mwili kitanzi wakati mmoja.
Kama usemi kutathmini kwa uongo, sisi ni kosa.
Hatuna kutekeleza mwili wa kitanzi wakati wote.
Baada tumekuwa kunyongwa mwili kitanzi wakati mmoja,
sisi kisha kufanya kile ambacho ni katika nyongeza sehemu huko.
Ambayo ni kawaida kwenda kuwa kitu kama i pamoja, pamoja na
au kitu kama hicho, kwamba modifies kukabiliana kutofautiana.
Kisha, baada ya sisi increment, sisi kuangalia kujieleza tena
na kurudia hatua hizo tena na tena na juu ya mpaka kujieleza ni
kweli tena.
>> Kwa hiyo kile kesi kwa kitanzi matumizi ni?
Kutumia matumizi kitanzi wakati wakati unataka kitanzi kurudia
idadi isiyojulikana ya nyakati, lakini ni uwezekano wanaweza kukimbia yote.
Mfano kweli ya kawaida ya wakati looping inatumiwa
ni kukimbia kudhibiti mtiririko kwa ajili ya mchezo.
Unaweza kujua ni muda gani user ni kwenda kuwa kucheza,
lakini unataka kuweka kufanya kitu kimoja.
Kuhuisha nafasi za sprites mbalimbali juu ya bodi.
Unataka kuweka mambo kusonga wakati wote,
lakini nyinyi hamjui wakati user ni kwenda kuacha kucheza
au wakati wao wanaenda kukimbia nje ya maisha.
Hivyo kitanzi wakati ni kweli nzuri kwa ajili ya kitu kama hicho.
Hiyo ni nzuri matumizi ya kesi.
>> Kwa kufanya wakati kitanzi, ni pretty sawa.
Unataka kitanzi kurudia haijulikani idadi ya nyakati, lakini angalau mara moja.
Unaweza kutumia hii kwa mchezo pia, lakini matumizi ya kawaida kesi kweli
ni kusababisha mtumiaji kwa ajili ya pembejeo.
Kwa ujumla, unaweza kusema kitu kama, nipe sifuri,
na unaweza kuweka kwamba ndani ya kufanya wakati kitanzi.
Hivyo itakuwa daima kuuliza yao katika mara moja angalau kwa sifuri.
Kama wao kukupa sifuri, unaweza kuvunja nje ya kitanzi.
Unaweza kufanywa.
Kujieleza Boolean katika kufanya wakati inaweza kuwa ni uongo.
>> Na huwezi kuwauliza tena.
Kama wao kukupa namba hasi ambapo wao aina baadhi neno au kitu ambacho ni
si muhimu kweli kweli kwa wewe, unaweza kutumia
Je, kitanzi wakati wa kurudi nyuma na kufanya tena na tena na tena.
Wewe dhahiri wanataka kuuliza wao kukupa idadi mara moja,
lakini wewe sijui mara ngapi baada wapate kuwa wadudu.
Na hivyo kufanya wakati ni matumizi makubwa kesi kwa kusababisha mtumiaji kwa ajili ya pembejeo.
Na kwa mizunguko kutumia kesi kawaida ni wakati
unataka kurudia kitanzi idadi Diskret wa nyakati,
ingawa waweza si kujua idadi ya nyakati
wakati mpango ni ulioandaliwa.
>> Hivyo kwa mfano, labda una mpango ambapo kuchochea mtumiaji kwa idadi.
Na wao kuingia 100.
Na kisha yako kwa kitanzi mapenzi katika kesi hiyo kukimbia mara 100.
Au labda wao kuingia 1,000 katika mpango wako
na kisha kukimbia kitanzi mara 1,000.
Ni idadi maalum ya nyakati.
Wao si lazima kujua nini idadi hiyo
ni wakati mpango ni ulioandaliwa.
Siyo kama kitanzi wakati ambapo inaweza kuwa kubwa.
Ni badala idadi kwamba wewe tu hawajui.
Sasa hata mimi wameweza ilivyoainishwa hizi kesi zote matumizi,
unapaswa kujua kwamba katika pretty much kila hali,
unaweza interchange zote tatu ya mizunguko hizi.
Unaweza kutumia kwa kitanzi ambapo ingekuwa vinginevyo kutumia kitanzi wakati.
Unaweza kutumia kwa kitanzi popote d kutumia kitanzi do-wakati, na kadhalika.
Ni inaweza kuwa gumu kidogo wakati mwingine, hivyo kwa ujumla ni mazoezi mazuri
kuambatana na matumizi ya kawaida kesi.
Kutumia kitanzi do-wakati kama wewe alitaka kitu mara moja, angalau.
Kutumia kwa kitanzi kama unataka kufanya kitu idadi maalum ya nyakati.
Baada ya yote, kwamba ni kwa nini kuna watu aina tatu tofauti ya mizunguko.
>> Ili waweze kutumiwa katika mazingira ya haki.
Lakini unaweza interchange yao kama unataka.
Kama wewe kujisikia vizuri na wakati tanzi na wewe siku zote wanataka kutumia wakati matanzi.
Ni kitu ambacho unaweza kufanya, ingawa
inaweza kuwa syntactically kidogo gumu, ambapo kwa kitanzi
itakuwa mengi moja kwa moja zaidi.
>> Jina langu ni Doug Lloyd na hii ni CS50.