[Powered by Google Translate] TOMMY MACWILLIAM: tala skulum um lykkjur, einn af the sameiginlegur
forritun býr við munum sjá allt CS50.
Við munum nota lykkjur þegar við viljum til að framkvæma
verkefni oftar en einu sinni.
Til dæmis gætum við viljum að prenta "hæ" 100 sinnum eða prenta
út allar stafina í stafrófinu.
Í báðum þessum tilfellum höfum við eitt við viljum gera
mörgum sinnum, prenta eitthvað út.
En það sem við prenta út hvert skipti getur verið.
Þannig að við getum gert eitthvað örlítið öðruvísi á hverjum
endurtekning, eða keyra í gegnum, í lykkju.
Við munum sjá þrjár mismunandi gerðir af lykkjur í C, en
lykkjur, fyrir lykkjur, og gera á meðan lykkja.
Þó þessar þrjár tegundir af lykkjur hafa mismunandi setningafræði,
hugmyndir þeirra eru þau sömu.
Við munum skilgreina nokkur kóðanum innan hrokkið axlabönd,
kallast líkami lykkju, sem við viljum til að framkvæma
sumir tala af sinnum.
Með því að breyta gildi breytur notaðar í líkamanum, við
getur lykkja okkar gera eitthvað öðruvísi í hvert skipti sem það er keyrt.
Með hvaða lykkju við skrifum, munum við einnig að ákveða hvenær
lykkja hætta að birtast.
Ef við gerum það ekki, þá er traustur tölvan okkar mun halda áfram
að keyra að lykkju þar til við að drepa forrit.
Í grunni, gætum við notað endurtaka n sinnum
blokk til að búa til lykkju.
Öll stykki inni í blokk sem sagt endurtaka 10
yrði að hlaupa 10 sinnum.
Og þá viljum við fara í stykki eftir þessi lykkja.
Svo hætta ástand okkar var einfaldlega þessi blokk hafi verið
hlaupa 10 sinnum.
Svo skulum endurskapa þetta í C. Til þess að grunni til að tryggja
að verk innan endurtaka blokk eru keyrð
nákvæmlega 10 sinnum, Scratch þarf að halda utan um hvert
framkvæmd að endurtaka reitnum.
Til að halda utan um hversu oft lykkja líkami okkar hefur verið
framkvæma, við skulum búa til breytu sem heitir i.
Við munum byrja ég burt á núlli þar sem lykkja okkar
hefur ekki verið rekið enn.
OK
Nú munum við nota meðan leitarorð til að byrja á lykkju okkar.
Nú munum við þurfa að reikna út þegar lykkja okkar mun hætta, en
skulum hafa þetta í bili og koma svo aftur til þess.
Allt í lagi.
Inni í lykkju okkar, við skulum bara prenta skilaboð út, eins og
"Hæ". Við getum notað printf virka fyrir þetta.
Allt í lagi.
Svo nú að við munum taka að endurtekning af lykkju líkamans hefur
verið keyrð.
Við getum gert það með því að bæta 1 til eða incrementing, gegn okkar
breytilegur. i
Til að gera það, getum við sagt að ég sé jafn i plús 1, eða fleiri
einfaldlega, i plús plús.
Frábært.
Svo nú getum við séð að í hvert sinn sem lykkja okkar er litið, okkar
gegn breytu fer upp um einn.
Þannig að við vitum nákvæmlega hversu margar endurtekningar við höfum keyrt svo langt.
Eftir einn endurtekning af lykkju, gildi okkar
I verði 1.
Eftir tvær endurtekningar, ég mun vera 2.
Og eftir 10 endurtekningar, ég mun vera 10.
Svo ef við viljum að keyra þessa lykkju nákvæmlega 10 sinnum, þá
þetta er þegar við viljum hætta.
Þannig viljum við að keyra þessa lykkju þegar ég er minna en 10, og
það er einmitt það sem við munum skrifa, meðan ég
er minna en 10.
Þetta ástand lítur bara eins og þær aðstæður sem nú eru notuð í ef
annars blokkir.
Eftir að líkami lykkju okkar hefur verið framkvæmd, áætlun okkar
verður að hoppa aftur upp lykkjurnar ástand.
Ef skilyrðið er satt, þá er líkami
lykkja verður að keyra aftur.
Ef ástand er ekki lengur satt, þá lykkja okkar mun ekki vera
hlaupa saman og vilja fara í næstu línu af kóða
undir lykkju okkar.
Allt í lagi.
Svo skulum taka a líta á aðra tegund af
lykkja er til hliðar.
Við hliðina á meðan leitarorð, í sviga, við höfðum eitt,
ástand sem þarf til að vera satt fyrir
lykkja líkamann til að hlaupa.
Það þýðir að við þurftum að búa til counter breytu okkar utan
í lykkju og muna að hækka það á einhverjum tímapunkti
inni í lykkju.
Hausinn á okkar fyrir lykkju, hins vegar, hefur þrjá
hlutum, sem hver um sig verður aðskilin með semíkommu.
Í fyrsta þriðjung okkar, getum við lýst því yfir hvaða teljara eða hjálpar
breytur sem við viljum nota í lykkju okkar.
Í raun, þetta getur verið mjög gagnlegt.
Við virkilega þarft ekki að breyta, I, eftir stund okkar
lykkja er keyrt, svo við í raun ætti ekki að þurfa að lýsa því
utan lykkju.
Hin þriðja verður því skilyrði að vera satt
fyrir líkamann til að framkvæma aftur, rétt eins og
í lykkju meðan okkar.
Í síðasta þriðjung okkar, getum við keyrt yfirlýsingu sem verður
keyrð eftir hverja endurtekning lykkju, þannig að við höfum ekki
að byggja það inn í lykkju líkamanum.
Svo skulum skrifa fyrir lykkju sem telur niður 5-1.
Við munum byrja með fyrir leitarorð.
Við getum búið til gegn breytu fyrst, sem við munum
stillt á 5 þessum tíma þar sem við erum að telja niður,
fylgt eftir með semíkommu.
Næst er ástand okkar, sem við munum koma til baka.
Í þriðja lagi viljum við að lækka gegn breytu okkar eftir
hver endurtekning á lykkju.
Svo frekar en að segja að ég auk auk, munum við segja að ég mínus mínus.
Allt í lagi.
Þannig að við viljum að lykkja líkama til að keyra meðan ég er enn
hærri en 0.
Í meginmál lykkju, við skulum prenta út gildi i.
Til að gera það, munum við nota printf virka, með% d
tákn.
Mundu að þessi tákn komi með
gildi i.
Að lokum, við skulum bæta við yfirlýsingu eftir okkar fyrir lykkju.
Þegar við að keyra þessa lykkju, ég mun byrja á 5,
svo 5 verður prentað.
Þegar fær i á 0, áframhaldandi ástand, er i
stærra en 0, þá ekki lengur að halda.
Svo lykkja okkar mun hætta framkvæmd, og við munum sjá
yfirlýsingu eftir lykkju.
Svo skulum keyra þennan kóða.
Fyrst munum við taka saman
countdown.c með að niðurtalning.
Nú getum við keyrt þennan kóða með. / Niðurtalningu.
Í bæði á meðan lykkjur og lykkjur, framhald okkar
ástand verður kannað áður líkamanum
af lykkja er keyrð.
Það þýðir að ef ástand okkar er ekki fyrst
satt, þá er líkami lykkju okkar mun aldrei að keyra.
Svo það er stundum gagnlegt að athuga ástand eftir
Lík lykkju frekar en fyrir það.
Svo skulum skrifa lykkju til að hvetja notandann til fjölda
þar til jákvæð númerið.
Ef notandi inntak neikvæð tala, munum við vilja til að biðja þá
í annað númer.
Þannig að við munum vilja það hvetja til að vera inni í
líkami á hliðar.
En þegar lykkja er keyrt í fyrsta skipti sem notandinn
hefur ekki gefið okkur númerið ennþá.
Þannig að það er ekki skynsamleg til að athuga hvort það er jákvætt.
Þess í stað munum við vilja til að athuga númer eftir líkamanum
The Loop er keyrt.
Við getum gert þetta með gera á meðan lykkja.
Fyrst munum við búa til breytu, N, sem mun halda
notandans inntak.
Nú munum við nota gera leitarorð, eftir hrokkið axlabönd sem
mun byrja á líkama lykkju okkar.
Í líkamanum, við getum hvetja notandann til fjölda við
GetInt virka.
Nú munum við viljum að líkaminn þessa lykkju til að framkvæma aftur ef
notandinn slegið neikvæð tala, þannig að við munum segja að á meðan N
er minna en 0.
Tilkynning semíkommu hér eftir meðan yfirlýsingu.
Svo skulum keyra þennan kóða.
Fyrst munum við taka saman það með að gera jákvætt.
Nú getum við hlaupa the program með. / Jákvætt.
Ef við gefum þetta forrit neikvæð tala, eins og neikvæð
4, þá munum við vera beðin aftur um númer frá því
ástand gera okkar meðan lykkja var satt.
Þegar við gefa jákvæð tala, eins og 8, þá
ástand gera okkar meðan lykkja ekki lengur satt.
Svo lykkja verður ekki keyrð aftur.
Og það er það fyrir þriggja flokka lykkjur við munum nota í C.
Mitt nafn er Tommy, og þetta er CS50.