>> DOUG Lloyd: Të gjithë të drejtë, kështu që le të flasim për sythe.
Pra, sythe janë lloj i ftohtë sepse ato lejojnë programin tuaj
për të ekzekutuar rreshta të kodit mbi dhe mbi dhe mbi.
Në mënyrë të përsëritur, pa pasur nevojë për kopje dhe ngjisni ose ndryshe përsëritur ato.
Ka tre të mëdha llojet e sythe ju do të shihni.
Ju ndoshta do të ketë rastin të përdorin secili si ju përparim përmes CS50.
Disa nga këto sythe janë mjaft të të njohura për ju nga e para,
kështu përsëri, siç bëmë me conditionals, ne do të vënë ato krah për krah
në qoftë se ka një analogji ne mund të tërheqë.
>> Së pari është përgjithmonë nga e para, e cila krahason të ndërsa (e vërtetë).
Kjo është ajo që ne e quajmë një lak pafund.
Linjat e kodit mes kaçurrel formatimin e teksteve, ashtu si puzzle copë
që përshtaten brenda C e bllokut përgjithmonë,
do të ekzekutojë në mënyrë të përsëritur nga maja në fund, mbi dhe mbi dhe mbi,
përgjithmonë.
Pas të gjitha, në qoftë se ju kujtohet tonë Diskutimi i shprehjeve Boolean,
e vërtetë është gjithmonë e vërtetë.
Pra, nëse ne jemi duke bërë diçka për aq kohë sa të vërteta
është true-- duket një silly-- pak i vërtetë është gjithmonë e vërtetë, kështu që gjithmonë do të kandidojë.
Ajo do të kandidojë përgjithmonë dhe në shekuj të shekujve deri ne
të gjejnë një mënyrë për të thyer nga ajo me një deklaratë pushim, e cila përsëri,
ne pamë pak kohë më parë ne ishin duke folur për switch.
>> Ose ndryshe vetëm vrasin tonë Programi, i cili ra fjala,
në qoftë se ju ndonjëherë gjeni veten në një Situata me një lak të pafund
dhe ju nuk e dini se si për të ndaluar programi juaj nga kandidimi.
Vetëm goditi kontrollit dhe C dhe që do të vrasin e programit tuaj për ju.
Por kjo, përsëri, është e quajtur një lak pafund.
Kjo është një lak që do të kandidojë përgjithmonë.
Tani, ndërsa sythe nuk janë gjithmonë i pafund, sepse edhe
ne mund të zëvendësojë Boolean shprehje me diçka
pak më e dobishme se vetëm e vërtetë.
Kështu që këtu është një tjetër shembull.
Ndërsa dhe disa Boolean shprehje dhe formatimin e teksteve kaçurrel pastaj.
Kjo është shumë e shumë të ngjashëm për të përsëritur derisa, nga zeroja.
Edhe pse në një të dytë, unë do shpjegojnë dallimin.
>> Pra në C, nëse shprehjes Boolean brenda e lak, ndërsa
vlerëson të Vërtetë, linjat e Kodi midis formatimin e teksteve kaçurrel
do të ekzekutojë në mënyrë të përsëritur pa pushim dhe mbi derisa shprehje Boolean
vlerëson të rreme.
Kështu për shembull, ju mund të kanë disa lloj banak.
Pra, ju them, në fillim të kjo loop thonë int x është e barabartë me zero.
Ndërsa x është më pak se 100, të bëjë një çift gjëra brenda se formatimin e teksteve kaçurrel,
pastaj në fund të lak tuaj, ju thoni x plus plus, ju jeni bën rritjen x.
Përfundimisht x do të merrni për 100 dhe ju do të
ndaluar për shkak të gjendjes x është më pak se 100
nuk do të jetë e vërtetë si shpejt si x eshte e barabarte me 100.
100 është jo më pak se 100.
>> Tani disi çudi, sjellja i bllokut zeroja është i kundërt.
Pra, të jenë shumë të kujdesshëm në qoftë se kjo është bastisje juaj e parë në përdorimin e sythe.
Në thelb, përsëritje deri në bllok në Scratch
do të përsëris diçka mbi dhe mbi dhe mbi,
deri shprehjes, Boolean shprehje në gjashtëkëndësh është e vërtetë.
Pra, kjo do të vazhdojmë të bëjmë kjo deri sa ajo është e vërtetë.
Ndërkohë, lak ndërsa do të të vazhdojë të bëjë atë deri sa ajo është e rreme.
Pra, ata janë mjaft të ngjashme, por nuk ka se dallim i vogël vetëm
të jenë të kujdesshëm sidomos si ju bëni përpjekjet e tuaj të parë nga tranzicion
për Scratch në c.
Lloj tjetër i lak është në fakt mjaft të ngjashme.
Është quajtur bëni ndërsa lak.
Kjo lak do të zbatoj të gjitha linjat e kodit midis formatimin e teksteve kaçurrel dikur,
dhe pastaj ajo do të kontrollojë shprehja Boolean.
Nëse shprehja Boolean vlerëson të vërtetë,
ajo do të ktheheni mbrapsh dhe të përsëritur se procesi mbi dhe mbi
dhe mbi derisa Boolean Shprehja vlerëson të rreme.
Pra kjo loop, ndryshe nga një lak, ndërsa, është të garantuara për të kandiduar të paktën një herë.
Kjo mund të jetë shumë e dobishme.
>> Së fundi, ne kemi një për lak.
Për sythe janë lloj i sintaksore shëmtuar
dhe ka një shumë ndodh këtu, kështu që të mbajnë me mua
si ne të përpiqemi dhe të ndërpreni këto pjesë veç e veç.
Në përgjithësi, rasti përdorimi e një për lak është që ju
dua të përsëris diçka numër specifik i kohës.
Në këtë shembull këtu, Unë kam bllok përsëritur
nga e para, i cili është analoge me për lak
në C, duke përsëritur diçka 10 herë.
Dhe për lak në e majta atje, e cila
është një lak katër që do të bëjë të njëjtën gjë.
Kjo do të shkojë 10 herë.
Duke llogaritur nga zero, ne ardhura çdo pasim e lak.
Dhe ne të vazhdojmë të bëjmë atë derisa i është më pak se 10.
>> Pra, çfarë ndodh?
Ka një tërësi shumë të kodit atje.
Le të thyejnë atë poshtë për çfarë po ndodh hap
pas hapi si ne gërmoj nëpër një për lak.
Gjëja e parë që ka ndodhur është counter ndryshueshme është qendra.
Çdo gjë në të majtë të që për herë të parë pikëpresje brenda kllapave
është ekzekutuar.
Në këtë rast, ne jemi duke thënë se int i barabartë me 0.
Deklaruar një ndryshore të re të quajtur unë, se variablave është një numër i plotë lloj
dhe ne jemi duke thënë vlera brenda që ndryshueshme do të jetë zero.
>> Gjëja e dytë që ne bëjmë është ne pastaj menjëherë të vlerësuar
shprehja Boolean.
Shprehje Boolean është në mes të dy pikpresje.
I është më pak se 10.
Kjo është e vërtetë këtu, apo jo?
Ne vetëm tha i është e barabartë me zero, dhe kështu 0 është më pak se 10,
dhe kështu që kusht është e vërtetë dhe ne do tani
vazhdojë për të ekzekutuar trupin e lak.
Në qoftë se ajo ishte e rreme.
Në qoftë se, për shembull, kam thënë në vend të Unë e barabartë me 0 atje kam thënë unë është e barabartë me 15,
int i barabartë me 15.
Dhe 15 është jo më pak se 10, kështu që kurrë nuk do të hyjë në trupin e lak
sepse shprehjes Boolean atje do të vlerësojë të jetë e rreme.
>> Pasi ne do të shkojmë nëpër nga lart poshtë, hasim se mbyllja mbajtëse kaçurrel,
një gjë e treta ndodh.
Counter variabël është incremented, ose më mirë, linjat
e kodit të një deklaratë pas pikëpresje dytë brenda e
për unazore kllapa është ekzekutuar.
Pra, ne fillojmë nga duke thënë se int i barabartë me 0.
Pastaj ne kontrolloni nëse janë apo jo shprehja Boolean është e vërtetë.
0 është më pak se, 10 kështu është e vërtetë.
Pra, ne jemi duke shkuar për të vazhduar në trup lak.
Gjërat do të ndodhë brenda lak, dhe kur hasim se mbyllja kaçurrel
Braçe, gjë tjetër ne bëni është të themi unë plus, plus.
Unë kam qenë zero tani i është një.
Pastaj, ne përsëri kontrolloni vlerën e shprehje Boolean në mes.
Njëra është më pak se 10.
Pra, ne do të kalojnë nëpër këtë përpunojë përsëri dhe përsëri.
Ne do të merrni në mbylljen mbajtëse kaçurrel përsëri.
Ne do ardhura I nga 1 deri në 2 dhe nga 2 deri ne 3.
Dhe kështu me radhë e kështu me radhë e kështu me radhë, deri përfundimisht Vlera e I e bëhet 10.
Është 10 më pak se 10?
Jo.
Duke llogaritur nga 0, ne kemi shkuar përmes 10 iterations e lak.
Ne kemi përsëritur 10 herë, vetëm siç bëmë në bllokun Scratch.
Dhe kështu kjo është në thelb Procesi për një lak katër.
>> Tani duke larguar Kodi aktual dhe duke i vënë atë
në vetëm disa deklarata themelore të përgjithshme.
Ja se çfarë ndodh.
Të gjitha deklaratat në fillojnë janë ekzekutuar për herë të parë.
Ju mund të keni më shumë se një.
Pastaj, shprehja Boolean është i kontrolluar.
Nëse shprehja vlerëson të vërtetë, ekzekutuar trupit lak një herë.
Nëse shprehja vlerëson të rreme, ne jemi duke bërë.
Ne nuk e ekzekuton Trupi i lak në të gjitha.
Pasi ne kemi ekzekutohet Trupi lak një herë,
ne pastaj të bëjë atë që është në pjesa rritje atje.
E cila zakonisht do të jetë diçka si unë plus, plus
ose diçka të tillë, që modifikon një ndryshore kundër.
Pastaj, pasi ne ardhura, ne kontrolloni shprehjen përsëri
dhe të përsëritur këto hapa pa pushim dhe mbi derisa shprehja është
nuk është më e vërtetë.
>> Pra, cilat janë raste të përdorimit për një lak?
Përdorni ju përdorni një lak, ndërsa kur ju doni një lak për të përsëritur
një numër i panjohur i herë, por kjo ndoshta nuk mund të kandidojë gjithë.
Një shembull i vërtetë i zakonshëm i një kohë looping duke u përdorur
është për të drejtuar rrjedhën e kontrollit për një lojë.
Ju nuk mund të di sa kohë përdorues do të jetë duke luajtur,
por ju doni të mbani duke bërë të njëjtën gjë.
Përditësimi qëndrimet e sprites ndryshme në bord.
Ju dëshironi për të mbajtur gjërat duke lëvizur në çdo kohë,
por ju nuk e dini kur përdorues do të ndalet duke luajtur
ose kur ata do për të dalë jashtë e jetës.
Kështu që një lak, ndërsa është me të vërtetë mirë për diçka të tillë.
Kjo është një rast i mirë përdorimi.
>> Për ta bërë, ndërsa loop, kjo është goxha e ngjashme.
Ju dëshironi një lak për të përsëritur një i panjohur disa herë, por të paktën një herë.
Ju mund të përdorni këtë për një lojë shumë, por një rast përdorimi të vërtetë të përbashkët
është bërë e përdoruesit për input.
Në përgjithësi, ju mund të thoni diçka si, më jepni një numër i plotë pozitiv,
dhe ju mund të vënë atë brenda nje bëni ndërsa lak.
Pra, ajo gjithmonë do të pyesni ata në paktën një herë për një numër i plotë pozitiv.
Nëse ata të ju jap një numër i plotë pozitiv, ju mund të thyer nga lak.
Ju mund të bëhet.
Shprehja Boolean në The Do ndërsa mund të jetë e rreme.
>> Dhe ju nuk do të pyet ata përsëri.
Nëse ata të ju jap një numër negativ ku ata shkruani disa fjalë apo diçka që është
jo të vërtetë të dobishme për ju, ju mund të përdorni
e ndërsa lak për të shkuar mbrapa dhe të bëjë ajo përsëri dhe përsëri dhe përsëri.
Ju patjetër duan të pyes ata të ju jap një numër dikur,
por ju nuk e dini se si shumë herë pasi që ata mund të jenë dëmtuesit.
Dhe kështu e bëjnë, ndërsa kjo është një përdorim i madh rasti i bërë përdoruesit për input.
Dhe një për sythe përdorin rast në mënyrë tipike është kur
ju dua të përsëris një lak një numër i veçantë i herë,
pse ju nuk mund e di numrin e herë
momenti programi është hartuar.
>> Kështu për shembull, ndoshta ju keni një program ku ju menjëhershëm të përdoruesit për një numër.
Dhe ata hyjnë 100.
Dhe pastaj juaj për lak do të në këtë rast të kandidojë 100 herë.
Apo ndoshta ata hyjnë 1000 në programin tuaj
dhe pastaj të drejtuar lak 1000 herë.
Është një numër specifik i kohës.
Ata nuk shprehin domosdoshmërisht e dini se çka numri
është programi momenti është hartuar.
Ajo nuk është si një lak, ndërsa ku ajo mund të jetë i pafund.
Kjo është më tepër një numër që ju thjesht nuk e di.
Tani edhe pse unë kam theksuara të gjitha këto raste të përdorimit,
ju duhet të dini se në goxha shumë çdo rrethanë,
ju mund të zëvendësoj të gjitha tre nga këto sythe.
Ju mund të përdorni një për lak ku ju përndryshe do të përdorë një lak, ndërsa.
Ju mund të përdorni një për lak kurdoherë ju do të përdorni një të bërë, ndërsa loop dhe kështu me radhë.
Ajo mund të jetë pak e ndërlikuar ndonjëherë, kështu që në përgjithësi kjo është një praktikë e mirë
të përmbahen në një rast të përdorimit tipik.
Përdorni një të bërë, ndërsa loop nëse ju kërkuar diçka një herë, të paktën.
Përdorni një për lak në qoftë se ju doni të bëni diçka që një numër specifik i kohës.
Pas të gjitha, kjo është arsyeja pse ka tri lloje të ndryshme të sythe.
>> Kështu që ata mund të përdoret në kontekstin e duhur.
Por ju mund të zëvendësoj ata në qoftë se ju dëshironi.
Në qoftë se ju ndiheni rehat me sythe, ndërsa dhe ju gjithmonë doni të përdorni ndërsa sythe.
Kjo është diçka që ju mund të bëni, edhe pse ajo
mund të jetë një sintaksore pak ndërlikuar ku një për lak,
do të jetë shumë më të drejtpërdrejtë.
>> Emri im është Doug Lloyd dhe kjo është CS50.