>> Doug LLOYD: Labi, tāpēc parunāsim par cilpām.
Tātad cilpas ir veida atdzist jo tie ļauj savu programmu
izpildīt koda rindiņas vairāk un vairāk un vairāk.
Atkārtoti, bez kopēt un ielīmēt vai citādi tos atkārtot.
Ir trīs galvenās veidu cilpas jūs redzēsiet.
Jūs, iespējams, ir iespēja izmantot katrs, kā jūs progress caur CS50.
Daži no šiem cilpas ir diezgan pazīstams ar jums no nulles,
tā atkal, kā mēs to darījām ar conditionals, mēs viņus up blakus
ja ir analoģija mēs varam izdarīt.
>> Pirmais ir uz visiem laikiem no nulles, kas salīdzina ar while (true).
Tas ir tas, ko mēs saucam par bezgalīgu cilpu.
Par koda līnijas starp cirtaini bikšturi, līdzīgi puzzle gabalus
ka fit iekšpusē C no visiem laikiem bloķēt,
veiks atkārtoti no augšas uz leju, vairāk un vairāk un vairāk,
uz visiem laikiem.
Galu galā, ja jūs atceraties OUR diskusija Būla izteiksmes,
taisnība vienmēr ir taisnība.
Tātad, ja mēs darām kaut kas tik ilgi, cik patiess
ir true-- Šķiet mazliet silly-- patiess vienmēr ir taisnība, tā tas būs vienmēr darboties.
Tas būs palaist uz visiem laikiem, un mūžīgi mūžos, kamēr mēs
atrast veidu, kā izkļūt no tā ar pārtraukums paziņojumu, kurā atkal,
mēs redzējām pirms nedaudz, bet mēs runājām par slēdzi.
>> Vai citādi vienkārši nogalināt mūsu programma, kas, starp citu,
Ja jūs kādreiz atrast sev Situācija ar bezgalīgu cilpu
un jūs nezināt, kā to apturēt jūsu programma no braukšanas.
Vienkārši hit kontroli un C un kas būs nogalināt jūsu programma jums.
Bet tas, atkal, ir sauc bezgalīga cilpa.
Tā ir cilpa, kas darbosies uz visiem laikiem.
Tagad, kamēr cilpas nav vienmēr bezgalīgs, jo arī
mēs varam aizvietot Būla izteiksme ar kaut ko
nedaudz vairāk noderīga, nekā tikai taisnība.
Tātad, šeit ir vēl viens piemērs.
Kaut un daži Bula izteiksme un tad cirtaini bikšturi.
Tas ir diezgan daudz analogs atkārtot līdz, no nulles.
Lai gan otrā, es ņemšu izskaidrot atšķirību.
>> Tātad C, ja Būla izteiksme iekšpusē kamēr cilpa
novērtē uz true, līnijām kods starp cirtaini lencēm
veiks atkārtoti vairāk un vairāk un vairāk, līdz Būla izteiksme
novērtē to nepatiesa.
Tā, piemēram, jūs varētu ir kaut kādas letes veida.
Tā teikt, jums sākumā šī cilpa teikt int x ir vienāds ar nulli.
Kaut x ir mazāks nekā 100, darīt pāris lietas iekšā, ka cirtaini bikšturi,
tad beigās jūsu cilpas, jūs sakāt x plus plus, jūs palielināšanai x.
Galu galā x saņems 100 un jūs
pārtraukt, jo nosacījuma x ir mazāk nekā 100
vairs nebūs taisnība, jo Tiklīdz x ir vienāds ar 100.
100 ir ne mazāks par 100.
>> Tagad nedaudz maldinoši, uzvedība no nulles bloka ir pretēja.
Tāpēc esiet uzmanīgi, ja tas ir Tavs pirmais iebrukums izmantojot cilpas.
Būtībā, atkārtojiet līdz bloku Scratch
būs atkārtot kaut ko vairāk un vairāk un vairāk,
līdz izteicienu, Boolean izteiksmes sešstūri ir taisnība.
Tātad tas turpinās darīt tas, līdz tā ir taisnība.
Tikmēr, kamēr cilpa būs turpina to darīt, kamēr tas ir nepatiess.
Tātad viņi ir diezgan līdzīgi, bet tur ir, ka maz atšķirība tikko
jābūt uzmanīgiem, jo ​​īpaši, kā jūs veicat Tavs pirmais iebrukums no pārejot
lai nesaskrāpētu uz c.
Nākamais veida cilpu patiesībā diezgan līdzīgi.
To sauc par darīt, kamēr cilpa.
Šī cilpa veiks visas līnijas Koda starp cirtaini lencēm reizi,
un tad tas būs pārbaudīt Boolean izteiksme.
Ja Būla izteiksme novērtē taisnība,
tā iešu atpakaļ un atkārtot ka process vairāk un vairāk
un vairāk, līdz Būla izteiksme novērtē to nepatiesa.
Tātad šī cilpa, atšķirībā kamēr cilpa, ir garantēta veikt vismaz vienu reizi.
Tas var būt diezgan noderīga.
>> Visbeidzot, mums ir par cilpu.
Par cilpas ir sava veida sintaktiski nepievilcīgs
un tur ir daudz kas notiek šeit, lai sedz ar mani
kā mēs mēģinātu lauzt šos gabalus intervālu.
Vispār, lietošanas gadījumu kādas cilpa ir jums
gribu atkārtot kaut noteiktu skaitu reižu.
Šajā piemērā šeit, Man ir atkārtošanas bloks
no nulles, kas ir analogi uz cilpas
C, atkārtojot kaut 10 reizes.
Un par cilpa kreiso tur, kas
ir četru cilpa, kas darītu to pašu.
Tas iet 10 reizes.
Skaitot no nulles, mēs pieauguma katru piespēli no cilpas.
Un mēs turpinām darām līdz i ir mazāks nekā 10.
>> Tātad, kas notiek?
Tur ir visai daudz koda tur.
Pieņemsim sadalīs to, lai kas notiek soli
pa solim, kā mēs rakt caur cilpas.
Pirmā lieta, kas noticis, ir skaitītājs mainīgais ir centrs.
Viss pa kreisi, ka pirmais semikols iekšpusē iekavās
tiek izpildīts.
Šajā gadījumā, mēs esam sakot int i ir vienāds ar 0.
Pasludināšana jaunu mainīgo sauc i, ka mainīgie ir veids skaitlis
un mēs esam sakot vērtību iekšā ka mainīgais būs nulle.
>> Otra lieta, ko mēs darām, ir mēs tad uzreiz novērtēt
Boolean izteiksme.
Būla izteiksme tiek sniegta vidū diviem semikoliem.
I ir mazāk nekā 10.
Tas ir taisnība šeit, vai ne?
Mēs tikko minētā i ir vienāds ar nulle, un tā 0, ir mazāks par 10,
un tā, ka stāvoklis ir taisnība, un mēs tagad
turpināt izpildīt ķermeņa cilpas.
Ja tā ir nepatiesa.
Ja, piemēram, es minētā vietā i ir vienāds ar 0 tur es teicu, es vienāds 15,
int i vienāds 15.
Nu 15 ir ne mazāks par 10, tāpēc mēs nekad iekļūt organismā cilpas
jo Būla izteiksme tur varētu novērtēt būt nepatiesa.
>> Pēc tam, kad mēs ejam cauri no augšas uz leju, mēs saskaramies, ka noslēguma cirtaini lencēm,
trešā lieta notiek.
Skaitītājs mainīgais palielināts, vai drīzāk, līnijas
no koda paziņojumu pēc tam, kad otrais semikols iekšpusē
par cilpas iekavās tiek izpildīts.
Tātad mēs sākam, ko sakot int i ir vienāds ar 0.
Tad mēs pārbaudām, vai ne Boolean izteiksme ir patiesa.
0 ir mazāk nekā, 10 tāpēc tā ir taisnība.
Tātad mēs ejam, lai turpinātu organismā cilpa.
Lietas notiks iekšpusē cilpas, un kad mēs sastopas ka noslēguma cirtaini
lencēm, nākamā lieta, ko mēs darīt, ir mēs sakām i plus, plus.
Man bija nulle tagad man ir viens.
Pēc tam, mēs atkal pārbaudīt vērtību Boolean izteiksme vidū.
Viens no tiem ir mazāk nekā 10.
Tātad mēs iet caur šo apstrādāt atkal un atkal.
Mēs sāksim slēgšanu cirtaini lencēm vēlreiz.
Mēs pieauguma i no 1 līdz 2 un no 2 līdz 3.
Un tā tālāk, un tā tālāk un tā tālāk, līdz Galu galā es vērtība kļūst 10.
Vai 10 mazāk nekā 10?
Nē.
Skaitot no 0, mēs esam aizgājuši caur 10 iterāciju cilpu.
Mēs esam atkārto 10 reizes, tikai kā mēs to darījām ar Scratch blokā.
Un tā tas ir būtībā process četru cilpu.
>> Tagad, ņemot prom faktiskais kods un nodot to
tikai dažiem galvenajiem vispārīgajiem apgalvojumiem.
Lūk, kas notiek.
Visi apgalvojumi sākt tiek izpildīts vispirms.
Jums varētu būt vairāk nekā viens.
Tad Būla izteiksme tiek pārbaudīta.
Ja izteiksme novērtē uz true, Izpildīt ķermeņa cilpas vienu reizi.
Ja izteiksme izvērtē uz viltus, mēs esam darījuši.
Mums nav veikt Ekspozīcijas ķermenis cilpa vispār.
Kad mēs esam izpildījusi ķermenis cilpa vienu reizi,
mēs tad darīt to, kas ir Pieauguma daļa tur.
Kas parasti būs kaut kas līdzīgs i plus, plus
vai kaut kas tamlīdzīgs, kas maina counter mainīgo.
Tad, kad mēs pieauguma, mēs pārbaudiet izteiksmi vēlreiz
un atkārtojiet šos soļus vairāk un vairāk un vairāk, līdz izteiksme ir
vairs nav taisnība.
>> Tātad, kādi ir lietošanas gadījumi cilpu?
Izmantojiet jūs izmantojat kamēr cilpa, kad tas Jūs vēlaties cilpa atkārtot
nezināms skaits reižu, bet tas, iespējams, varētu darboties visu.
Tiešām kopīgs piemērs kamēr looping tiek lietots
ir palaist kontroles plūsmu spēli.
Jūs, iespējams, nevar zināt, cik ilgi lietotājs būs spēlē,
bet jūs vēlaties, lai saglabātu dara to pašu.
Atjaunināšana pozīcijas dažādi sprites uz kuģa.
Jūs vēlaties, lai saglabātu lietas pārvietojas visu laiku,
bet jūs nezināt, kad lietotājs gatavojas pārtraukt spēlēt
vai tad, kad viņi dodas palaist no dzīves.
Tātad, kamēr cilpa ir patiešām labs kaut kas tamlīdzīgs.
Tas ir labs lietošanas gadījumu.
>> Par darīt, kamēr cilpa, tas ir diezgan līdzīgs.
Jūs vēlaties cilpa atkārtot nezināmu vairākas reizes, bet ne retāk kā reizi.
Jūs varētu izmantot šo spēli Arī, bet patiešām kopīga lietošanas gadījumu
ir pamudinot lietotājam ievadi.
Vispār, jūs varētu teikt kaut ko piemēram, man pozitīvs vesels skaitlis,
un jūs varētu nodot, ka iekšpusē darīt, kamēr cilpa.
Tātad, tas vienmēr palūdziet at Vismaz vienu reizi pozitīvs vesels skaitlis.
Ja viņi jums pozitīvs vesels skaitlis, jūs varētu izkļūt no cilpas.
Jūs varētu izdarīt.
Būla izteiksme do savukārt varētu būt nepatiesa.
>> Un jums nav lūgt tos vēlreiz.
Ja viņi jums negatīvu skaitli, kur tie ierakstiet kādu vārdu vai kaut ko, kas
nav īsti lietderīgi jūs, jūs varētu izmantot
darīt, kamēr cilpa, lai dotos atpakaļ un darīt tas atkal un atkal un atkal.
Jūs noteikti vēlaties jautāt tos, lai dotu jums numuru reizi,
bet jūs nezināt, cik daudz reižu pēc tam viņi varētu būt kaitēkļi.
Un tāpēc darīt, kamēr tas ir liels izmantot gadījums pamudinot lietotājam ievadi.
Un par cilpas izmantot gadījums parasti ir tad, kad
jūs vēlaties atkārtot cilpu diskrēts vairākas reizes,
ja jūs nevarēsiet zina, cik reižu
brīdis programma ir apkopota.
>> Tā, piemēram, varbūt jums ir programma kur jūs nekavējoties lietotājam par vairākiem.
Un viņi ieiet 100.
Un tad jūsu cilpa būs šādā gadījumā darbotos 100 reizes.
Vai varbūt viņi ieiet 1000 savā programmā
un pēc tam palaist cilpas 1000 reizes.
Tas ir īpašs vairākas reizes.
Tie ne vienmēr zināt, kas šo numuru
ir brīdis, programma ir sastādīta.
Tas nav tāpat, kamēr cilpa kur tas varētu būt bezgalīgs.
Tas ir diezgan daudzās ka jūs vienkārši nezināt.
Tagad, lai gan es esmu izklāstīti visi šie lietošanas gadījumi,
Jums jāzina, ka diezgan daudz ik apstāklis,
Jūs varat apmaiņas visu trīs no šiem cilpas.
Jūs varat izmantot, lai cilpa, kur jūs citādi izmantot kamēr cilpa.
Jūs varat izmantot, lai cilpu kur vien jūs izmantojat darīt, kamēr cilpa un tā tālāk.
Tas var būt nedaudz grūts reizēm, tāpēc parasti tā ir laba prakse
ievērot tipisks izmantošanas gadījumā.
Izmantojiet darīt, kamēr cilpa, ja jums gribēju kaut reizi, vismaz.
Izmantojiet cilpa, ja jūs vēlaties darīt kaut kas īpašs vairākas reizes.
Galu galā, tas ir iemesls, kāpēc pastāv trīs dažādu veidu cilpas.
>> Tāpēc tās var izmantot pareizā kontekstā.
Bet jūs varat apmaiņas tos, ja vēlaties.
Ja jūs jūtaties ar cilpām, vienlaikus un jūs vienmēr vēlaties izmantot, kamēr cilpas.
Tas ir kaut kas, jūs varat darīt, lai gan to
varētu būt nedaudz sintaktiski grūts, ja par cilpa
būtu daudz vienkāršāka.
>> Mans vārds ir Doug Lloyd, un tas ir CS50.