>> DOUG LLOYD: pob hawl, felly gadewch i ni siarad am dolenni.
Felly dolenni yn fath o oer oherwydd eu bod yn caniatáu eich rhaglen
i weithredu llinellau o god drosodd a throsodd a throsodd.
Dro ar ôl tro, heb orfod gopïo a gludo neu fel arall eu hailadrodd.
Mae tair prif math o dolenni byddwch yn gweld.
Mae'n debyg y byddwch yn cael achlysur i ddefnyddio pob un wrth i chi symud ymlaen trwy'r CS50.
Mae rhai o'r dolenni hyn yn eithaf gyfarwydd i chi gan Scratch,
felly unwaith eto, fel y gwnaethom gyda conditionals, byddwn yn eu rhoi i fyny ochr yn ochr
os oes gyfatebiaeth gallwn ddod.
>> Gyntaf yn am byth o Scratch, sy'n cymharu â tra (yn wir).
Mae hyn yn yr hyn a alwn dolen ddiddiwedd.
Mae'r llinellau o god rhwng y cyrliog bresys, yn debyg iawn i'r darnau pos
fod yn addas y tu mewn i'r C y bloc am byth,
Bydd gweithredu dro ar ôl tro o'r top i'r gwaelod, drosodd a throsodd a throsodd,
am byth.
Wedi'r cyfan, os ydych yn cofio ein trafodaeth ar ymadroddion Boole,
yn wir bob amser yn wir.
Felly os ydym yn ei wneud rhywbeth cyn belled ag y gwir
yn true-- mae'n ymddangos ychydig yn silly-- gwir bob amser yn wir, felly bydd bob amser yn rhedeg.
Bydd yn rhedeg am byth ac oes oesoedd hyd nes y byddwn
dod o hyd i ffordd i dorri allan ohono gyda datganiad egwyl, sydd unwaith eto,
gwelsom ychydig amser yn ôl rydym yn yn sôn am newid.
>> Neu fel arall dim ond lladd ein rhaglen, sydd gyda llaw,
os ydych chi erioed yn cael eich hun mewn sefyllfa gyda dolen ddiddiwedd
ac nad ydych yn gwybod sut i roi'r gorau eich rhaglen rhag rhedeg.
Dim ond taro rheolaeth a C a Fe lladd eich rhaglen ar eich rhan.
Ond mae hyn, unwaith eto, yn Gelwir dolen ddiddiwedd.
Mae'n dolen a fydd yn rhedeg am byth.
Yn awr, er nad dolenni yn bob amser yn ddiddiwedd, gan fod hefyd
gallwn gymryd lle y Boole mynegiant gyda rhywbeth
ychydig yn fwy defnyddiol na dim ond wir.
Felly dyma enghraifft arall.
Er bod a rhai Boole mynegiant a bresys yna cyrliog.
Dyna 'n bert lawer cyfatebol i ailadrodd nes, o'r dechrau.
Er bod mewn ail, byddaf egluro'r gwahaniaeth.
>> Felly, yn C, os yw'r mynegiad Boole tu mewn i'r ddolen tra
gwerthuso yn wir, y llinellau Cod rhwng y braces cyrliog
Bydd gweithredu dro ar ôl tro drosodd a throsodd a throsodd nes mynegiad Boole
gwerthuso i ffug.
Felly, er enghraifft, efallai y byddwch cael rhyw fath o cownter.
Felly, yr ydych yn dweud ar ddechrau dolen hwn yn dweud int x yn hafal sero.
Tra bod x yn llai na 100, yn gwneud cwpl pethau y tu mewn y braces cyrliog,
yna yn y diwedd eich dolen, yr ydych yn dweud x yn ogystal a mwy, rydych yn incrementing x.
Yn y pen draw, bydd yn cael x i 100 a byddwch yn
stopio oherwydd bod y cyflwr x yn llai na 100
fydd mwyach yn wir fel gynted ag x yn hafal i 100.
100 yn llai na 100.
>> Yn awr braidd yn ddryslyd, yr ymddygiad y bloc crafu yn cael ei wrthdroi.
Felly byddwch yn wir yn ofalus os yw hyn yn eich ymgais cyntaf i ddefnyddio dolennau.
Yn y bôn, mae'r ailadrodd hyd nes y bloc yn Scratch
Bydd ailadrodd rhywbeth drosodd a throsodd a throsodd,
nes bod y mynegiant, mae'r Boole mynegiant yn y hecsagon yn wir.
Felly, bydd yn cadw ei wneud hyd nes ei fod yn wir.
Yn y cyfamser, mae'r ddolen tra bydd parhau i wneud hynny nes ei fod yn ffug.
Felly, maent yn eithaf tebyg, ond nid yw hynny'n fawr o wahaniaeth yn unig
i fod yn ofalus o yn arbennig wrth i chi wneud eich ymgais cyntaf rhag trawsnewid
i Scratch i mewn i c.
Y math nesaf o ddolen yn mewn gwirionedd yn eithaf tebyg.
Mae'n cael ei alw y do tra ddolen.
Bydd y dolen gweithredu'r holl linellau o god rhwng y braces cyrliog unwaith,
ac yna bydd yn gwirio y mynegiad Boole.
Os bydd y mynegiad Boole gwerthuso i gwir,
bydd yn mynd yn ôl ac ailadrodd broses honno drosodd a throsodd
a throsodd nes bod y Boole mynegiant yn gwerthuso i ffug.
Felly dolen hwn, yn wahanol dolen tra, yn sicr o redeg o leiaf un pryd.
Gall hyn fod yn eithaf defnyddiol.
>> Yn olaf, mae gennym dros ddolen.
Ar gyfer dolenni yn fath o syntactically anneniadol
ac mae llawer yn digwydd ar yma, felly yn amyneddgar gyda mi
wrth i ni geisio torri'r darnau hyn ar wahân.
Yn gyffredinol, yr achos defnydd o ar gyfer dolen yw eich
am ailadrodd rhywbeth nifer penodol o weithiau.
Yn yr enghraifft hon yma, Mae gen i'r bloc ailadrodd
o Scratch, sef debyg i am ddolen
yn C, gan ailadrodd rhywbeth 10 gwaith.
Ac mae'r ddolen ar gyfer y chwith yno, a oedd yn
yw pedair dolen sy'n Byddai gwneud yr un peth.
Byddai hyn yn mynd 10 gwaith.
Cyfrif o sero, rydym yn cynyddiad pob tocyn o'r ddolen.
Ac rydym yn cadw gwneud hynny nes i yn llai na 10.
>> Felly, beth sy'n digwydd?
Mae llawer gyfan o cod yno.
Gadewch i dorri i lawr i yr hyn sy'n digwydd gam
wrth gam wrth i ni gloddio trwy am ddolen.
Y peth cyntaf sy'n digwydd yw y newidyn cownter yw canolfan.
Mae popeth ar y chwith hwnnw cyntaf hanner colon y tu mewn i'r cromfachau
cael ei chyflawni.
Yn yr achos hwn, rydym yn gan ddweud int ff yn dychwelyd 0.
Datgan newidyn newydd o'r enw i, bod newidynnau yn cyfanrif fath
ac rydym yn dweud bod y gwerth y tu mewn y newidyn yn mynd i fod yn sero.
>> Yr ail beth yr ydym yn ei wneud yw yna rydym yn gwerthuso yn syth
y mynegiad Boole.
Mynegiad Boole yn y ganol y ddau hanner colon.
Rwyf yn llai na 10.
Mae hynny'n wir yma, dde?
Rydym newydd ei ddweud i yn hafal i sero, ac felly 0 yn llai na 10,
ac felly yr amod bod yn wir ac yr ydym yn awr yn
symud ymlaen i weithredu gorff y ddolen.
Os oedd yn anwir.
Os, er enghraifft, dywedais yn lle ff yn dychwelyd 0 yno dywedais i yn hafal i 15,
int ff hafal i 15.
Wel 15 yn llai na 10, felly rydym Byddai byth yn mynd i mewn i'r corff y ddolen
oherwydd bod y mynegiad Boole byddai gwerthuso i fod yn ffug.
>> Ar ôl i ni fynd drwy'r o'r top i'r gwaelod, rydym yn dod ar draws bod cau Brace cyrliog,
trydydd peth yn digwydd.
Y newidyn cownter yn gynyddrannedig, neu yn hytrach, y llinellau
o god datganiad ar ôl y ail hanner colon tu mewn i'r
ar gyfer cromfachau dolenni ei gyflawni.
Felly, rydym yn dechrau allan gan gan ddweud int ff yn dychwelyd 0.
Yna, rydym yn gwirio a yw y mynegiad Boole yn wir.
0 yn llai na, 10 felly mae'n wir.
Felly rydym yn mynd i fynd yn ei flaen i mewn i'r corff ddolen.
Bydd pethau'n digwydd y tu mewn i'r ddolen, ac pan fyddwn yn dod ar draws y cyrliog cau
Brace, y peth nesaf i ni wneud yw ein bod yn dweud ff a mwy, a mwy.
Roeddwn yn sero yn awr i un.
Yna, rydym unwaith eto yn gwirio werth y mynegiad Boole yn y canol.
Mae un yn llai na 10.
Felly, byddwn yn mynd drwy hyn prosesu dro ar ôl tro.
Byddwn yn cyrraedd y cau Brace cyrliog eto.
Byddwn yn cynyddiad ff o 1 i 2 a 2-3.
Ac yn y blaen ac yn y blaen ac yn y blaen, hyd nes yn y pen draw i yn werth dod 10.
A yw 10 yn llai na 10?
Na
Cyfrif o 0, rydym wedi mynd trwy 10 iteriadau o ddolen.
Rydym wedi ailadrodd 10 gwaith, dim ond fel y gwnaethom yn y bloc Scratch.
Ac felly dyna yn y bôn y broses ar gyfer pedair dolen.
>> Awr yn cymryd ymaith y cod gwirioneddol a rhoi
mewn dim ond rhai datganiadau cyffredinol sylfaenol.
Dyma beth sy'n digwydd.
Mae pob un o'r datganiadau yn yn dechrau cael eu gweithredu yn gyntaf.
Efallai y byddwch yn cael mwy nag un.
Yna, mae'r mynegiad Boole yn cael ei wirio.
Os bydd yr ymadrodd yn gwerthuso i gwir, gyflawni'r corff y ddolen un pryd.
Os bydd yr ymadrodd yn gwerthuso i anwir, rydym yn ei wneud.
Nid ydym yn gweithredu'r corff y ddolen o gwbl.
Ar ôl i ni wedi dienyddio y corff y ddolen un pryd,
Yna, rydym yn gwneud yr hyn sydd yn y cynyddiad ran yno.
Sydd fel arfer yn mynd i fod rhywbeth fel fi a mwy, yn ogystal â
neu rywbeth fel 'na, bod yn addasu newidyn cownter.
Yna, ar ôl i ni cynyddiad, rydym yn edrychwch ar y mynegiant eto
ac ailadrodd y camau hynny drosodd a throsodd a throsodd nes bod y mynegiant yn
dim yn wir mwyach.
>> Felly beth yw'r defnydd achosion am ddolen?
Defnyddiwch eich bod yn defnyddio dolen tra pan ydych am gael dolen i ailadrodd
nifer anhysbys o weithiau, ond fod o bosibl efallai na fydd yn rhedeg i gyd.
Enghraifft gyffredin o 'n sylweddol sbel dolennu cael eu defnyddio
yw i redeg y llif rheoli ar gyfer gêm.
Efallai nad ydych yn gwybod pa mor hir y defnyddiwr yn mynd i fod yn chwarae,
ond ydych chi am gadw gwneud yr un peth.
Diweddaru'r swyddi amrywiol sprites ar y bwrdd.
Ydych chi am gadw pethau symud ar bob adeg,
ond nid ydych yn gwybod pan fydd y defnyddiwr yn mynd i roi'r gorau i chwarae
neu pan fyddant yn mynd i redeg allan o fywydau.
Felly dolen tra yn wirioneddol dda ar gyfer rhywbeth fel 'na.
Dyna achos ddefnydd da.
>> Am do tra dolen, mae'n eithaf tebyg.
Rydych am dolen i ailadrodd anhysbys nifer o weithiau, ond o leiaf unwaith.
Efallai y byddwch yn defnyddio hwn ar gyfer gêm hefyd, ond achos defnydd gwirioneddol gyffredin
yn annog y defnyddiwr ar gyfer mewnbwn.
Yn gyffredinol, efallai y byddwch yn dweud rhywbeth fel, yn rhoi cyfanrif positif i mi,
ac efallai y byddwch yn rhoi bod tu mewn do tra ddolen.
Felly, bydd bob amser yn gofyn iddynt am leiaf unwaith ar gyfer cyfanrif positif.
Os ydynt yn rhoi cyfanrif positif i chi, efallai y byddwch yn torri allan o'r cylch.
Efallai eich bod yn gwneud hyn.
Mae'r mynegiad Boole yn gallai'r wneud tra yn ffug.
>> Ac ni fyddwch yn gofyn iddynt eto.
Os byddant yn rhoi rhif negatif lle rydych yn maent yn fath rhywfaint gair neu rywbeth sy'n
ddim wir ddefnyddiol chi, efallai y byddwch yn defnyddio'r
Nid tra dolen i fynd yn ôl a gwneud eto ac eto ac eto.
Byddwch yn bendant am ofyn iddynt roi rhif ichi unwaith,
ond nid ydych yn gwybod faint o weithiau ar ôl y gallent fod yn bla.
Ac felly yn do tra ei fod yn ddefnydd mawr achos dros annog y defnyddiwr ar gyfer mewnbwn.
A i dolenni defnyddio achos nodweddiadol yw pan
rydych am ei ailadrodd dolen nifer arwahanol o weithiau,
er nad ydych efallai yn gwybod y nifer o weithiau
hyn o bryd mae'r rhaglen yn cael ei llunio.
>> Felly, er enghraifft, efallai bod gennych raglen lle rydych yn annog y defnyddiwr i nifer.
Ac maent yn mynd i mewn 100.
Ac yna eich am ddolen fydd yn yr achos hwnnw yn rhedeg 100 o weithiau.
Neu efallai eu bod yn mynd i mewn 1,000 yn eich rhaglen
ac yna rhedeg y ddolen 1,000 o weithiau.
Mae'n nifer penodol o weithiau.
Nid ydynt yn gwneud o reidrwydd gwybod beth y rhif hwnnw
yw'r rhaglen foment ei lunio.
Nid yw'n debyg dolen tra lle y gallai fod yn ddiddiwedd.
Mae'n hytrach nifer eich bod nid yn unig yn gwybod.
Nawr hyd yn oed er fy mod i wedi Amlinellodd holl achosion defnyddio'r hyn,
dylech wybod bod yn 'n bert lawer bob amgylchiad,
gallwch gyfnewid pob tri o'r dolenni hyn.
Gallwch ddefnyddio ar gyfer dolen lle rydych yn fyddai fel arall yn defnyddio dolen gyfnod.
Gallwch ddefnyddio ar gyfer dolen lle bynnag y bo byddech yn defnyddio do tra dolen ac yn y blaen.
Gall fod ychydig yn anodd weithiau, felly yn gyffredinol ei fod yn arfer da
i gadw at achos defnydd nodweddiadol.
Defnyddiwch do tra ddolen os ydych yn eisiau rhywbeth unwaith, o leiaf.
Defnyddiwch i ddolen os ydych am ei wneud rhywbeth nifer penodol o weithiau.
Wedi'r cyfan, dyna pam mae tri math gwahanol o dolenni.
>> Fel y gellir eu defnyddio yng nghyd-destun cywir.
Ond gallwch gyfnewid hwy os ydych yn dymuno.
Os ydych yn teimlo'n gyfforddus gyda dolenni tra ac yr ydych bob amser yn awyddus i ddefnyddio tra dolenni.
Mae'n rhywbeth y y gallwch ei wneud, er ei bod
Efallai fod ychydig yn syntactically anodd, lle mae dros dolen
Byddai yn llawer symlach.
>> Fy enw i yw Doug Lloyd ac mae hyn yn CS50.