>> DOUG LLOYD: Okei, nii et Räägime silmad.
Nii silmad on selline lahe sest nad võimaldavad oma programmi
täita rida koodi Üle ja üle ja üle.
Korduvalt ilma kopeerida ja kleebi või muul viisil neid korrata.
Eksisteerib kolm peamist liiki silmad näete.
Sa ilmselt on võimalus kasutada iga üks nagu te arengut läbi CS50.
Mõned neist silmad on päris tuttav nullist,
nii jälle, nagu tegime conditionals, me paneme need üles kõrvuti
kui on analoogia saame teha.
>> Esiteks on igavesti nullist, mis on võrreldav while (true).
See on see, mida me nimetame lõputu silmuse.
Rida koodi vahel lokkis traksid, palju nagu puzzle tükki
mis sobib sees C on igaveseks blokeerida,
täidab korduvalt ülevalt alla, üle ja üle ja üle,
igavesti.
Lõppude lõpuks, kui te mäletate meie arutelu Loogiline väljendeid,
tõsi on alati tõsi.
Nii et kui me teeme midagi nii kaua kui true
on true-- tundub natuke silly-- tõsi Alati on tõsi, et see saab alati käivitada.
Seda saad joosta igavesti ja igavesti, kuni me
leida viis, kuidas murda sellest välja pausi avaldus, mis jällegi
nägime veidi aega tagasi me rääkisid lüliti.
>> Või muidu lihtsalt tappa meie Programm, mis muide,
kui sa kunagi leiad end Olukord lõppahelasse
ja sa ei tea, kuidas lõpetada oma programmi käivitumist.
Just tabanud kontrolli ja C ning et tapan su programm teile.
Kuid see on jällegi nimetatakse lõputu silmuse.
See on silmus, mis kestab igavesti.
Nüüd, kui silmad ei ole alati lõpmatu, sest ka
saame asendada Boole'i väljendus millegi
veidi rohkem kasu kui lihtsalt tõsi.
Nii et siin on veel üks näide.
Kuigi mõned Boole'i väljendus ja siis looksulg.
See on päris palju analoogseid korrata, kuni nullist.
Kuigi teine, ma selgitada erinevust.
>> Nii C kui ka loogilisi väljendus sees samas silmus
tulemus on tõsi, read koodi vahel looksulg
täidab korduvalt ikka ja jälle ja jälle, kuni Loogiline väljendus
hindab vale.
Nii näiteks võite on mingi counter.
Nii et sul alguses see loop öelda int x võrdub nulliga.
Kuigi x on väiksem kui 100, teha paar asjad sees, et looksulg,
siis lõpuks oma loop, ütlete x pluss pluss, sa oled incrementing x.
Lõpuks x saavad 100 ja sa
lõpetada, sest tingimus x on väiksem kui 100
ei ole enam nii, sest kiiresti x on võrdne 100.
100 ei ole väiksem kui 100.
>> Nüüd liialt vähe käitumist nullist plokk on vastupidine.
Nii et tõesti ettevaatlik, kui see on Sinu esimene Tuhoamisretki kasutades silmuseid.
Põhimõtteliselt kordus kuni ploki Scratch
kordub midagi Üle ja üle ja üle,
kuni väljend, Boole'i väljenduse kuusnurk on tõsi.
Nii et see hoiab teed kuni see on tõsi.
Vahepeal samas loop jätkuvalt teha kuni see on vale.
Nii nad üsna sarnased, kuid seal on see väike vahet lihtsalt
olema ettevaatlik, eriti kui te teete Sinu esimene FORAY alates üleminekul
kriimustada sisse c.
Järgmine selline loop on tegelikult üsna sarnased.
Seda nimetatakse do samas loop.
See loop täidab kõik liinid koodi vahel looksulg kord,
ja siis vaadake Boole'i ​​väljendus.
Kui Loogiline väljendus tulemus on tõsi,
siis lähen tagasi ja korrake Selle protsessi üle ja üle
ja üle kuni Boole'i väljendus tulemus on vale.
Nii et see silmus, erinevalt samas silmus, on Tagatud teha vähemalt üks kord.
See võib olla päris kasulik.
>> Lõpuks on meil silmus.
Sest silmad on omamoodi süntaktiliselt ebameeldiv
ja seal on palju läheb siin, nii kannavad minuga
kui me püüame murda need tükid peale.
Üldiselt kasutamise puhul on silmus on teil
taha korrata midagi teatud arv kordi.
Selles näites siin, Mul on korduva block
nullist, mis on analoogne silmus
in C, korrates midagi 10 korda.
Ja jaoks silmus Vasakul, mis
on neli sõlme, teeks sama asi.
See läheks 10 korda.
Arvestades nullist, meil juurdekasvu iga pass silmus.
Ja me peame seda tehes kuni i on väiksem kui 10.
>> Mis juhtub?
Seal on terve hulk kood seal.
Olgem murda see alla mis toimub samm
järgult, me kaevama jaoks silmus.
Esimene asi, mis juhtus on leti muutuja on keskel.
Kõik vasakul et esimese semikooloniga Sulgudes
täidetakse.
Sel juhul oleme öeldes int i võrdub 0.
Kuulutatakse uue muutuja nimega i, et muutujad on teatud tüüpi täisarv
ja me ütleme väärtus sees muutuja saab olema null.
>> Teine asi, mida me teeme on me siis kohe hinnata
Boole'i ​​väljendus.
Loogiline väljendus on Keset kaks semikooloniga.
I on väiksem kui 10.
See on tõsi siin, eks?
Me lihtsalt ütles i on võrdne null ja 0 jääb alla 10,
ja nii see tingimus On tõsi, ja me nüüd
edasi täita keha silmus.
Kui see oli vale.
Kui näiteks ütlesin asemel i võrdub 0 seal Ma ütlesin võrdub 15,
int i võrdub 15.
Hästi 15 ei ole väiksem kui 10, nii et me kunagi satuvad organismi silmuse
kuna Boole'i ​​väljendus oleks hinnata valeks.
>> Pärast läheme läbi ülevalt alla, kohtame et sulgemise lokkis traksidega,
kolmas asi juhtub.
Loendur muutuja suurendatakse, või õigemini, read
kood avalduse pärast Teise semikooloniga sees
jaoks silmuseid sulgudes on sooritatud.
Nii hakkame läbi öeldes int i võrdub 0.
Siis me kontrollime, kas Boole'i ​​avaldis on tõene.
0 on väiksem kui 10, nii et see on tõsi.
Nii et me läheme edasi kehasse silmus.
Asjad juhtub sees silmus, ja kui kohtame et sulgemise lokkis
traksidega, järgmine asi, mida me teha, on meil öelda i pluss, pluss.
Ma olin null nüüd i on üks.
Siis me jälle kontrollida väärtust Boole'i ​​väljendus keskel.
Üks on väiksem kui 10.
Nii et me läheme läbi selle töödelda ja jälle.
Me jõuame sulgemine lokkis traksidega uuesti.
Me juurdekasvu i alates 1-2 ja 2-3.
Ja nii edasi ja nii edasi ja nii edasi, kuni Lõpuks ma väärtus muutub 10.
Kas 10 alla 10?
Ei.
Arvestan 0, oleme läinud kuni 10 kordustes loop.
Me oleme korrata 10 korda, lihtsalt kui me tegime Scratch blokeerida.
Ja nii see on põhimõtteliselt protsessi nelja silmuse.
>> Nüüd võttes ära tegelikku koodi ja panna see
vaid mõned põhilised üldised avaldused.
Siin on, mida juhtub.
Kõik avaldused alustada teostatakse esimesena.
Sul võib olla rohkem kui üks.
Siis, loogilise väljenduse kontrollitakse.
Kui väljendus tulemus on tõsi, täidab keha silmus korraga.
Kui väljend hindab vale, ongi kõik.
Me ei käivita keha silmus üldse.
Pärast oleme täide keha silmus üks kord,
me siis seda, mida on juurdekasvu osa seal.
Mis on tavaliselt läheb midagi i pluss, pluss
või midagi sellist, et muudab counter muutuja.
Siis, kui oleme juurdekasvu, me vaadake väljend uuesti
ja korrake neid samme ikka ja jälle ja jälle, kuni avaldis
ei vasta enam tõele.
>> Millised on kasutamiseks juhtudel loop?
Kasutage te kasutate samal ajal loop kui soovite silmus korrata
teadmata arv kordi, kuid see võib-olla ei pruugi joosta kõik.
Väga levinud näide Mõne aja silmukoiminen kasutatakse
on käivitada kontrolli voolu mängu.
Sa ei pruugi teada, kui kaua kasutaja saab mängida,
aga sa tahad hoida teeb sama asja.
Uuendamine seisukohti erinevate sprites laual.
Sa tahad, et hoida asjad liigu üldse korda,
kuid sa ei tea, kui kasutaja saab lõpetada mängimine
või kui nad ei kavatse otsa elusid.
Nii samas silmus on tõesti hea midagi sellist.
See on hea kasutada juhul.
>> Sest do samas silmus, see on üsna sarnased.
Tahad loop korrata tundmatu mitu korda, kuid vähemalt üks kord.
Sa võid kasutada seda mängu liiga, kuid tõesti ühise kasutamise puhul
annab märku, kasutaja sisend.
Üldiselt võiks öelda midagi nagu, anna mulle positiivne täisarv,
ja te võite panna mis sees do samas loop.
Nii on see alati küsida neid vähemalt üks kord positiivne täisarv.
Kui nad teile positiivne täisarv, te võite kaotada läbi silmuse.
Sa võid seda teha.
Loogiline väljenduse Do samas võib olla vale.
>> Ja sa ei palu neil uuesti.
Kui nad teile negatiivne arv, kus nad kirjutada mingi sõna või midagi, mis on
ei ole tõesti kasulik sa võid kasutada
ei samas loop tagasi minna ja teha seda uuesti ja uuesti ja uuesti.
Sa kindlasti tahad küsida neid teile number üks,
kuid sa ei tea, mitu korda pärast, et nad võivad olla kahjureid.
Ja nii teha, kui see on väga kasulik puhul õhutusel kasutaja sisend.
Ja jaoks silmuseid kasutada juhul tavaliselt on siis, kui
soovid korrata loop diskreetne arv kordi,
kuigi sa ei pruugi tea, mitu korda
Praegu on programmi koostamisel.
>> Nii näiteks on sul äkki programmi kus sa küsib kasutajalt number.
Ja kui nad jõuavad 100.
Ja siis teie jaoks silmus Sellisel juhul kestab 100 korda.
Või äkki nad sisenevad 1000 oma programmi
ja seejärel käivitage loop 1000 korda.
See on teatud arv kordi.
Nad ei pruugi tea, mis see number
on hetkel programm on koostatud.
See ei ole nagu aega loop kus see võiks olla lõputu.
See on pigem number et sa lihtsalt ei tea.
Nüüd, kuigi ma olen toodud kõik need kasutamiseks juhtudel,
sa peaksid teadma, et päris palju igas olukorras,
saab vahetada kõik need kolm silmuseid.
Võid kasutada silmus, kus te muidu kasutaks mõnda aega silmus.
Võid kasutada silmus igal soovite kasutada do samas loop ja nii edasi.
See võib olla natuke keeruline mõnikord, nii üldiselt on see hea tava
järgima tüüpiline kasutamise puhul.
Kasutage do samas loop kui te tahtsin midagi kord vähemalt.
Kasutage jaoks silmus, kui sa tahad teha midagi teatud arv kordi.
Lõppude lõpuks, see on põhjus, miks seal on kolm erinevat liiki silmuseid.
>> Nii saab neid kasutada õiges kontekstis.
Aga sa võid vahetada neid, kui soovite.
Kui te tunnete end mugavalt, samas silmuseid ja tahad alati kasutada samas silmuseid.
See on midagi, mida mida saate teha, kuigi see
võib olla natuke süntaktiliselt keeruline, kus silmus
Oleks palju lihtsam.
>> Minu nimi on Doug Lloyd ja see on CS50.