>> DOUG LLOYD: Bütün sağ, belə ki, nin loops haqqında danışmaq edək.
Belə ki, loops cür sərin var onlar proqram imkan verir, çünki
kodu xətləri icra üzərində və üzərində.
Dəfələrlə, olmadan surəti və yapışdırıb və ya başqa onları təkrar.
Əsas üç var görürsünüz loops növləri.
Siz yəqin ki, istifadə etmək münasibətilə lazımdır hər bir CS50 vasitəsilə tərəqqi kimi.
Bu loops bəzi olduqca var Not sizə tanış,
belə ki, daha, biz conditionals ilə kimi, biz yan-yana onları qoymaq lazımdır
bir analogiya var, əgər biz cəlb edə bilər.
>> Birincisi, sıfırdan əbədi deyil olan isə (doğru) müqayisə edir.
Bu sonsuz loop zəng edir.
buruq arasında kodu xətləri aşırma çox puzzle ədəd kimi
C daxilində uyğun əbədi blok ki,
üst dəfələrlə icra edəcək alt üzərində və üzərində,
əbədi.
Bütün sonra, siz bizim geri əgər Boolean ifadələr müzakirəsi,
doğru həmişə doğrudur.
Biz edirik Belə ki doğru kimi uzun bir şey
onu true-- bir az silly-- doğru görünür həmişə doğrudur, belə ki, həmişə run lazımdır.
Əbədi run lazımdır və əbədi biz qədər
ilə çıxmaq üçün bir yol tapmaq fasilə şərhdə, yenə,
biz bir az əvvəl gördüm biz keçid haqqında söhbət.
>> Və ya başqa yalnız öldürmək bizim proqram olan gəlmişkən,
Heç bir özünüzü tapmaq əgər sonsuz loop ilə vəziyyət
və dayandırmaq üçün necə bilmirəm çalışan proqram.
Just nəzarət və C hit və ki, sizin üçün proqram öldürmək lazımdır.
Amma bu, təkrar edir sonsuz loop çağırıb.
Əbədi davam edəcək bir loop var.
İndi loops isə deyil həmişə sonsuz, həmçinin
biz Boolean əvəz edə bilməz bir şey ilə ifadə
bir az daha faydalı, yalnız doğru.
Belə ki, burada bir misal var.
Isə bəzi Boolean ifadə və sonra qıvrım aşırma.
Ki, analoji olduqca çox Sıfırdan qədər təkrar.
Ikinci, mən, baxmayaraq ki, fərqi izah edir.
>> , C belə Boolean ifadə əgər isə loop daxilində
əsl, xətləri qiymətləndirir qıvrım aşırma arasında code
üzərində dəfələrlə icra edəcək və artıq Boolean ifadə qədər
yalan üçün qiymətləndirir.
Belə ki, məsələn, siz ola bilər counter bir növ var.
Belə ki, ilin əvvəlində sizə demək Bu loop int x sıfır bərabərdir deyirlər.
X 100 az olsa da, bir neçə ki, qıvrım aşırma daxilində şeyi,
sonra loop sonunda, demək x plus plus, siz x incrementing edirik.
Nəhayət x olacaq 100 və siz
vəziyyəti çünki dayandırmaq x-dən az 100
artıq kimi doğru olacaq Tezliklə x kimi 100 bərabərdir.
100 100 az deyil.
>> İndi bir qədər dolaşıq, davranış danışıq blokunun bərpa edilir.
Bu Belə ki, həqiqətən, ehtiyatlı olun loops istifadə edərək ilk çapqın.
Əsasən, təkrar Not blok qədər
bir şey demək olacaq üzərində və üzərində,
ifadə qədər, Boolean hexagon ifadə doğrudur.
Belə ki, bunu davam edəcək bu doğrudur qədər.
Eyni zamanda, isə loop olacaq Bu yalan qədər bunu davam edir.
Belə ki, onlar olduqca oxşar istəyirik, ancaq yalnız kiçik fərq var
etmək xüsusilə diqqətli olmaq keçid sizin ilk çapqın
c daxil Scratch üçün.
loop növbəti növüdür həqiqətən olduqca oxşar.
Bu do loop isə deyirlər.
Bu loop bütün xətləri icra edəcək bir qıvrım aşırma arasında kodu,
və sonra yoxlayacaq Boolean ifadə.
Boolean ifadə əgər doğru üçün qiymətləndirir,
geri getmək və demək lazımdır üzərində bu proses
və artıq Boolean qədər ifadə yalan üçün qiymətləndirir.
Belə ki, bu loop, bir müddət loop fərqli olaraq, var ən azı bir dəfə run üçün zəmanət.
Bu olduqca faydalı ola bilər.
>> Nəhayət, biz loop üçün var.
Loops üçün növ var syntactically çirkin
və gedən bir çox var burada, belə ki, mənimlə daşıyırlar
biz cəhd və ayrı bu ədəd qırmaq kimi.
Ümumiyyətlə, istifadə halda loop üçün təşəkkür edir
bir şey demək istəyirəm dəfə xüsusi nömrəsi.
Burada bu nümunə, Mən təkrar blok
Not, olan loop üçün analoji
C, bir şey 10 dəfə təkrar.
Və loop üçün orada sol olan
dörd loop ki, eyni şey olardı.
Bu 10 dəfə getmək olardı.
Sıfırdan hesablanması, biz loop hər keçmək arttırmayı.
Və biz bunu saxlamaq i az 10 qədər.
>> Belə ki, nə olur?
Orada kodu bir çox var.
Nin onu qırmaq edək nə addım baş
addım biz loop üçün vasitəsilə qazmaq kimi.
baş ilk şey counter dəyişən mərkəzidir.
Ilk sol Hər şey mötərizə içərisində nöqtəli vergül
icra edilir.
Bu halda, biz i 0 bərabərdir int edib.
I adlı yeni dəyişən elan, dəyişənlərin bir növü tam deyil
və biz daxili dəyər deyərək edirik ki, dəyişən sıfır olacaq.
>> Biz nə ikinci şey biz sonra dərhal qiymətləndirmək
Boolean ifadə.
Boolean ifadə edir iki semicolons orta.
Mən az 10 edir.
Bu doğru, burada doğru?
Biz yalnız i bərabərdir bildirib sıfır, və 0 az 10
və belə ki, vəziyyəti doğrudur və biz olacaq
loop orqanı icra keçin.
Əgər bu yalan idi.
Əgər, misal üçün, mən əvəzinə bildirib i, 0 orada i 15 bərabərdir bildirib bərabərdir
i 15 bərabərdir int.
Well 15 10-dan az olmayan, belə ki, biz loop orqanı daxil heç vaxt
Boolean ifadə çünki saxta olduğu qiymətləndirmək olardı.
>> Biz alt üst keçmək sonra, biz buruq brace bağlanması qovuşana
üçüncü şey olur.
counter dəyişən artırılacağını, daha doğrusu, xətləri
bir şərhdə kodu sonra daxilində ikinci nöqtəli vergül
loops parantez üçün icra edilir.
Belə ki, biz həyata başlamaq i 0 bərabərdir int edib.
Sonra biz və ya deyil Boolean ifadə doğrudur.
0 10 belə ki, doğrudur, azdır.
Beləliklə, biz davam olacaq bədən loop daxil.
Things loop daxilində baş, və biz yekun buruq ki rastlaşsanız
brace, növbəti şey Bunu biz i plus plus demək.
Mən sıfır indi i biridir.
Sonra biz yenə dəyəri yoxlamaq Ortada Boolean ifadə.
Bir az 10 edir.
Beləliklə, biz bu yolu getmək lazımdır təkrar emal.
Biz bağlanması almaq lazımdır daha buruq brace.
Biz i arttırmayı lazımdır 1 2 və 2-dən 3-ə.
Və s və s və s qədər Nəhayət, mən dəyəri 10 olur.
10-dən 10-az?
Yox.
0-dan hesablanması, biz getdi sonra loop 10 tekrarlamalar vasitəsilə.
Biz yalnız 10 dəfə təkrar etdik biz Scratch blok etdi.
Və belə ki, əsasən Dörd loop üçün prosesi.
>> İndi üz alaraq faktiki kodu və onu qoyulması
yalnız bir neçə əsas general hesabatlarında.
Burada nə var.
Bütün hesabatlarının ilk icra başlayın.
Siz daha çox ola bilər.
Sonra Boolean ifadə yoxlanılır.
Ifadə doğru üçün qiymətləndirir varsa, bədən loop bir dəfə icra.
Ifadə qiymətləndirir yalan, biz tamamlayın.
Biz icra etmir bütün loop bədən.
Biz icra sonra bədən loop bir dəfə,
biz sonra nə yoxdur orada artım hissəsidir.
Adətən olacaq i kimi bir şey plus, plus
kimi və ya bir şey ki, bir counter dəyişən düzəliş.
Sonra sonra biz, arttırmayı yenidən ifadə yoxlamaq
və üzərində bu addımları təkrar və ifadə üzərində qədər
artıq doğru.
>> Belə ki, bir loop üçün istifadə halları nə var?
Bir müddət loop zaman istifadə edin Bir loop demək istəyirəm
dəfə naməlum sayı, lakin bəlkə bütün run bilər.
Bir həqiqətən ümumi nümunə loop bir müddət istifadə olunur
Bir oyun üçün nəzarət axını çalıştırmak.
Bilirsiniz bilər necə uzun istifadəçi oynayan olacaq,
ancaq saxlamaq istədiyiniz Eyni şey bunu.
Mövqelərini dəqiqləşdirilməsi board müxtəlif sprites.
Siz şeyi saxlamaq istəyirəm bütün dövrlərdə hərəkət,
ancaq zaman bilmirəm istifadəçi oynayan dayandırmaq gedir
və ya onlar olacaq zaman yaşayır tökülmək üçün.
Belə ki, bir müddət loop həqiqətən kimi bir şey üçün yaxşı.
Ki, bir yaxşı istifadə halda var.
>> Bir do üçün loop isə, bu, olduqca oxşar.
Siz loop naməlum demək istəyirəm dəfə sayı, lakin ən azı bir dəfə.
Siz oyun üçün istifadə edə bilər çox, lakin həqiqətən ümumi istifadə halda
giriş üçün istifadəçi isteyen edilir.
Ümumiyyətlə, siz bir şey demək bilər kimi, Mənə bir müsbət tam vermək,
və bu qoymaq bilər loop isə do daxilində.
Belə ki, həmişə onlara xahiş edəcək ən azı bir dəfə müsbət tam üçün.
Onlar bir müsbət tam vermək əgər, Siz loop həyata qıra bilər.
Siz edilə bilər.
Boolean ifadə ilə nə isə yalan ola bilər.
>> Və onları yenidən xahiş edəcək.
Onlar bir mənfi sayı harada versələr Onlar bəzi söz və ya bir şey yazın
həqiqətən faydalı deyil Siz istifadə edə bilərsiniz
loop geri və bunu isə yenidən və yenidən.
Siz mütləq soruşmaq istəyirəm Onlara bir dəfə bir sıra vermək
lakin necə bir çox dəfə bilmirəm Bundan sonra onlar zərərvericiləri ola bilər.
Və böyük bir istifadə do belə isə giriş üçün istifadəçi isteyen halda.
Və loops üçün istifadə hal adətən zaman
Bir loop demək istəyirəm dəfə bir diskret sayı,
baxmayaraq siz bilər sayını bilmək
an proqramı tərtib edilir.
>> Belə ki, məsələn, bəlkə bir proqram var burada bir sıra üçün istifadəçi təklif.
Onlar 100 daxil edin.
Və sonra loop üçün olacaq bu halda 100 dəfə axır.
Və ya bəlkə onlar daxil Proqram 1000
və sonra loop 1000 dəfə axır.
Bu dəfə müəyyən bir sıra var.
Onlar mütləq deyil nə nömrəsini bilmək
tərtib an proqramdır.
Bu isə loop kimi deyil harada sonsuz ola bilər.
Bu bir sıra olduqca var Yalnız bilmirəm ki.
İndi var, baxmayaraq ki, qeyd bütün bu istifadə halları,
Siz ki, olduqca bilməlidir çox hər hal,
bütün ideya bilər bu loops üç.
Siz loop harada üçün istifadə edə bilərsiniz başqa bir müddət loop istifadə edir.
Siz loop yerdə bir istifadə edə bilərsiniz Bir do isə loop və s istifadə edin.
Bu, bəzən bir az çətin ola bilər belə ümumiyyətlə yaxşı bir təcrübə var
Tipik istifadə halda riayət etmək.
Loop isə do istifadə əgər ən azı, bir dəfə bir şey istədilər.
Siz nə etmək istəyirsinizsə loop üçün istifadə edin bir şey bir neçə dəfə xüsusi nömrəsi.
Var niyə bütün sonra, ki, loops üç müxtəlif növ.
>> Belə ki, onlar istifadə edilə bilər hüququ kontekstində.
Amma ideya bilər Onlara istəyirsinizsə.
Siz isə loops ilə rahat hiss əgər və həmişə loops isə istifadə etmək istəyirik.
Bu bir şeydir ki, Siz nə edə bilərsiniz, bu, baxmayaraq ki,
bir az syntactically ola bilər çətin, harada üçün loop
daha çox sadə olardı.
>> My name Doug Lloyd və bu CS50 edir.