>> 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.