Doug LLOYD: U redu, tako da pričajmo o petlji. Dakle petlje su vrsta cool jer omogućuju svoj program izvršiti linija koda iznova i iznova i iznova. Opetovano, bez kopiranje i zalijepite ili na drugi način ih ponoviti. Postoje tri glavna vrste petlje vidjet ćete. Vjerojatno ćete imati priliku koristiti svatko kako napredujete kroz CS50. Neke od tih petlji su prilično upoznat s tobom od nule, pa opet, kao što smo učinili s uvjetne, mi ćemo ih staviti rame uz rame ako postoji analogija možemo izvući. Prvo je zauvijek od nule, koji uspoređuje, dok (istinito). To je ono što mi zovemo beskonačnu petlju. Linije koda između kovrčava aparatić, poput slagalice da stane unutar C od zauvijek blokirati, će izvršiti više puta od vrha do dna, više i više i više, zauvijek. Uostalom, ako prisjetiti naše Rasprava o Boolean izraza, Istina je uvijek istina. Dakle, ako mi radimo nešto tako dugo dok istina Je li true-- čini malo silly-- istina je uvijek istina, tako da ćete uvijek raditi. To će se izvoditi zauvijek i vijeke vjekova dok ne pronaći način da pobjeći iz nje s break izjavu, što opet, vidjeli smo malo prije smo su razgovarali o prekidaču. Ili na drugi način samo ubiti naše Program, koji je usput rečeno, Ako ste ikada nađete u Situacija s beskonačnu petlju a vi ne znate kako prestati vaš program iz trčanje. Samo pritisnite kontrolu i C i da će ubiti vaš program za vas. No to, opet, zove beskonačnu petlju. To je petlja koja će se izvoditi zauvijek. Sada, dok petlje nisu Uvijek beskonačan, jer također možemo zamijeniti Boolean izraz s nečim malo više koristan nego samo istina. Dakle, ovdje je još jedan primjer. Dok neki logička izraz, a zatim vitičastih zagrada. To je prilično puno analogne ponavljati sve dok od nule. Iako je u sekundi, ja ću objasniti razliku. Tako je u C, ako se Boolean izraza unutar while petlje true, linije broj između vitičastih zagrada će izvršiti više puta iznova i iznova i više dok Boolean izraza false. Tako, na primjer, možda ćete imaju nekakvu pulta. Pa ti kažu na početku ovo petlje reći int x jednak nuli. Dok je x manji od 100, napraviti par stvari unutar te vitičastih zagrada, onda na kraju svog petlje, ti kažeš x plus plus, ti incrementing x. Na kraju će dobiti x do 100 i vi ćete stati zbog stanja x je manje od 100 više neće biti istina, kao Čim je x jednak 100. 100 nije manji od 100. Sada nešto zbunjujuće, ponašanje od nule bloka je obrnuto. Dakle, biti jako oprezni, ako je to Vaš prvi nalet u pomoću petlje. Uglavnom, ponovite do bloka u Scratch će se ponoviti nešto iznova i iznova i iznova, do izraza, Boolean izraz u šesterokuta je istina. Tako da će nastaviti raditi to sve je istina. U međuvremenu, dok petlja će nastaviti raditi sve dok je lažna. Dakle, oni su vrlo slični, ali postoji mala razlika samo da biti oprezni pogotovo kao što bi Vaš prvi nalet iz tranzicije ispočetka u c. Sljedeći vrsta petlje je zapravo prilično slični. To se zove do while petlja. Ova petlja se izvršava sve linije koda između vitičastih zagrada jednom, a onda će provjeriti logički izraz. Ako je logički izraz true, to će se vratiti i ponoviti taj proces iznova i iznova i više dok logički izraz false. Dakle, to petlja, za razliku od while petlji je zasigurno pokrenuti barem jedan put. To može biti prilično korisna. Konačno, imamo za petlju. Za petlje su vrsta sintaktički neprivlačan a tu je mnogo događa ovdje, tako da nose sa mnom kao što smo pokušati razbiti tih komada apart. Općenito, upotreba slučaj od for petlje je vas želim ponoviti nešto određeni broj puta. U ovom primjeru ovdje Imam ponavljanja bloka od nule, što je analogna za petlju u C, ponavljaju nešto 10 puta. A za petlju na lijeva tamo, što je četiri petlje da će učiniti istu stvar. To će ići 10 puta. Računajući od nule, mi povećajte svaku loptu od petlje. A mi bi da radi dok je i manje od 10. Dakle, što se događa? Postoji cijeli niz koda tamo. Idemo ga razbiti na što se događa korak po korak kao što smo kopati kroz for petlje. Prva stvar koja se dogodila je varijabla brojač je središte. Sve do lijeve strane da je prvi zarez unutar zagrada izvršava. U ovom slučaju, mi smo rekavši int ja jednak 0. Progla novu varijablu sam nazvao, da varijabli je vrsta broj a mi govoriš vrijednost unutar da varijabla će biti nula. Druga stvar koju radimo je mi onda odmah procijeniti logički izraz. Logički izraz je u Sredina dva zarezom. I je manje od 10. To je istina ovdje, zar ne? Mi samo rekao ja je jednak nula, pa 0 manja od 10, i tako da je uvjet Istina je i da će se sada nastaviti da izvršava tijelo petlje. Ako je lažna. Ako, na primjer, rekao sam umjesto ja jednak 0 tamo sam rekao ja jednak 15, int i jednak 15. I 15 je ne manje od 10, pa nikad ne bi ući u tijelo petlje jer Boolean izraza ne bi procijeniti da su lažne. Nakon što smo proći kroz od vrha do dna, susrećemo da zatvaranje kovrčavu braće, treća stvar se događa. Varijabla brojač je porastao, ili bolje rečeno, linije kôda izjave nakon Druga točka-zarez unutrašnjosti za petlje zagradi je pogubljen. Tako smo započeli od strane rekavši int ja jednak 0. Onda smo provjerili da li ili ne logički izraz istinit. 0 je manje od 10 pa to je istina. Tako ćemo postupiti u tijelu petlje. Stvari će se dogoditi unutar petlje, i kada se susretnemo da zatvaranjem kovrčava Brace, sljedeća stvar koju to je kažemo ja plus, plus. Bio sam nula sada sam jedan. Zatim, ponovno smo provjeriti vrijednost logički izraz u sredini. Jedan od njih je manje od 10. Tako ćemo proći kroz ovo i opet obraditi. Mi ćemo doći do zatvaranja opet kovrčava braće. Mi ćemo ja prirast od 1 do 2, a od 2 do 3. I tako dalje i tako dalje i tako dalje, sve dok Na kraju sam je vrijednost postaje 10. Je 10 manje od 10? Ne. Računajući od 0 smo otišli kroz 10 ponavljanja petlje. Mi smo ponovi 10 puta, samo kao što smo učinili u Scratch bloku. I tako je to u osnovi Postupak za četiri petlje. Sada oduzimanje Stvarni broj i stavljajući ga u samo nekim osnovnim općim izjavama. Evo što se događa. Sve izjave u početi se izvršava prvi. Možda ćete imati više od jednog. Zatim je logički izraz provjerava. Ako izraz true, izvršiti tijelu petlje jedno vrijeme. Ako ekspresijski procjenjuje na netočno, gotovi smo. Mi ne izvršiti Tijelo petlje na sve. Nakon što smo pogubili Tijelo petlje jedno vrijeme, ćemo onda učiniti ono što je u dio prirast tamo. Koja se obično će biti nešto poput I plus, plus ili nešto slično, da mijenja varijablu kontranapad. Zatim, nakon što smo povećajte smo Ponovno provjerite izraz i ponovite one korake iznova i iznova i više dok se izraz više ne vrijedi. Pa što su načini korištenja za petlje? Koristite koristite while petlja kada Želite petlja ponoviti nepoznat broj puta, ali to možda i ne bi mogli raditi sve. Stvarno čest primjer neko vrijeme petlje koristi je pokrenuti tijek kontrole za igru. Vi možda ne znate koliko dugo Korisnik će se igrati, ali želite zadržati radi istu stvar. Ažuriranje pozicije razni duhovi na brodu. Želite li zadržati stvari kreće u svako doba, ali ne znate kada Korisnik će prestati igrati ili kada se ide ponestane života. Tako while petlja je zapravo dobar za tako nešto. To je dobar način korištenja. Za do while petlja, to je prilično slično. Želite petlja ponoviti nepoznata broj puta, ali barem jednom. Možda ćete koristiti ovaj za igru previše, ali stvarno uobičajeni način korištenja je navelo korisniku za unos. Općenito, moglo bi se reći nešto kao, dajte mi pozitivni cijeli broj, i možda staviti unutar jednog do while petlja. Dakle, to će uvijek ih pitati na Najmanje jednom za pozitivni cijeli broj. Ako su vam dati pozitivan cijeli broj, možda slomiti iz petlje. Možda se radi. Logički izraz u DO a može biti lažna. A nećete ih ponovno pitati. Ako su vam dati negativan broj na oni upisati neku riječ ili nešto što je nije stvarno korisno ti, možda koristite do while petlja se vratiti i raditi to opet i opet i opet. Vi svakako želite pitati ih da vam dati broj puta, ali ne znam koliko puta nakon toga oni mogu biti štetočine. I tako učiniti dok je velika uporaba slučaj je navelo korisniku za unos. I za petlje koristiti Slučaj obično kada Želite li ponoviti petlju diskretni broj puta, iako možda ne zna koliko puta trenutak je program sastavljen. Tako, na primjer, možda imate program gdje brz korisnik za broj. I ulaze 100. I onda tvoj za petlja će u tom slučaju pokrenite 100 puta. Ili možda uđu 1000 u svom programu a zatim pokrenuti petlje 1000 puta. To je određeni broj puta. Oni ne moraju nužno Znaš što taj broj je trenutak program sastavljen. To nije kao while petlji gdje bi mogao biti beskonačan. To je već niz da jednostavno ne znam. Sad iako sam navedene su sve te korištenje slučajevima, trebali biste znati da je u prilično koliko svaka okolnost, možete izmjenjivati ​​sve tri od tih petlje. Možete koristiti za petlju u kojoj ste inače koristite while petlja. Možete koristiti for petlje gdje god da bih koristiti do while petlja i tako dalje. To može biti malo zeznuto ponekad, pa općenito je dobra praksa da se pridržavaju tipičnom korištenja slučaj. Koristite do while petlja, ako vas Želio nešto jednom, najmanje. Koristite za petlju, ako želite učiniti nešto određeni broj puta. Uostalom, to je razlog zašto postoji Tri različite vrste petlje. Dakle, oni se mogu koristiti u pravom kontekstu. Ali možete izmjenjivati ih, ako želite. Ako se osjećate ugodno s while petlje i uvijek želite koristiti dok petlje. To je nešto što što možete učiniti, iako je bi moglo biti malo sintaktički lukav, gdje je za petlje će biti puno više jednostavan. Moje ime je Doug Lloyd i to je CS50.