DOUG Lloyd: Selvä, joten Puhutaanpa silmukoita. Joten silmukat ovat eräänlainen jäähtyä koska ne mahdollistavat ohjelma suorittaa riviä koodia yli ja ohi ja yli. Toistuvasti, ilman kopioida ja liitä tai muuten toistaa niitä. On olemassa kolme suurta erilaisia ​​silmukoita näet. Sinun on todennäköisesti tilaisuus käyttää jokainen edetessäsi CS50. Jotkut näistä silmukat ovat melko tutulta tyhjästä, niin taas, kuten teimme conditionals, me laitamme heidät vierekkäin jos on analogisesti voimme tehdä. Ensimmäinen on ikuisesti tyhjästä, joka vertaa while (true). Tämä on mitä me kutsumme päättymättömään silmukkaan. Riviä koodia välillä kihara henkselit, aivan kuten palapelin palaset että mahtuvat C on ikuisesti estää, tulee suorittaa toistuvasti ylhäältä alas, yli ja ohi ja yli, ikuisesti. Loppujen lopuksi, jos muistatte meidän keskustelua Boolen operaattoreilla, totta on aina totta. Joten jos teemme jotain niin kauan kuin totta on true-- se tuntuu hieman Silly-- totta on aina totta, niin se tulee aina ajaa. Se tulee ajaa ikuisesti ja aina ja ikuisesti kunnes löytää keino murtaa pois sen break-lause, joka jälleen, näimme vähän aikaa sitten me puhuivat kytkin. Tai muuten vain tappaa meidän ohjelma, joka muuten, jos koskaan löytää itsesi tilanne päättymättömään silmukkaan ja et tiedä miten lopettaa ohjelma käynnissä. Vain osuma ohjaus ja C ja että saat tappaa ohjelma sinulle. Mutta tämä, jälleen, on ikuinen silmukka. Se on silmukka, joka jatkuu ikuisesti. Nyt, kun silmukoita ei aina ääretön, koska myös voimme korvata Boolen ilmaisu jotain hieman enemmän hyötyä kuin vain totta. Joten tässä on toinen esimerkki. Vaikka ja jotkut Boolen ilmaisun ja sitten aaltosulkeita. Se on aika paljon analoginen toistaa kunnes tyhjästä. Vaikka toinen, minä selittää eron. Joten C, jos ehtolauseke sisällä while-silmukka on tosi, linjat koodi välillä aaltosulkeiden tulee suorittaa toistuvasti yli ja yli ja yli kunnes ehtolauseke epätosi. Niinpä esimerkiksi, saatat on jonkinlainen laskuri. Joten sanot alussa tämän silmukan sanoa int x on nolla. Vaikka X on pienempi kuin 100, tehdä pari asioita sisällä että aaltosulkeita, sitten lopussa oman silmukka, sanot X plus plus, olet monesko x. Lopulta X saa 100 ja tulet lopettaa koska ehto x on vähemmän kuin 100 ei ole enää pitää paikkansa Heti kun x on yhtä suuri kuin 100. 100 ei ole pienempi kuin 100. Nyt hieman harhaanjohtavasti, käyttäytyminen tyhjästä lohko on päinvastainen. Joten todella varovainen, jos tämä on ensimmäinen kokeilu käyttäen silmukoita. Pohjimmiltaan, toista kunnes lohko Scratch toistaa jotain yli ja ohi ja yli, kunnes lauseke, Boolen ilmentyminen Hexagon on totta. Joten se pitää tehdä kunnes se on totta. Samaan aikaan, kun silmukka edelleen tehdä sitä, kunnes se on epätosi. Joten he ovat melko samanlaisia, mutta siellä on se pieni ero vain olla varovainen varsinkin kun teet ensimmäinen kokeilu maasta vaihtamassa tyhjästä osaksi C. Seuraava Tällainen silmukka on oikeastaan ​​aika samanlainen. Sitä kutsutaan tehdä, kun silmukka. Tämä silmukka suorittaa kaikki linjat koodia välillä aaltosulkeiden kerran, ja sitten se tarkistaa Boolen lauseke. Jos Boolen lauseke on tosi, se menen takaisin ja toista että prosessi uudestaan ​​ja uudestaan ja yli kunnes Boolen lauseke on epätosi. Joten tämä silmukka, toisin kun silmukka, on taattu suorittaa ainakin kerran. Tämä voi olla melko hyödyllinen. Lopuksi, meillä on silmukka. Silmukoita ovat sellaisia syntaktisesti houkuttele ja siellä on paljon meneillään täällä, joten vastaa minulle kun yritämme murtaa nämä kappaleet toisistaan. Yleensä use case of silmukan on sinulle haluat toistaa jotain tietty määrä kertoja. Tässä esimerkissä täällä, Minulla on toista lohko tyhjästä, mikä on analoginen silmukka C, toistaa jotain 10 kertaa. Ja varten silmukka Vasemmalla, joka on neljä silmukka, joka tekisi samoin. Tämä menisi 10 kertaa. Laskien nolla, me increment kukin pass silmukan. Ja me pitää tehdä, että kunnes i on pienempi kuin 10. Mitä tapahtuu? Siellä on paljon koodia siellä. Katsotaan murtaa se alas mitä tapahtuu askel askeleelta kuin me kaivaa silmukka. Ensimmäinen asia, joka tapahtui on laskuri muuttuja on keskus. Kaikki vasemmalla että ensimmäinen puolipiste sulkujen suoritetaan. Tässä tapauksessa olemme sanomalla int i on yhtä suuri kuin 0. Julistamisesta uusi muuttuja nimeltä I, että muuttujat on eräänlainen kokonaisluku ja sanomme arvo sisällä että muuttuja tulee olemaan nolla. Toinen asia teemme on me sitten heti arvioida Boolen lauseke. Boolen lauseke on keskellä kaksi puolipisteet. I on alle 10. Se on totta täällä, eikö? Olemme juuri sanoi i on yhtä suuri kuin nolla, ja siten, 0 on pienempi kuin 10, ja niin, että ehto on totta ja me nyt edetä suorittamaan runkoon silmukan. Jos se oli väärä. Jos esimerkiksi, sanoin sijasta i on yhtä kuin 0 siellä Sanoin vastaa 15, int i vastaa 15. Hyvin 15 ei ole pienempi kuin 10, niin me ei koskaan päästä elimistöön silmukan koska Boolen lauseke ei olisi arvioi vääriksi. Kun käymme läpi ylhäältä alas, kohtaamme että sulkeminen kihara ahdin, Kolmas asia tapahtuu. Laskuri muuttuja on kasvatetaan, tai pikemminkin, linjat koodia lausuman jälkeen toinen puolipiste sisällä silmukoita suluissa suoritetaan. Joten aloitamme hoitaa sanomalla int i on yhtä suuri kuin 0. Sitten tarkistaa, onko Boolen lauseke on tosi. 0 on pienempi kuin, 10 joten se on totta. Joten aiomme edetä kehoon silmukka. Asioita tapahtuu sisällä silmukan, ja Kun kohtaamme että sulkeminen kihara ahdin, seuraava asia, do on sanomme i plus, plus. Olin nolla Nyt on yksi. Sitten me taas tarkistaa arvoa Boolen lauseke keskellä. Yksi on alle 10. Joten käymme läpi tämän käsittelee uudelleen ja uudelleen. Me saamme sulkeminen kihara ahdin uudelleen. Me kasvattaa i maasta 1-2 ja 2-3. Ja niin edelleen ja niin edelleen ja niin edelleen, kunnes Lopulta arvosta tulee 10. On 10 vähemmän kuin 10? Ei. Laskien 0, olemme käyneet kautta 10 toistojen silmukan. Olemme toistetaan 10 kertaa, vain kuten teimme Scratch lohkossa. Ja niin se on pohjimmiltaan Menetelmä neljä silmukka. Nyt otetaan pois Varsinainen koodi ja laittoi pallon vain joitakin perustietoja yleisiä lausuntoja. Tässä mitä tapahtuu. Kaikki lausunnot aloittaa toteutetaan ensin. Saatat olla enemmän kuin yksi. Sitten, Boolen tarkistetaan. Jos lauseke on tosi, suorittaa elin silmukka kerran. Jos lauseke arvioi false, olemme tehneet. Emme suorita elin silmukka lainkaan. Kun olemme teloitettiin elin silmukka kerran, me sitten tehdä mitä on lisäys osa siellä. Joka on yleensä olemaan jotain i plus, plus tai jotain, että muutetaan laskuri muuttuja. Sitten, kun olemme suurennettava, me tarkista ilmaisu uudelleen ja toista ne vaiheet ja yli ja yli kunnes lauseke on ei ole enää totta. Mitkä ovat käytön tapauksissa silmukan? Käytä käytät taas silmukka kun haluat silmukan toistaa tuntemattoman määrän kertoja, mutta se ehkä eivät välttämättä toimi kaikilla. Todella yhteinen esimerkki kun looping käytössä on ajaa ohjaus virtaus peli. Et ehkä tiedä, kuinka kauan käyttäjä aiotaan pelaa, mutta haluat pitää tehdä sama asia. Päivittäminen kannat eri sprite taululle. Haluat pitää asiat koko ajan liikkeessä, mutta et tiedä milloin käyttäjä aikoo lopettaa pelaamisen tai kun he aikovat loppuu ihmishenkiä. Joten kun silmukka on todella hyvä jotain. Se on hyvä käyttötapaus. Saat tehdä, kun silmukka, se on melko samanlainen. Haluat silmukka toistaa tuntematon monta kertaa, mutta vähintään kerran. Voit käyttää tätä peliä liian, mutta todella yhteinen käyttötapaus on kehottaa käyttäjää syöttämään. Yleensä voisi sanoa jotain kuten, anna minulle positiivinen kokonaisluku, ja saatat laittaa että sisällä do while-silmukka. Joten se aina pyytää heitä vähintään kerran positiivinen kokonaisluku. Jos he antavat sinulle positiivinen kokonaisluku, saatat rikkoa ulos silmukan. Saatat tehdä. Boolen ilmaisun tehdä vaikka saattaa olla väärä. Ja et pyydä heitä uudelleen. Jos he antavat sinulle negatiivinen luku, jossa he kirjoittavat joitakin sana tai jotain, joka on ei todellakaan hyödyllistä sinua, voit käyttää tehdä, kun silmukka mennä takaisin ja tehdä sen uudestaan ​​ja uudestaan ​​ja uudestaan. Et varmasti halua kysyä heitä antamaan sinulle useita kerran, mutta et tiedä, kuinka monta kertaa jälkeen, että ne saattavat olla tuholaisia. Ja niin tehdä, kun se on paljon hyötyä tapauksessa kehottaa käyttäjää syöttämään. Ja silmukoita käyttää tapaus on tyypillisesti kun haluat toistaa silmukan diskreetti monta kertaa, vaikka et ehkä ole tietää monta kertaa hetki ohjelma on koottu. Niinpä esimerkiksi, ehkä sinulla on ohjelma jossa voit pyytää käyttäjältä numeron. Ja ne tulevat 100. Ja sitten varten silmukka tällöin ajaa 100 kertaa. Tai ehkä he tulevat 1000 oman ohjelman ja sitten ajaa silmukka 1000 kertaa. Se on tietty määrä kertoja. Ne eivät välttämättä tiedä mitä se numero on hetki ohjelma on koottu. Se ei ole kuin while-silmukka jossa se voisi olla ääretön. Se on melko numero että te vain tiedä. Nyt vaikka olen hahmoteltu kaikki nämä käyttötapauksia, sinun pitäisi tietää, että melko paljon kaikissa olosuhteissa, voit vaihtaa kaikki kolme näistä silmukoita. Voit käyttää silmukka jossa muuten käyttää while-silmukka. Voit käyttää silmukka missä haluat käyttää tehdä, kun silmukka ja niin edelleen. Se voi olla hieman hankala joskus, niin yleensä se on hyvä käytäntö noudattaa tyypillistä käyttöä tapaus. Käytä tehdä, kun silmukka jos halusi jotain kerran, ainakin. Käytä varten silmukka, jos haluat tehdä jotain tietty määrä kertoja. Loppujen, siksi on olemassa kolme erilaista silmukoita. Joten niitä voidaan käyttää oikeassa kontekstissa. Mutta voit vaihtaa niitä, jos haluat. Jos tunnet olosi mukavaksi, kun silmukoita ja haluat aina käyttää, kun silmukoita. Se on jotain, että voit tehdä, vaikka se saattaa olla hieman syntaktisesti hankala, jossa on silmukka olisi paljon yksinkertaisempaa. Nimeni on Doug Lloyd ja tämä on CS50.