>> [MUSIC PLAYING]
>> ANDI PENG: Bu CS50, və bölmə həftə iki salamlayıram.
Bu, həqiqətən, həftə isə həqiqətən, bizim sinif iki,
ilk həftə bölmə etdik.
Əlləri Show, Hamınızın neçə Keçən həftə super bölmə gəldi?
OK, ki, OK.
Hər şey yaxşıdır.
Necə bir çox izlənilən super bölmə ötən həftə?
OLDU.
Və uşaqlar gözəl idi problemi üzrə bir müəyyən?
Belə ki, biz ki, onu gedirəm həqiqətən ağıllı uşaq bir dəstə
Bu sinif və hər şeyi gözəl olacaq.
OLDU.
Belə ki, first--
>> Birincisi, biz yalnız qısa olacaq Bu gün gündəmdə üzərində gedin.
Biz əlbəttə logistika haqqında danışmaq lazımdır.
Siz bir çox yəqin ki, bağlı suallarınız
necə bu kurs davam şeylər.
Biz onlara cavab lazımdır.
Biz qısa olacaq halda, loops getmək
uşaqlar hər hansı bir super bölmə qaçırdı.
Biz ASCII Xəritəçəkmə haqqında danışmaq lazımdır.
Biz Diziler haqqında danışmaq lazımdır, funksiyaları, command line dəlilləri.
Və nəhayət, nə uşaqlar yəqin ki, bütün həqiqətən öyrənmək üçün burada olmaq istəyirəm,
Sizin pset2 edir.
Biz bəzi gözəl tövsiyələr lazımdır bunu necə və ipuçları.
>> OLDU.
Həmçinin, ikincisi, biz burada konfet çox.
Konfet sevən hər kəs, yalnız burada gəlib.
Bəzi Grab.
Mən bir dəstə var.
Biz ofisində bir ton var.
Mən, həqiqətən, istəmirəm bütün gün konfet yemək.
Siz uşaqlar, bütün konfet yemək lazımdır Mən sizə uşaqlar üçün burada gətirdi, çünki.
Just konfet yemək.
Hər bölmə konfet olacaq.
>> Belə ki, ilk, mən kiməm?
My name Andi Peng edir.
Mən Yale burada CS50 rəhbəri TA edirəm.
Və əlavə ki, mən də be-- edəcək
hər kəs sizin çalışan istərdim əgər dost, sizin çiyin üzərində ağlamaq.
Sizin pset səbəbiylə əvvəl gecə, Siz nə olacaq heç bir fikrim yoxdur
məni vurdu.
Biz Et Cetera birlikdə başsağlığı lazımdır.
Mən kimi gəldim ki, bilirik Cəbhə xəttində kimi sizin üçün resurs
yardım uşaqlar necə anlamaq CS50 və kənarda problemləri həll etmək üçün.
>> Mənim e-poçt andi.peng@yale.edu edir.
Mən də fərdi göndərmək lazımdır bu mənim telefon nömrəsi ilə e-poçt
ki, deyil, hər kəs internet mənim telefon sayı bilərsiniz.
Hər hansı bir zamanda mənə zəng çekinmeyin.
Ciddi, mənim telefon adətən mənim tərəfdən əlavə.
Mən cavab ola bilər bir neçə dəqiqə ərzində.
Mən bir neçə saat ərzində cavab bilər.
Amma əgər siz təmin edə bilər Siz mənə zəng əgər, e-mail me
Məni mətn, mən 24 saat ərzində cavab verəcəyik.
Oftentimes, mən əvvəl cavab verəcəyik Mən başa düşürəm, çünki
hər kəs bir problem var ki, və sizin cavab istəyirəm
çox tez cavab üçün.
>> Lakin, zəng əgər Mənə 30 dəqiqə əvvəl
görə Cümə axşamı ki, parça , Andi mənə kömək kimi Gecənin,
Mən verə bilər started-- deyil ki, çiyin üzərində ağlamaq.
Amma bu barədə düşünmək üçün vaxt ola bilər ki, növbəti dəfə deyil necə.
OLDU.
Oops.
Necə geri getmək yoxdur?
Biz orada getmək.
>> Belə ki, bu, əlbəttə, biz bir var Hər kəs üçün dəstək ton.
Yalnız əlavə Burada bölmələr olan sizə
hər həftə 90 sərf etmək Mənimlə gözəl dəqiqə,
biz də ofis saat var.
Necə bir çox uşaqlar artıq yardım üçün ofis saat olmuşdur?
Great.
Ki, görmək həqiqətən yaxşı Çünki biz 45-dən çox TAŞ və CAS bir heyət var
burada bu kurs təlim Sizin psets ilə uşaqlar yardım üçün.
>> Bazar ertəsi onlar TEAL təşkil edirik Burada 17 Hill House sinif
Yale.
Çərşənbə axşamı və cümə axşamı, onlar Commons təşkil edirik.
Olduqca çox saat 11.00 hər iş günü 8:00.
Gəlin, çıxmaq.
Hər hansı bir problem, heç bir problem-- yalnız gəlib,
və sonra biz ki, sizə yardım edəcəyik.
>> İkincisi, ofis saat əlavə və bölmələr, biz də şort var.
Hər kəs heç bir neçə olub video şort və ya walkthroughs
saytda?
OLDU.
Belə ki, onlar, həqiqətən, həqiqətən faydalı istəyirik.
Bizim sevimli Harvard istehsal ki, məktəb dən çox komanda
şimal up, onlar lentə və istehsal bu inanılmaz gözden geçirmek videos.
>> Onlar vasitəsilə addım-addım almaq lazımdır necə bir problem həll haqqında getmək üçün.
Oftentimes, haqqında səhv edirsinizsə bir sadə anlayış, bir tək anlayış,
biz yəqin ki, çünki, nəzər haradasa bizim saytda bu qısa.
Və adətən böyük resurs deyil Siz ilk etdiyiniz zaman üçün baxmaq üçün
bir problem idarə etmək üçün necə itirdi.
>> Üçüncüsü, biz də var study50 və reference50.
Belə ki, 50 təhsil veb yalnız bir link.
Mən hesab edirəm ki, var, study.cs50.net ya kimi bir şey.
Yalnız Google.
Biz hazırlanan slaydlar çox var.
Biz şort çox var və bütün tərtib walkthroughs-- şeyi
çox gözəl və bütün uşaqlar üçün səliqəli göz, ​​hər hansı bir anlayışları görmək
Siz haqqında səhv olduğunu.
Bu yəqin ki, əhatə olarıq orada study50 üzərində.
>> Oxşar Reference50--.
Biz müxtəlif qeydlər bir çox var Sizin ixtiyarınızdadır üçün hazır.
Və nəhayət, biz nə var CS50 müzakirə çağırıb
bir forum, əgər gecə əvvəl Sizin çətinliklər edirik, demək,
Bir sual var.
Müzakirə CS50 daxil olun.
Sual mövcut deyil.
Və hundreds-- sonra birini həmyaşıdları bəlkə thousands--
online Bu sinif alaraq daxil olacaq.
Və bəlkə kimsə əldə edə bilərsiniz bir TA can əvvəl cavab.
Bu mahiyyətcə yalnız bir var online forum ki, biz bütün
Bizim problemləri müzakirə üçün istifadə edin.
Ki, sərin var.
>> OLDU.
Belə ki, problem müəyyən edir.
Biz sağ olduğunuz Problemin qalın iki seçin.
Bizim bir çox artıq var problemi ilə mübarizə bir müəyyən.
Biz artıq bəlkə gözləyir bilirik ki, ötən gecə sizin pset etmək üçün
CS50 etmək akıllıca şey deyil.
>> Tips və mahiyyətcə üçün məsləhətlər müvəffəqiyyət bütün spec oxunur.
Necə bir çox artıq var pset 2 spec oxumaq?
OLDU.
Ki, bir bərk məbləği.
Mən sizə uşaqlar yəqin ki, tanıyıb bilirəm indi specs həqiqətən uzun.
Onlar, həqiqətən, uzun, həqiqətən istəyirik.
>> Hər xətti oxumaq həqiqətən çətindir sözü ilə diqqətlə sözü.
Siz yalnız harada üzsüz istəyirəm bu bir şey deyir.
Mən sizə təmin edə bilər ki, yoxdur.
Bunu varsa, yəqin edirik haradasa əldən gedir
harada sizə deyir necə bir problem başlamaq üçün
və ya adı nə deyir Sizin problem və ya sizə deyir,
Bu, yəqin ki, ən yaxşı yoldur Sizin problem bunu başlamaq üçün.
Və sonra itirilmiş olacaq.
>> Siz Sizin oxu çalıştığınızda ortasında spec,
əhəmiyyətli bir çox Siz deyilik ki, deyil məlumat
həqiqətən çıxış etmək niyyətindədir.
Belə ki, bütün spec oxumaq.
Bütün spec oxumaq üçün cəhd edin Siz bölməsinə gəlmək əvvəl,
sonra çünki biz pset haqqında danışmaq,
biz bütün bir fikir ola bilər neler edir.
>> İkincisi, bu bir anlayışdır Mən istinad etmək istəyirəm lazımdır ki,
Əlbəttə dövr ərzində bir çox.
Amma mahiyyətcə, sağ, ortasında bizə cavab?
Me, sizin TA və Jason kimi kursu Sizin professor meneceri və Scaz
və David sizin professor və bütün kimi Bu kurs digər sevimli TAS
bu course-- köməkçiləri Biz əlimizdən gələni edəcəyik
Siz müəyyən edilir ki, təmin etmək üçün Bu kurs uğur qazanmaq üçün.
Biz bölmə keçirəcək.
Biz ofis saat təşkil edəcək.
Biz sizin telefon cavab verəcək zənglər, sizin e-poçt cavab
etmək üçün əlimizdən gələni Sizin suallara cavab.
>> Lakin, çox bizə kömək edir.
Ortasında bizə cavab.
Siz ofis saat gəlmək varsa deyil, bölmə deyil getdi edərək
No olan mühazirələr görəndən fikir mənə kömək kimi olmaq, neler.
Mən də, mən təəssüf edirəm, kimi olacaq edirəm.
Bu borc üçün vaxt ola bilər ki çiyin, ağlamaq üçün
Mən əmin deyiləm, çünki Mən sizə kömək üçün nə edə
Siz ən azı kömək etməyə çalışırıq yoxsa Özünüz əvvəlində bir az.
Ortasında bizə cavab.
Bilirsiniz, gəlmək edin cavab almaq üçün hazır
maddi məşğul hazır.
Bu, çox şeyi edir cəlb hər kəs üçün asan.
Bəli, bu olduqca çox var.
>> Grading.
Belə ki, tədris proqramı, bu, olduqca dərin necə biz dərəcəli bağlı.
Amma mahiyyətcə, qəza bu sizin sinif 50%
psets, olacaq ki, çünki, sevimli deyil
burada böyük sərf etdiyiniz sizin kurs zaman əksəriyyəti.
40% viktorina, və sizin yekun layihə 10% olacaq.
Ərzində iki viktorina olacaq dövr əlbəttə.
Mən dəfə və tarixləri hesab də tədris proqramı verilmişdir.
>> yol alacağıq sizin psets grading edilə
biz mahiyyətcə dörd var biz hər bir sinif təyin dəyərlər.
Biz çərçivəsində bir dəyəri var, düzgünlüyü, dizayn və stil.
Gördüyünüz kimi Belə ki, növü var bizim psets hesablanması üçün formula.
Üç ən vermək çəki, düzgünlüyünə
açıq-aydın məşqçi çünki hallar üçün test edilməlidir
Biz istəyirik ki, bunun üçün test.
>> Siz uşaqlar bütün var Sizin ixtiyarınızdadır check50.
Bu, çox faydalı funksiyası var Siz uşaqlar bütün edə bilərsiniz ki,
bizim server kodu yüklemek biz sizin üçün kontrol.
Və o gördüm frowny simalar, smiley üzü.
Onlar, həqiqətən, həqiqətən faydalı istəyirik.
Ola etməyin çalışır kimi tələbə
onlara bütün cavab hardcode üçün.
Mən mütləq bir pset burada gördüm Kimsə check50 bütün dəyərləri gördüm
və onlar yalnız ağır əgər in-- kodlu bu sayı bu sayı çap.
Ki sayı varsa, ki sayı çap.
Bunu etməyin.
>> Hətta texniki baxmayaraq check50, doğru
həlli yol problem doğru deyil.
Belə ki, yalnız sparingly check50 istifadə edin.
Lakin əmin olun ki, siz Bu fəaliyyət necə başa düşmək,
proqram fəaliyyət göstərir check50 əlavə,
hər test edə bilməz, çünki check50 mümkün halda.
Biz onlardan bəziləri test olacaq.
>> Design mahiyyətcə, necə Sizin code yaxşı dizayn edir?
Siz surəti sovuşdurmaq çox varsa kodu bir çox dəfə xətləri.
Bəlkə olduqca yoxdur Sizin kodu ən yaxşı dizayn.
Bəlkə bu loop əlavə etmək üçün vaxt var.
Əsasən, burada yalnız bütün kodu etməyə çalışırıq haqqında
kimi səmərəli kodu yazmaq üçün çalışırıq mümkün ki, sizin proqram çalışır kimi
kimi tez mümkün kimi.
>> Nəhayət, biz stil var.
Belə ki, stil növüdür ixtiyari, subyektiv müddəti.
Mən biz rəsmi bilirsən CS50 üçün bir stil 50 guide,
Bu oh, sizə deyir harada, siz burada bir yer olmalıdır.
Siz olmalıdır formatında cür Sizin kodu bu yol.
Bu yol hər şeyi ad olmalıdır.
>> Mən, həqiqətən, özlüyündə qayğı yoxdur, necə Siz kodu stil seçin
kimi uzun siz ardıcıl qalmaq kimi.
Məsələn, Siz kimi, əgər Sizin dörd sonra boşluq buraxın
Sizin dörd loop əvvəl, yalnız hər zaman bunu.
Cür Bunu etməyin.
Bu digər dəfə etməyin.
Buruq saxlamaq istəyirəm aşırma kosmik müəyyən bir şəkildə,
yalnız həmişə bu yol yoxdur.
Növ haradasa bunu etməyin burada haradasa yoxdur.
Biz grading olduğunuzda, bu, həqiqətən çətindir
Mən heç bir fikrim necə varsa, Siz kodu format edirik
Şeyi mantıksız və yersiz.
Yalnız ardıcıl saxlamaq əgər, bu daha kimi mənim üçün daha asan
Sizin kodu oxumaq imkanına malik olmaq üçün.
Bu tələbə kimi sizin üçün çox asandır Sizin kod vasitəsilə baxmaq etmək üçün
və yanlış nə görmək məsələlər var niyə doğramaq.
Style asan şeyi biridir Sizlərin tam puanları almaq üçün nə edə bilər.
Əsasən, yalnız əgər, qayğı əgər Siz diqqət beş dəqiqə ödəmək
hər həftə sizin kodu ilə, siz olmalıdır tam stil xal almaq olacaq.
>> Nəhayət, biz deyirlər nə var çərçivəsində sürət.
Scope-- Mən bu böyük bir bilirik xüsusilə bu sinif sözü.
Lakin daxilində, bütün vasitələr Siz cəhd edirik ki,
Sizin qabiliyyəti ən yaxşı psets.
Üç getdi döndərsələr Sizin dörd problemlərin
və hətta cəhd etməyin Son bir, siz yəqin edirik
çərçivəsində bəzi xal itirmək gedir.
>> Yalnız problem başlamaq olsa belə, onun vasitəsilə gəzmək üçün yaxşı.
Bu iş deyil, hətta, onu açmaq göstərir ki, nümayiş etdirir, çünki
bizə Siz ki, çalışdığınız Siz müəyyən problem cəhd
Sizin qabiliyyəti ən yaxşı.
Və sonra sizə verə bilər daxilində tam bal.
>> Scope də zaman biz çox vacibdir aşağı pset hesab açılan haqqında danışmaq.
Belə ki, ərzində semestr, uşaqlar doqquz psets var.
Və biz, həqiqətən düşmə olacaq o doqquz həyata aşağı hesab,
lakin tam həcmi xal var yalnız.
>> Belə ki, natamam pset döndərsələr, təəssüf ki, ki, bir düşmək bilməz,
Sizin daxilində çünki xal başa deyil.
Siz dəhşətli həftə var, belə ki, hətta Siz ölüm edirik və xəstə olduğunuz
və ya it, pişik, vəfat edib və ev tapşırığı ilə yüklənmir edirik,
yalnız pset cəhd.
Sizin qabiliyyəti ən yaxşı etməyin.
Bu iş deyil, bu, əhəmiyyətli deyil.
Sadəcə onu açın.
Ən azı biz verə bilər Siz səy göstərir.
>> Bu sinif səy A.
Səy az aşağı hesab açılan.
Belə ki, Bəli.
Yəni, bu, olduqca çox var.
Hər kəs belə suallar var qədər sinif necə grade?
Və ya bu hər hansı?
Bu hər hansı belə far-- bölmələr, ofis saat?
Cool.
OLDU.
>> Belə ki, bu bir mövzu yoxdur bir həqiqətən haqqında danışmaq bəyənir.
Mən, həqiqətən, bu barədə danışmaq kimi deyil.
Siz uşaqlar həqiqətən istəmirəm Mənə bu barədə danışmaq eşitmək.
Amma təəssüf ki, biz bütün bu barədə danışmaq lazımdır.
David 20 dəqiqə sərf bu barədə söhbət mühazirə.
Və mövzu akademik dürüstlük.
>> Beləliklə, biz bütün burada yəqin ki, yazılı Bizim Yale karyera inşa zaman.
Biz yəqin ki, biz söhbət kazanılmış Bizim inşa plagiarize deyil bildirib,
ki, iş bizim deyil.
Kompüter, biz anlayışı eyni cür.
Siz təqdim Bütün işlər, yazmaq bütün kodu
Siz yazılı kodu olmalıdır.
Siz var kodunu olmamalıdır Başqa bir yerdə kopyalanır.
Code olmamalıdır Siz googled və plopped etdik
Bu işləri və həqiqətən bilmirəm.
Siz növ hissi var Bu deyil, həqiqətən bunu nə.
Zaman şübhə, mahiyyətcə, yalnız ağlabatan ola oldu.
Bizim tədris proqramı, biz şeyi bütün siyahısı
biz məqbul görməm ağlabatan deyil qarşı.
>> Məsələn, ağlabatan və sizin dost
nə ən yaxşı şəkildə müzakirə getmək üçün haqqında məntiqi bir problemi həll.
Ki, kifayət qədər ağlabatan deyil.
Nə ağlabatan olmazdı, əgər deyil uşaqlar, birlikdə var eyni kodu tipli
və eyni kodu çevirdi.
Bu ağlabatan deyil.
Eyni şey, bir esse cür.
Siz müzakirə etmək istəyirsinizsə, dostu ilə, hey,
Bu Mən yazmaq istəyirəm nə.
Bu mən istəyirəm addımlar böyük, bu barədə yazmaq almaq.
Ki, gözəl var.
Bir-biri ilə əməkdaşlıq edin.
Sizlərin başlamaq eyni şey yazmaq,
Eyni inşa çevirmək az OK.
Belə ki, zaman şübhə, yalnız bunu etməyin.
>> Burada CS50, biz yazıları var ki run test avtomatlaşdırılması üçün
deyil, yalnız kod düzgün, həm də kodu unikallığı.
Belə ki, mövqe bizə qoymaq etməyin bir İcra üçün işi olan.
Yalnız imkan, yalnız hər kəs üçün xahiş edirik bu gözəl təcrübə etmək.
Hər kəs daha yaxşı öyrənir biz bütün xoşbəxt edir,
və biz bütün qurmaq Bu kurs uğur.
Çox bir şey Bu sinif haqqında unikal
Mən hər kəs, həqiqətən, hesab edirəm ki, biz ki, diqqət
nə təəssüf deyirlər Bizim proqramı bənddə.
Belə ki, mahiyyətcə, 72 saat ərzində, əgər Siz bir şey etdik inanıram
Siz, həqiqətən, əmin idi deyilik müvafiq, bizə gəlmək edin.
Biz sizə söz verirəm ki, 72 saat ərzində biz halda özümüz idarə edəcək
yüksək istinad etmədən rəhbərliyi orqanı.
>> Belə ki, mənə gəlib və demək əgər, Andi, hey, mən, həqiqətən təəssüf edirəm,
amma bir neçə xətləri mənim var hesab edirəm I növ googled kodu keçən gecə,
Stack off var Overflow, surəti və yapışdırılır,
və mən, həqiqətən, həqiqətən, üzgünüm ki, Mənə bildirin.
Yalnız irin imkan etməyin və yalnız mən onu tutmaq ümid edirik.
Biz bunu tutmaq olacaq.
Yalnız mənə gəlib.
Mənə 72 saat ərzində bildirin.
Biz bir həll anlamaq lazımdır.
Və biz müraciət edəcək ki, söz mahiyyətcə universitet orqanları.
Belə ki, ən yaxşı maraq var yalnız hər kəs ilə vicdanlı olmaq
kursa cəlb.
>> OLDU.
OLDU.
Belə ki, indi tez əvvəl Mən hərəkət, hər kəs yoxdur
logistika bağlı suallarınız necə kursları biz çalıştırmak olacaq,
necə bölmələr gedir ki, bir çalıştırmak üçün?
OLDU.
Bəli.
>> Auditoriya: [işitilemez]?
ANDI PENG: Bəli.
Belə ki, necə bir çox quizzes-- Bazar ertəsi / Çərşənbə bölməsində?
Da Necə bir çox var Çərşənbə axşamı / Cümə axşamı?
OK, belə ki, burada möhkəm split var.
Beləliklə, biz run yolu Yale ki biz
ayrı-ayrı iki gedir Hər section-- üçün bir quizzes-- ki
sinif zamanı alınacaq.
Mən oktyabr oktyabr sonunda hesab edirəm Həftə biri kimi kimi bir şey,
viktorina.
Bəli, belə ki, yalnız sinif gəlir.
Ki, bazar ertəsi və ya çərşənbə günü, Siz viktorina almaq lazımdır.
Ki, çərşənbə axşamı və ya cümə axşamı günü, başqa bir viktorina almaq lazımdır.
Amma eyni material əhatə olunacaq.
Bəli.
Yaxşı sualdır.
Bəli.
>> Auditoriya: Harada biz nə Bizim siniflər yoxlamaq getmək?
>> ANDI PENG: Bəli.
Belə ki, mən bir göndərilməsi olacaq e-mail nə hər həftə
viktorina graded-- və ya zaman, sorry, psets pilləli zaman.
Psets adətən çevrildiyi günorta və ya cümə tərəfindən.
Mən ki, söz verirəm siz onları geri almaq üçün cəhd
Aşağıdakı cümə günorta ilə.
>> Zaman mən grade bir pset, mən göndərir Bu sinif kitab bildiriş həyata
ki, sizin hesab deyir online baxıla bilər.
Belə ki, bu həftə mən sonra Keçən həftə psets grading başa,
Sizlərin bir e-mail alacaqsınız bildiriş, deyirəm
hey bu harada var Sizin notları keçirmək gedin.
Və hər görə bilərsiniz Sizin siniflər üzrə bölgüsü.
Siz şərh edə bilərsiniz.
Oh, sürətli şey də.
böyük comment bölmə kitab harada Mən yəqin ki, lazımdır deyil
mənim vaxt grading əksəriyyəti sərf.
Belə ki, bir şey var ki, zaman, həqiqətən vacibdir
Sizlərin edirsiniz Sizin notları Sizin psets
yalnız axtarır deyil fiziki hesab
həm də vaxt ayırdığınız həqiqətən mənim şərh oxuyun.
>> Tez-tez ki, siz rəy verir Bir problem həll etdiyiniz necə.
Siz nə etmək lazımdır, əgər bir az daha yaxşı bir şey,
konstruktiv tənqid adətən yaxşı o şərh bölməsində verilir.
Belə ki, mən gedirəm edin comments yazılı vaxt sərf etmək.
Mən, həqiqətən, təşəkkür edirik Sizlərin bu şərh oxumaq olardı.
OLDU.
Cool.
>> Oldu.
Beləliklə, biz söhbət başlamaq üçün gedir və yalnız tez nəzərdən
maddi bəzi həftə etdiyiniz yalnız, belə ki, sıfır
üçün sağ səhifə bu həftəki problemləri başlayır.
Belə isə loop biridir loops üç növ
Biz əvvəllər Bu sinif müzakirə.
>> Bir müddət loop mahiyyətcə sintaksis yazılı
harada müəyyən bir vəziyyətdə isə, bu hüquqa dəfələrlə edirsiniz?
Burada bu qrafik düşünün.
Siz başlayacaq olacaq Sizin kodu müəyyən point.
Siz loop vəziyyəti daxil olacaq Varsa mən bilirəm yoxdur x biri azdır.
>> Ki, doğrudur, siz olacaq loop bədən icra etmək.
Və bunu saxlamaq olacaq bir daha, bir daha, bir daha,
bu bir niyə üzərində və over-- olan loop sizin vəziyyəti olur qədər
yalan.
Bu şəkildə, bir müddət loop So sadə yollarından biridir
vəziyyəti hər hansı yazmaq üçün üzərində və üzərində təkrar lazımdır.
Just zaman ehtiyatlı olun Siz loop hər hansı yazılı etdiyiniz
Bir çıxış vəziyyəti kimi var ki, yaxşı hər hansı bir yeniləmə kimi
Sizin loop yalnız deyil ki, belə deyil üzərində və sonsuz basdırmaq.
Hər halda, siz olacaq əmin etmək istəyirəm
Siz bəzi aspekti dəyişən edirik ki, Sizin kodu və ya loop sonunda
yalnız bir yol var ki, əmin etmək vəziyyəti doğru irəliləyir
siz sonuna görüşmək istəyirəm ki.
Ki, hamıya mənada edirmi?
Biz yalnız olmaq istəmirəm Bu spiral harada yakalanmış
biz ətrafında və ətrafında getmək və loop pozmaq üçün heç bir yolu yoxdur.
Və hər loop mahiyyətcə bunu bir yolu var.
OLDU.
>> Siz İkincisi, bir çox Sizin Mario psets da
yəqin ki, işə idi loop bu növü.
Bu do loop isə adlanır.
İlk növbədə, hər kəs mənə deyə bilərsiniz nə do arasında fərq
loop və bir müddət loop isə?
Bəli.
>> Auditoriya: loop isə do [Işitilemez] ilk çalışır.
>> ANDI PENG: Bəli, dəqiq.
Belə ki, bir do loop həmişə nə isə nə Mötərizədə daxilində, do daxilində
orada və vəziyyəti yoxdur the-- üzr kontrol əvvəl
əvvəl kodu edir vəziyyəti yoxlanılması.
Bu bizim üçün xüsusilə aktualdır Burada bu sinif, ən dəfə, çünki
biz təklif istəyirəm olacaq daxil bir növ üçün istifadəçi.
Və sonra, asılı olaraq Onlar bizə giriş,
sonra biz oh, etmək, qiymətləndirmək olar biz onları yenidən təklif etmək lazımdır?
>> Mario Belə ki, əgər istifadəçi sizə verdi mənfi boyu, məsələn,
Siz ilk tez olacaq və içərisində nə.
Sonra isə yoxlamaq olacaq.
Bilirsiniz, 1 mənfi müsbət sıra ki?
Bu deyil, mən getmək üçün gedirəm geri və do və təkrar təkrar
və təkrar və onlar qədər təkrar Nəhayət, siz kimi bir sıra verir,
biz bütün kodu işə bilər.
Bu, olduqca vacibdir mahiyyətcə hər hansı bir istifadəçi daxil.
Mən heç bir təmin edə bilər bir pset olduğu vaxt
biz daxil edəsiniz kodu hər hansı bir sort, biz istəyirik
yəqin ki, vermək niyyətindədir biz istəyirik bir test
gedir ki, sizə pis bir şey vermək kodu pozmaq üçün cəhd edir.
>> Biz input an üçün xahiş üçün cəhd edin tam, biz yalnız bir string verə bilər
və bu idarə necə görmək.
Biz bir yaş işə xahiş varsa, biz bir mənfi sıra verə bilər
Siz idarə necə görmək.
Yalnız uşaqlar üçün test əmin olun hallarda olan ən yaxşı almaq deyil
giriş, yalnız deyək.
Və loop isə do oftentimes ən yaxşı
belə ki, sizin kodu dizayn yol ki çərçivəsində cavab.
OLDU.
>> OLDU.
Belə ki, bu, yəqin ki, ən çox üç həyata kompleks loop
ki, biz bu günə qədər baxdı etdik.
Və ilk çox qorxudan görünür.
Amma mən sizə zəmanət uşaqlar bir dəfə loop üçün istifadə etmək üçün necə hang almaq,
Bu ən faydalı şeyi biridir, Sizin Arsenal ən faydalı tools
Bu sinif irəli hərəkət.
>> Belə ki, məsələn, Not, biz bu çox sadə blok
yalnız bu müəyyən təkrar bildirib dəfə müəyyən sayda ifadələr.
Yeri gəlmişkən, SAJ-- ki Scaz Andi Jason var.
Biz oftentimes bizim e-poçt Saj olun.
Biz Saj demək olarsa, səhv etməyin.
Bu yalnız bizim deyil.
>> Belə Not, biz bacardıq söyləyən məhəllə, mən Saj ​​sevgi təkrar!
10 dəfə.
Çox sadə.
ki, arxasında məntiq bir çox, çox sadə, sağ?
Mən ilk keçmək istəyirəm vaxt və ki, ikinci dəfə görmək
və s ki, üçüncü dəfə görmək və s, qədər 10 təşkil edib.
>> Və yol biz ki, təmsil edəcək kodu yalnız loop üçün sadə vasitəsilə.
Belə ki, siz bəyan olacaq bu halda burada dəyişən,
bir int ilə.
Biz i ad olacaq.
Biz 0 onu başlamaq olacaq.
Və dayandırılması nəşr olunur i olacaq az 10 edir.
Və yeniləmə i ++ olacaq.
>> Və loop daxilində gedir nəhayət qədər icra etmək
vəziyyətdə son xit olan halda, bu loop qırmaq olacaq.
Stuff olmalıdır ki, uşaqlar bütün növ əvvəl görmüşəm
Sizin problem bir müəyyən və nə idi.
Hər hansı bir sualınız varmı İndi loops üçün bağlı?
OLDU.
Great.
>> OLDU.
Olan sizin üçün So Bu həftə üçün pset spec oxumaq
biz işə gedir bilirik ki, bir şey ASCII və ASCII masa çağırıb.
Davud mühazirə qısa keçdi necə kompüter mahiyyətcə hər şey
bir kompüter kodlanmış ikili, adet sıfır və olanları da.
Və kompüter edə bilərlər yol əlavə müxtəlif dəyərlər saxlamaq üçün
adet sıfır və olanları Xəritəçəkmə vasitəsilə Bu nömrələr digər rəqəm təmsil
və ya mahiyyətcə digər simvol.
>> Bir bu halda belə Bütün yoxdur Masa ASCII
nömrələri xəritəsi simvol və ya chars edir.
Mənbə kodu fayl So Sizin görür kompüter üçün,
hey, adet sıfır və olanları bir dəstə, adet sıfır və olanları, adet sıfır və olanları.
Ki, saxlanılır nə Sizin kompüter faktiki yaddaş.
>> Amma biz insanlar istədiyiniz zaman Kompüter ünsiyyət,
biz, məsələn, deyirlər want--, Mən böyük A istəyirsinizsə,
Mən bəzi yol lazımdır gedirəm kompüter izah, oh,
Mən böyük A yazın zaman, mən demək ikili bu nümayəndəliyi.
>> Və biz bunu yol atdı olunur ki, ixtiyari şey bir ASCII masa çağırıb
biz insanlar kimi, proqramçılar, bir müddət əvvəl,
biz özbaşına biz qərara aldı ki, bu nömrə təyin gedirdi
bu simvol dəyərlər.
>> Belə ki, uşaqlar bu online google bilər.
Mən ona bir link var hesab edirəm pset-- yalnız bir ASCII xəritəsi masa ASCII
masa.
Bu, yalnız ikili tərcümə simvol daxil nömrələri.
Və bu, çox olacaq Sizin problem set üçün faydalı
istədiyiniz zaman bir şey və ya əgər hesablamaq
Müəyyən keçirmək üçün istədiyiniz simvol və ya integers
və ya müəyyən simvol manipulyasiya.
Bu, çox olacaq əhəmiyyətli bütün
bir ASCII masa getmək üçün necə.
>> Məsələn, böyük bir belə sayı 65 təmsil edir.
Və kiçik bir 97 ilə təmsil olunur.
Belə ki, bilmək vacibdir iki dəyərlər arasında fərq
32.
Oftentimes, Siz çevirmək lazımdır, əgər Digər bir fərq 32.
Siz cür edirsinizsə, narahat olmayın ilk bu qarışıq.
Biz necə biz artıq getmək lazımdır faktiki kodu bu işə.
>> OLDU.
Həyata noutbuk ilə sizin üçün So bir ASCII masa qoparmaq üçün çekinmeyin,
Bu yəqin ki, olacaq, çünki Sizlərin istinad tələb
simvol nə.
OLDU.
>> Belə ki, müəyyən bilmədən simvol, müəyyən nömrələrə xəritəsi
Mən ilk run əgər ki, line, printf a kod
a, minus kiçik böyük A. hər kəs varmı
olacaq nə bir tahmin var İndi ekran çap?
>> Bütün Belə ki, ilk, nə bir təmsil kiçik?
Nə sayı ki, ASCII masa kodlanmış.
Bağışlayın?
>> Auditoriya: 97?
>> ANDI PENG: 97, böyük.
Və böyük bir nədir?
>> Auditoriya: 65.
>> ANDI PENG: Belə ki, 97 minus 65 nədir?
>> Auditoriya: 32.
ANDI PENG: OK.
Belə ki, gedir uşaqlar nə düşünürsünüz mən giriş baş ki, kodu xətt
mənim kompüter?
>> Auditoriya: [işitilemez].
ANDI PENG: Bağışlayın, qədər danışmaq.
Heç bir narahatlıq.
Bu, çox təhlükəsiz ətraf mühit, minus kamera.
Biz bütün heç bir narahatlıq to-- olacaq.
Sadəcə biz bütün kimi iddia olacaq Bu yalnız bizim bu otaqda soyuq oldu.
Heç bir narahatlıq.
No sual çox axmaq deyil.
Cavab yoxdur bir axmaq cavabdır.
Mən yəqin ki, səhv etmək gedirəm Mənim tədris zamanı.
Ciddi, uşaqlar, yalnız üdüləmək.
Özünüz əmin olun, bilirsiniz?
Belə ki, nə idi?
Kim ki, ötən cavab dedi?
OLDU.
Ki, gözəl və aydın Shout.
>> Auditoriya: 32?
>> ANDI PENG: 32.
OK, bu kodu run imkan və ki, nə var əgər baxın.
OLDU.
Belə ki, uşaqlar bilərsiniz cür Mən var tipik notation görmək
biz işə necə burada qurmaq bizim kompüter proqram hər hansı bir sort.
Biz əsas funksiyası var bizim əsas funksiyası daxilində.
Mən yalnız surəti gedirəm və kodu bu xətt yapışdırıb.
Zaman uşaqlar da ehtiyatlı olun çıxarmaq və kodu sovuşdurmaq olunur.
Bəzən müəyyən operatorları Düzgün üzərində yapışdırıb yoxdur.
Bu halda, minus işarə həqiqətən bir dash idi.
Və belə kompüter ala etməyib.
Mən geri getmək idi və fiziki ki, köçürmək.
Just zaman ehtiyatlı olun Sizlərin bunu edirik.
>> OLDU.
Biz burada bu run olacaq.
Belə ki, biz Section2 daxil cd olacaq.
Bu proqram ASCIIMath adlı etdik.
Biz hər hansı bir çalıştırdığınızda Belə ki, xatırlayıram proqram, biz ilk tərtib istəyirəm
Bizim markası vasitəsilə çalışan.
Və sonra biz, həqiqətən, almaq istəyirsinizsə dot-çizgi etməklə program.
Beləliklə, biz ./asciimath olacaq.
>> Sağ, orada biz gedin.
Və biz 32 görürük.
Maşallah.
Siz konfet bir parça layiqdirlər.
Sizin üçün Candy.
Sorry.
Oldu.
OLDU.
Beləliklə, biz burada geri nümunə bilərsiniz.
Yox, Aah.
Aah.
OLDU.
Mən yalnız kimi saxlamaq üçün gedirəm.
OLDU.
Uşaqlar Gördüyünüz kimi, biz nə edə çox maraqlı şeyi çox,
çox sərin çox şey, bir çox cəlb çox mürəkkəb şeylər
ASCII simvol və nömrələri.
Siz beş sıralamaq aşağı almaq, ki, birlikdə izləmək üçün bir çox var.
Biz getmək fikrində deyilik bölmə vasitəsilə.
Siz əgər, çekinmeyin, kağız üzərində həyata səbəb
ilk nə zaman baş verən edilməlidir on dəyərlərin giriş belə bir string.
Məsələn, son olaraq, biz Z müəyyən saysız təmsil edən
a-- də təmsil edən bir müəyyən saysız plus 1 modulos 26
üstəgəl kiçik.
>> Sizlərin oxu saxlamaq Bu vasitəsilə, siz
bir model gəlmək ola bilər necə kodu manipulyasiya edirik.
Mən, yüksək gəlir Siz bölmə bütün sonra
uşaqlar irəli və giriş getmək Sizin kompüter o bütün
və nə cür görmək nömrələri gəlir
və bu niyə vasitəsilə Ağıl çünki psets üçün, baş
bu, həqiqətən əhəmiyyətli olacaq Siz anlamaq üçün
niyə müəyyən şeylər olur.
Bu slaydlar Bütün online olacaq.
Çalışır, belə ki, heç bir narahatlıq fiziki qeydlər kopyalayın.
Hər şey online.
Bu bölmədə özü online olacaq.
Bütün mənbə kodu ki, Mən online olacaq çalışan alıram.
Bəli.
Siz hələ bir sual var idi?
Auditoriya: modulos nədir?
ANDI PENG: OK.
Belə ki, modulo olacaq operatorudur Sizin uşaqlar nin pset üçün olduqca əhəmiyyətli
burada.
Belə ki, operatorları yol C və proqramlaşdırma işləri
Siz deyirlər nə var ki bölmə simvolu və modulus simvolu,
olan yalnız faiz işarəsi kimi.
>> C, belə bir tam nə zaman bir çizgi ilə tam bölünür,
C kəsmək istəyən bir tendensiya var bu xal bütün off,
tam istəyir, çünki bir tam çevirmək.
Bu ikiqat olmaq istəyirəm niyyətində deyil bütün sonra ondalık bir dəstə ilə.
>> Mən 2 bölünür 3 əgər Belə ki, gedir 0.5 kəsilmiş və yalnız 1 vermək.
Ki, bir şey belə olmaq Siz etdiyiniz zaman çox ehtiyatlı
proqramlaşdırma riyaziyyat hər hansı bunu, nömrələri əldə edir
nömrələri ola bilər Siz düşünürdük ki,
olan niyə yuvarlaqlaşdırma sizin son pset vacibdir.
>> Modulo sizə qalan verir.
Mən 3 etdim, məsələn, əgər belə modulo 2-- belə 3 faiz işarəsi 2--
bu ki, qalan verəcək.
Belə ki, 3 2 bölünür 1.5.
Bu 1 1 qalan var.
Bu 1, verəcək ki, qalan deyil.
>> Belə ki, uşaqlar hərəkət zaman ASCII masa vasitəsilə,
modulo olan qədər başa çatacaq çox əhəmiyyətli bir şey,
və biz sonra müzakirə edəcəyik.
>> OLDU.
Belə ki, olduqca bir şey, olduqca yeni və olduqca unikal
Biz bu həftə müzakirə etdik ki, bir sıra nə anlayışı.
Belə ki array ilk məlumat strukturu növü
biz olacaq ki, Bu sinif qarşılaşa.
Bütün məlumatlar strukturu deyil ixtiyari bir növ,
strukturu kimi sözün hər şeyi biz proqramçılar yaratmışdır ki,
Biz kodu gətirdik ki, kodu digər ədəd ola bilər.
>> Bu mənada, bir serialın belə bir fayl kabinet kimi düşünün,
Müxtəlif açmaq əgər burada Fayl kabinet rəflər,
müxtəlif şeylər əldə edə bilərsiniz.
Yaddaş, bir sıra yalnız edir bilgisayarınızda eyni şey.
Siz müxtəlif blocks-- biz ola bilər bir sıra indices-- onlara zəng.
Bu, yalnız bir blok kimi yaddaş rəf
biz ərzində yaratdıq ki, sizin kompüter daxil edə bilərsiniz
müxtəlif fəzalarda müəyyən şeylər.
>> Bir sıra ilə, belə ki, həmişə müəyyən yerləşir var
Bir elan müəyyən etmək aşağıdakı formatda array.
Siz ilk olacaq data növü daxil
Siz serialın yaratmaq istəyirik.
Mən integers bir sıra istəyirsinizsə, Mən orada int qoymaq niyyətindədir.
Mən strings bir sıra istəyirsinizsə, Mən orada strings qoymaq gedirəm
Sizin array adı, və sonra Siz kvadrat mötərizə olacaq.
Və kvadrat mötərizədə daxilində sen Sizin serialın ölçüsü üçün gedir.
>> Üçün həqiqətən vacibdir Something Diziler yaradılması zaman unutmayın
Bir yaratmaq dəfə ki, array, ölçüsü dəyişə bilməz.
Əgər bilirsinizsə, Belə ki, indi ki, Siz ölçüsü 10 bir sıra var
Mən 10 hüceyrələri üçün gedirəm bilirik ki, Bu array ərzində göstəriciləri ərzində və ya 10,
və gedir heç oldu genişləndirmək və ya azaltmaq
heç bir məsələ var nə ki, kosmik hazırda yalnız 10 blokları
bilərsiniz yaddaş ayrılan Siz qoymaq etdik nə qədər 10 şey.
>> Bu şəkildə Belə ki, bir sıra data type, bir sıra edir data structure
alacağıq bəzi digərlərindən çox fərqlidir Bu kurs sonra əhatə olunacaq.
Bəli.
Məsələn, əgər siz istəyirdi ölçüsü 3 bir sıra yaratmaq
integer-- of olan dəyişənlərin oh, sorry, temperature-- of
və temperatur, və Əlbəttə ki, tam deyil.
>> Belə ki, biz olan int yaradacaq biz saxlamaq istəyirəm nə data type.
Biz bu temperatur zəng olacaq adlandırma nomenklaturasının naminə
hamımız başa düşürük ki, bir şey.
Və biz kvadrat mötərizə olacaq.
Və biz üç ədəd istəyirik.
Belə ki, biz qoymaq olacaq Bunun içərisində üç.
>> Həqiqətən Something Unutmayın əhəmiyyətli
Diziler sıfır yönümlü olunur.
O deməkdir ki, bütün sizin ki 0 indeksi ilə başlamaq,
və vasitəsilə run 1 minus serialın ölçüsü.
Belə ki, burada, məsələn, biz ölçüsü 3 bir sıra var.
Bu mümkün olacaq üç dəyərlər keçiriləcək.
Amma nömrələri ki themselves-- sayı, array ki, index,
array, 2 0-dan var.
Belə ki, uşaqlar, həqiqətən, həqiqətən, ehtiyatlı olun Siz müəyyən sizin problemləri ilə olacaq
və serialın hər hansı yaradılması, çünki bu dəfə çox
həqiqətən, həqiqətən, asan ki, unutmaq.
Mən, həqiqətən, index yoxdur 3, ki, mən hazırda yalnız
2 index var.
Və siz cəhd Üçüncü indeksi daxil
Bu nə olacaq null terminator çağırıb.
Bu, həqiqətən niyyətində deyil sıra mövcuddur.
Və kompüter belə getmir.
Belə ki, zaman ehtiyatlı olun Siz şeyi daxil edirik
Siz unutmayın ki, təmin etmək üçün Diziler var ki, sıfır yönümlü.
>> OLDU.
Belə ki, ilk nümunəsi yalnız bir sıra yaratmaq bir yol.
Mən ikinci nümunə Aşağıda yalnız ayrı-ayrı yoldur
yaradılması eyni data nə biz yalnız inputted sonra quruluşu.
Belə ki, əvəzinə fiziki çalışan vasitəsilə və 0 temperatur qoyulması
nə bərabərdir, temperatur 1 nə olursa olsun, temperatur 2 bərabərdir bərabərdir
nə olursa olsun, mən yalnız, həqiqətən bilər birbaşa bir xətt bütün yaratmaq
Havanın temperaturu kvadrat mötərizədə daxil bərabərdir.
>> Və bu halda bildiriş ehtiyac yoxdur Sizin array necə böyük müəyyən etmək üçün,
Kompüter olacaq, çünki keçir və var ki, görəcəksiniz
bu qıvrım aşırma üç elementləri.
Və bu, OK, bilmək olacaq Mən ölçüsü 3 bir sıra lazımdır.
Siz lazımdır fikrində deyilik input bu şəkildə.
>> Və həmçinin, yeah ki, yol.
Hər kəs sualınız varmı biz serialların etmək necə bağlı
və ya bir sıra strukturu necə?
Bəli.
>> Auditoriya: [işitilemez]?
ANDI PENG: Bəli, dəqiq.
Belə ki, elan və başlamaq üçün, əgər bir sıra aşağıdakı metodu,
ikinci yolu, Yalnız o tərk edə bilər.
Və kompüter avtomatik olaraq bilir ki,
neçə elementləri saymaq lazımdır bu qıvrım aşırma, ayrılır
virgülle.
>> Belə ki, burada onlar 65, 87, 30, görəcəksiniz.
Belə ki, kompüter, oh, bilir üç integers var.
Mən bir sıra ad yaratmaq üçün bilmək bu üç elementləri ilə temperatur.
Yaxşı sualdır.
Bəli.
>> Auditoriya: mümkün yaratmaq üçün deyil məlumatların müxtəlif növləri ilə bir sıra
ki, daxil edilə bilər?
Məsələn, integers ilə [Işitilemez]?
ANDI PENG: məqsədləri üçün Bu sinif, heç indi.
Bir data yaratmaq zaman bir sıra kimi strukturu,
Siz izah edirik kompüter, hey, mən sizə lazımdır
bu qədər ayrılması Mənim sabit yaddaş,
hər bir hüceyrə bir olan bit müəyyən sayda.
>> Biz həftə öyrənildi saxla sıfır ki, müxtəlif data
növləri müxtəlif ölçüləri var?
Məsələn, bir simli belə fərqli bir məbləği
bir char, daha kosmik hansı kosmik fərqli bir məbləği
bir tam olan.
Və belə ki, müəyyən və yoxsa qarışdırılır və dəyişənlərin hansı növ uyğun
Siz kompüter var gedən çox qarışıq olacaq.
Və bilmək niyyətində deyil nə qədər yaddaş vermək.
Sağ məqsədləri üçün belə İndi, kompüter yalnız
bir sıra bir növü tanımalıdır.
Yaxşı sualdır.
OLDU.
>> Belə ki, təbii ki, biz İkinci sual
biz yaratdıq indi ki, yaxşı edir array və biz bu şeyi bütün qoymaq etdik
array, necə var daxil olmaq üçün edə olacaq?
Tipik strukturu Belə ki, biz həmişə bir sıra daxil loop üçün sevimli edir.
Biz olarıq ki, Mən sizə uşaqlar söz Burada bu fellow bir çox görən.
>> Əsasən, istədiyiniz zaman, istədiyiniz daxil bir sıra daxil qiymətləndirir
və ya onlara daxil olmaq istəyirsinizsə, Bunu etmək üçün ən yaxşı yolu, loop üçün deyil
çünki loop üçün, siz Siz etdiyiniz neçə dəfə bilmək
array vasitəsilə çalıştırmak üçün istəyirəm olacaq, Bir stop nəşr çünki, sağ?
Və hər dəfə run vasitəsilə siz əldə edə bilərsiniz
serialın fərqli bir element.
>> Və həmçinin, bu səbəbi adətən biz, 0 dəyərdə loops üçün başlamaq
serialların daxil zaman, çünki, sıfır index əldə edə bilərsiniz.
Və belə ki, çox gözəl paralellər.
Siz uşaqlar istədi ola bilər i 1 bərabərdir int üçün yazın.
i daha az və ya 3 bərabərdir.
>> Amma bu kimi olduqca işləməyəcək burada, çünki yalnız
0, 1, 2 elementləri var.
Və belə ki, başlamaq üçün, əgər Sizin element 1, 2 i və 3,
Çalışan başa olacaq Sizin array hüdudlarından kənarda,
və pis şeylər gedir.
>> Belə ki, Mən sizə uşaqlar Segue görmək ümid niyə daha əvvəl dərsləri
biz çalıştırmak üçün uşaqlar tədris edilmişdir və loop üçün biz yol bir format.
İndi biz, çünki bu serialların daxil transitioned,
niyə 0 verir görə bilərsiniz özü çox gözəl üçün daxil.
>> Belə ki, nə yol Mən that-- deyil yalnız naminə burada çap
onu çap.
Amma mən tutucu, vergül var.
Və faktiki qoşulması hissəsi olur.
serialın adı Havanın temperaturu adlanırdı.
Belə ki, temperatur və var serialın i-ci element.
>> Loop üçün keçir, belə ki, Bu 0 başlamaq olacaq.
Bu çap olacaq Bu serialın 0th index.
Sonra çap olacaq ilk element həyata.
Sonra çap olacaq ikinci həyata.
Və sonra biz qırmaq olacaq.
Hər kəs aydındır ki, necə baş verir?
Great.
>> Oldu.
Belə ki, burada biz bir yol var Biz istəyirik olmasaydı deyərək
ağır kodu proqramçı kimi məni in--.
Mən, həqiqətən, fiziki istəmədi hər fərdi element qoymaq
bu serialın.
Mən əvəzinə istəyirdi , istifadəçi daxil dəyərləri var
Bunu etmək üçün ən yaxşı yolu nədir?
>> Yaxşı, burada yaratmışdır bu sevimli funksiyası,
olan I bir sıra elan edə bilər.
Edək scores-- belə int yalnız biz etmək istəyirsiniz
bütün 18 notları keçirilən bir sıra burada bu bölmədə tələbələr.
Düşünürəm ki, biz bir az var edirəm artıq 18 uşaq bu gün.
Amma məsələn xatirinə, Yalnız biz 18 idi fərz edək.
Mən bir sıra adı puanları yaradacaq növü int, puanları, çünki, əlbəttə,
nömrələri var.
Mən gedirəm Kvadrat mötərizədə 18
ki, çünki nə qədər tələbələr mən puanları saxlamaq üçün etmək istəyirəm.
>> Və yol I yaşayır istədiyiniz array Mən istədiyiniz ki,
ki, loop üçün vasitəsilə run Əlbəttə ki, 0 0th index olan.
Və sonra 18 olan mənim var, çünki, nəşr dayandırılması
Array 18 elementləri.
Və sonra mən printf gedirəm daxil edin tələbə yada yada yada üçün hesab.
>> Hər kəs mən niyə burada mənə deyə bilərsiniz Mən plus 1 çap və deyil?
Bu oyun növü var sual deyil, həqiqətən.
Bu, həqiqətən, fiziki deyil kod çalışan təsir göstərir.
Bəli.
>> Auditoriya: [işitilemez] 0?
ANDI PENG: Bəli, dəqiq.
Bu hey, demək bir az yöndəmsiz, Bu sinif 0th tələbə istəyirik.
Bu bir az qəribə deyil.
Bizə Belə ki, insanlar kimi, həqiqətən, yoxdur kompüter düşünmək necə düşünmək.
Belə ki, hətta baxmayaraq kompüter, bu dəyərləri saxlanılması var
0-ci indeksi,-da biz insanlar istəyirik, biz, həqiqətən, yoxdur
sıfır kimi özümüzü müraciət etmək istəyirəm.
Beləliklə, mən yalnız çap zaman, Mən çap və əlavə etmək üçün gedirəm
Yalnız aydınlıq naminə 1.
Mən çap zaman, belə ki, mən gedirəm 18 vasitəsilə tələbələr 1 çap edə.
Bu, həqiqətən təsir etmir kod çalışan
hər hansı bir şəkildə, yol mən çap.
>> Siz olduğunuzda Lakin ehtiyatlı olun həqiqətən array daxil.
Siz puanları i görəndə, Burada qeyd Mən, həqiqətən, Ben
0th indeksi daxil olmaq və Biz 1 plus 0- və ya 1 plus 1,
bu halda, index belə ki, bu, həqiqətən aydın deyil.
Hər kəs cür OK deyil necə vasitəsilə çalışan
və hər indeksi ilə Ben massivinə bir dəyər qoyulması
18 nömrələri ilə bir sıra yaratmaq istifadəçi daxil gedir?
OLDU.
Cool.
>> OLDU.
Biz indi olduqca bir şey hərəkət eləcə də müəyyən bu parça üçün müvafiq.
Mən mühazirə bilirəm,, David Bağışlayın, bir sual var idi?
>> Auditoriya: Siz genişləndirmək edə bilərəmmi?
>> ANDI PENG: Bəli, mən çalışdım.
Amma bilmirəm.
Nədənsə, bu PowerPoint versiyası
həqiqətən iş deyil yaxşı ekran.
Belə ki, biz yalnız olacaq bu kimi saxlamaq.
Bütün bu online qəbul olunacaq.
Bağışlayın, uşaqlar.
Bəli.
OLDU.
>> Belə ki, biz də strings ola bilər.
Belə ki, həqiqətən, uşaqlar I xəbərdarlıq əgər Rob ki mühazirə bu artıq getdi bilmək
O, simli əslində did-- ki, simvol yalnız bir sıra,
Bu barədə düşünmək əgər, sağ?
A string bir ad və ya bir deyil cümlə və ya bir söz, sağ?
>> Mən adlı bir string yaratmaq olsaydı Andi-- yalnız mənim adı, A-N-D-I.
Siz yalnız bir dəyişən kimi hesab edirəm ki.
Amma əslində, bu, aşağı sınıq chars yalnız bir sıra daxil.
Belə ki, bir xarakter var bir bir sıra dəyər saxlanılır.
Bu saxlanılan n bir xarakter var ikinci index və s və s.
>> Biz belə bir şəkildə belə həqiqətən bu cür
strukturunun müəyyən Bizim strings üçün yer.
Belə ki, burada, mən daxil idi sözü "yemək" - belə string söz bərabərdir
string almaq.
Mən daxil olsaydı sözü ", yemək ki," ki, mənim kompüter yol fiziki
Mənim yaddaş ki, simli saxlanılması.
>> Mən ki, axır istəyirdi və i daxil belə yazaraq çap
Biz mühazirə, xatırlayıram, sıfır bərabərdir strlen adlı əhatə bir şey,
və ya simli uzunluğu.
Mən, həqiqətən, çünki array necə böyük bilmək
nə istifadəçi inputting-- of
>> Məsələn, mən inputted Sözü ", yemək" və mən bilirəm
doğru, üç simvol uzun?
Belə ki, bir üç qoymaq bilər və hər şey gözəl olacaq.
Lakin istifadəçi girişi şey əgər ki, dəyərlərin fərqli bir sayı,
Siz, həqiqətən, mümkün deyil olacaq Siz kodu proqram zaman bilirik.
>> Beləliklə, biz test hallarda idarə yolu kimi biz bir şey var ki,
yalnız bir funksiyası olan strlen adlı ki, bir string necə uzun size deyir.
Belə ki, sözün strlen.
Mənim söz yemək deyil.
n sözün strlen bərabərdir.
Kimsə nə mənə deyə bilərsiniz dəyəri həqiqətən hüququ var?
N sağ nə ifadə etmir İndi, bu nümunə, mən əgər yemək?
>> Auditoriya: 3.
>> ANDI PENG: 3, dəqiq.
Int i bərabərdir Belə ki, biz var sıfır n mahiyyətcə 3 bərabərdir.
Və i çalıştırmak üçün gedir Bu 3i ++ az qədər.
Və mahiyyətcə getmək olacaq vasitəsilə eyni şey.
Bu çap olacaq hər dəyəri və vermək
E-A-T. Bu, sadəcə bir belirten deyil yazılı müxtəlif yol.
Bu, çox faydalı olacaq.
Bəli.
Auditoriya: qoyaraq faydaları nədir n ki, daxili strlen söz bərabərdir
[Işitilemez] loop üçün?
ANDI PENG: Bəli.
Beləliklə, mən demək to-- olsaydı, məsələn, Mən əgər o bunu və
, mənim kodu ki, oop-- bu olardı do-- əslində eyni şey kimi bunu olun.
Lakin, yol David açıqladı Bu mühazirə zamanı, əgər siz hər hansı uşaqlar
xatırlayıram idi ki insanlar, proqramçılar kimi,
Biz, həqiqətən, bizim proqram cəhd code bizim kompüter var ki,
belə ki, mümkün qədər minimal iş ki code çox səmərəli edir.
>> Belə ki, orada nə olsa Mənim üçün loop vasitəsilə olur
Mən ilk bir elan istədiyiniz ki, dəyişən adlı i 0 olacaq.
Mən oh, yoxlamaq üçün gedirəm sözü strlen nədir?
Oh, strlen 3.
Belə ki, i üç azdır?
Bəli, elədir.
Mən çalıştırmak üçün gedirəm.
>> Və sonra ikinci dəfə geri ətrafında loop, mən arttırmayı gedirəm.
i bir olacaq.
Və i, oh, yoxlamaq gedir lakin sözün strlen nə var?
Oh, üç var.
Və cür israfçı görünür ki, yoxdur Siz loop vasitəsilə run hər dəfə,
funksiyası yoxlanılması üçün, hətta sözü strlen olsa
həqiqətən dəyişir heç?
>> Belə ki, bir kompüter üçün əlavə güc var.
Siz şey haqqında danışmağa başlayın zaman milyardlarla və milyardlarla var ki,
və yerlərdə milyardlarla uzun, sizin kompüter təsəvvür
fiziki keçmək üçün olan və ki, hər bir zaman bütün yoxlamaq.
Buna görə, yalnız etmək səmərəliliyi naminə,
biz yalnız bunu edirlər Çünki biz yalnız istəyirik bu yolla
funksiyası zəng əvvəlində bir dəfə,
və hər zaman ki, gedir keçir
dəyəri saxlamaq üçün 3 orada nə deyil
daim hər zaman yoxlamaq lazımdır.
Bəli.
>> Auditoriya: Bağışlayın.
Just [işitilemez].
Siz int n strlen bərabərdir və qoymaq edə bilər ki, loop üçün xarici yuxarıda
eləcə də?
ANDI PENG: Bəli.
Siz tamamilə, bunu edə bilər.
biz burada var səbəb olur çünki loop işləri üçün yol
deyirlər ki, bir mənada yerli dəyişən
sen hər şey loop üçün daxilində yaradılması
yalnız loop üçün daxilində mövcuddur.
>> Belə ki, dəyişən i yalnız o mötərizədə mövcuddur.
Də n və burada dəyişənlərin yalnız mötərizədə mövcuddur.
Belə ki, strlen istifadə etmək olsaydı aşağı neçə dəfə söz,
tamamilə bunu ən yaxşı yolu üst onu elan olardı
belə ki, bir dəfə bunu etmək yoxdur.
Bəli.
Auditoriya: Niyə bir var faiz sonra yeni xətt
bütün qoymaq istəyirsinizsə görən Bu ayrı-ayrı yanında məktublar?
>> ANDI PENG: Oh, mən istədi hər xətti onları bütün çap.
Fərqi yoxdur.
Bəli, bu bir biçimlendirme var.
Ki, baxmayaraq ki, yaxşı sual var.
Mən istəyirdim əgər Bəli, çap yalnız bir xətt bütün,
Mən tire olmazdı.
OLDU.
Hər kəs yaxşı?
OLDU.
Cool.
>> Mən kifayət qədər söhbət edirəm.
Siz uşaqlar öz növbəsində axır kodu və burada yanlış nə mənə.
Bug harada?
Gördüyünüz kimi, mən bəyan etdik növü string adına sinif yeni array.
Mən Sam inputted Onu Jess və Kim.
Mən çap üçün cəhd edirəm array bütün elementləri.
Niyə bu kimsə mənə deyə bilərsiniz Mənə problemləri vermək üçün gedir?
Mən sizə uşaqlar 10 verəcəyik saniyə bu barədə düşünmək.
>> OLDU.
Evet?
>> Auditoriya: sol mərkəzidir 3 bərabər və ya [Işitilemez]?
ANDI PENG: Sağ.
Belə ki, bu, həqiqətən, neçə dəfə bu loop vasitəsilə çalıştırmak üçün gedir?
>> Auditoriya: Four.
>> ANDI PENG: Məhz.
Bu dörd dəfə olacaq.
Bu axır olacaq 0, 1, 2, və 3,
onların element i, çünki daha az və ya 3 bərabərdir.
Bu 2 zaman dayandırmaq niyyətində deyil.
Bu saxlamaq olacaq Bu 3 xit qədər gedir.
Bildiyimiz kimi, yalnız üç var bizim faktiki array elementləri.
>> Biz dördüncü daxil olmaq üçün cəhd edin element və ya 3 index,
Əgər haradasa hit olacaq yaddaş mövcud deyil ki.
Bu null terminator deyirlər.
Heç bir şey olacaq.
Sizin kompüter niyyətində deyil Sizinlə çox xoşbəxt olacaq.
Bəli.
Hər kəs sualınız varmı niyə ki baş verən haqqında?
Bu qarşısını almaq üçün bir ümumi sahəsi var.
Bəli.
>> Auditoriya: ilk deyil mu 2 simli var də uçmaq?
ANDI PENG: Xeyr
Belə ki, mahiyyətcə, zaman Siz bir sıra edirik,
ki, bracket sağ orada bütün saysız ki
bu necə izah çox elementləri Mən.
Bu, həqiqətən izah deyil Mənə bir şey göstəriciləri.
Belə ki, bu halda, mən istəyirəm bilirik üç yerləri ilə yazmaq,
üç fiziki yerləri ilə Mən keçirmək istəyirəm nə saxlayın.
Sayı üç var nə ki, var.
Lakin, əgər mən istədim həqiqətən daxil olmaq üçün,
Mən demək istəyirdi, printf sonra sinif bracket sayı,
Siz, həqiqətən, qoymaq olacaq fiziki index.
Bəli, yaxşı sualdır.
>> Auditoriya: Belə fiziki index ehtimal [Işitilemez] olacaq?
ANDI PENG: Üzgünüm.
Bir az danışmaq olarmı?
>> Auditoriya: Belə fiziki indeksi [Işitilemez] qutuları hər?
[Işitilemez]?
>> ANDI PENG: Bəli.
Beləliklə, mən burada geri getmək üçün gedirəm.
Burada düşünün.
Biz ölçüsü 3 bir sıra var.
Kimi, üç yeri var, Burada fiziki placeholders.
Lakin onlar 0, 1, 2 adlı edirik.
Mən onlara daxil olmaq istəyirdi ki, Mən onlara daxil yol
Mən burada istədi hər hansı printf edir.
Siz çap etmək olardı Bunun adını,
sonra kompüter çünki oh, mən baxmaq lazımdır, bilir
0th indeksi üçün bu array.
Bəli.
Amma bu ölçüsü dəyişmir.
ölçüsü asılı olmayaraq, 3 Əgər siz onları etiket necə.
OLDU.
Hər kəs yaxşı?
Auditoriya: Belə ki, hər dəfə mən [Işitilemez]?
ANDI PENG: OK.
Belə ki, bu halda, biz, həqiqətən, yoxdur Əlbəttə indi onu almaq.
Amma bilirik ki, mən kimi bir string simli mahiyyətcə, əvvəl bildirib
simvol bir sıra.
Mən bir sıra yaratmaq əgər Belə ki, strings, I növ
array bir sıra var simvol, sağ?
>> Bu halda, belə ki, mən , strings bir sıra var
Siz daxil həqiqətən uzun söz olsaydı, ki, hələ yalnız bir yer tutur
ki, bir string çünki.
Amma əgər hesab ki, serialın simvol,
sonra daha bir çox alaraq Başqa sözlə hər hansı bir çox simvol
var.
Indi üçün həqiqətən vacib deyil.
Amma ki, yalnız adətən var necə çalışır.
>> OLDU.
Belə ki, bu mən nə bildirin lazımdır bir şey deyil dövr ərzində bir çox.
Mən səsimi istirahət etmək lazımdır.
Siz uşaqlar özünüzü stimullaşdırmaq lazımdır.
Siz bir çox yəqin ki, İndi yatmaq lazımdır.
Mən təsadüfi problemləri giren alıram biz bir sinif kimi və ya
tərəfdaşı ilə sizə gələn gedir müzakirə bir neçə dəqiqə sərf etmək
biz həlli haqqında getmək necə və ya bu kimi bir proqram yaradılması.
>> Belə ki, indi, biz istəyirik bir program-- yaratmaq
biz zəng etmək olacaq upper.c-- islamı ki
bir yuxarı sinif üçün kiçik söz simli böyük, sorry.
Word strings, sorry, sinonimidir.
Mən onları dəyişdirmək üçün gedirəm eyni şey demək.
>> Bəli.
Bir neçə dəqiqə edin.
Bu olmaq üçün yoxdur Hər hansı bir dildə yazılmış.
Just pseudocode kodu və ya məntiqi necə belə olardı
belə bir problem bunu haqqında getmək.
Bəli.
>> [SIDE CONVERSATION]
>> Mən də sizə uşaqlar can-- fark I növ artıq proqram görürük.
Mən mənim olmaması tapmaq aparıcısı rejimi bir problemdir.
Amma bu OK.
>> [SIDE CONVERSATION]
Uşaqlar, xahiş edirik, evet.
Konfet almaq gəlir.
>> Auditoriya: Bəli!
>> [SIDE CONVERSATION]
ANDI PENG: Həmçinin, Bəli, Mən konfet atma başlamaq lazımdır
suallara cavab olmayan insanlar da.
Bütün suallara cavab olmalıdır belə.
Yoxsa mən insanları güman edən suallara cavab yoxdur.
Bəli, ətrafında digər yol.
>> [SIDE CONVERSATION]
Auditoriya: [işitilemez]
>> ANDI PENG: Bəli.
Bəli.
>> [SIDE CONVERSATION]
>> Bütün hüquqlar, uşaqlar.
Kimi, daha 10 saniyə.
>> [SIDE CONVERSATION]
>> Uşaqlar, OK.
Beləliklə, biz üçün çalışır başlamaq əvvəl həqiqətən fiziki, kodu yazmaq
inkişaf etdirmək üçün yaxşı bir vərdiş ki, biz səbəbi birinci növ istəyirəm
həyata məntiqi biz bunu necə.
Siz əmin etmək istəyirəm, səndən əvvəl fiziki
kod çalışır başlamaq Mario ki, siz etmək
əmin sizin pseudocode var.
Bu vasitəsilə siz alaraq nə belə yaratmaq lazımdır
zaman fiziki ki, sonra proqram yazmaq,
Siz səhv tutmaq daha yaxşı bilərlər Sizin kodu və bu kimi şeylər.
>> Belə ki, biz yalnız başlamaq olacaq by-- İngilis, pseudocode,
hər kəs vermək istəyir Mənə bir ümumi şərh
biz bunu haqqında getmək necə?
Bəli.
>> Auditoriya: [işitilemez].
ANDI PENG: Əlbəttə, heç bir narahatlıq.
Auditoriya: siz onu xahiş və ya xahiş edə kimsə, simli 1 var Bəli, simli almaq üçün
daha sonra--
>> ANDI PENG: Bəli, bu yaxşı bir başlanğıc.
Mən sizə danışmaq kimi, sorry, yazmağa başlamaq lazımdır.
Belə ki--
>> Auditoriya: Yeni ismarıclar kiçik ədəd yüksəkdir, sağ?
Və ya kiçik hərflər yüksək nömrələri var?
ANDI PENG: Məhz.
Auditoriya: Belə sonra biz çıxmaq Nə [Işitilemez] 32.
>> ANDI PENG: Great.
Beləliklə, biz belə bir ümumi mənada var necə bu problem haqqında iş.
Biz növ öyrəndim ki, bilmədən ki strings fiziki yol
yaddaşında saxlanılır, artıq sizə nə
Siz yəqin ki, olacaq bilirik ki, Sizin kodu yazmaq lazımdır
məqsədilə simli vasitəsilə hərəkət etmək üçün?
>> Auditoriya: loop üçün.
ANDI PENG: loop üçün, dəqiq.
Great.
Beləliklə, biz belə bir ümumi var pseudocode yazılmış
bu cür verir Siz necə qeyd
problemin həlliylə əlaqədar hərəkət olardı.
İndi bu var ki, sizə sonra üçün istinad edə bilər
Siz çalışdığınız zaman həqiqətən, sizin kodu yazmaq.
Belə ki, biz, həqiqətən, burada edə bilərsiniz.
Mən adlı funksiyası var upper.c-- orada yalnız bir boş şablon is--
İndi uşaqlar gedir ki, Mənə yazmaq üçün necə anlamaq kömək
Biz kodu xətti kodu bu xətt.
Bu kod çox xətləri olacaq.
>> Hər hansı başlayan zaman boş pset, nə
Mən lazım olan ilk şey Bunu unutmayın?
>> Auditoriya: [işitilemez].
>> ANDI PENG: Böyük Yep.
Daxildir.
stdio.h.
Oftentimes bu biridir ən asan səhvlər nəfər
onlar olduğunuzda edəcək , yazılı onlar lazımdır ki,
bir daxil unutmayın Onlar lazım olan əhəmiyyətli kitabxana.
Belə ki, ofis saat və siz kimi əgər Mənim code iş deyil niyə bilmirəm.
Siz iş deyil, niyə mənə deyə bilərsiniz?
Biz # daxil idi demək olacaq?
Siz # daxil lazımdır.
OLDU.
>> Beləliklə, biz burada standart I / O var.
Ki, yalnız kitabxana biz burada lazım olacaq?
Başqa Biz nə üçün gedir?
Sorry.
Biri yalnız onu fəryad?
>> Auditoriya: [işitilemez].
ANDI PENG: Burada getmək.
OLDU.
Və necə hər hansı başlayaraq haqqında getmək yoxdur əsas funksiyası funksiyası, hər cür
Bizim proqramı çərçivəsində?
Əsas Int.
OLDU.
Mən burada içərisində nə qoymaq bilərəm?
Siz istədiyiniz ilk şey nədir?
Biz almaq istəyirsinizsə istifadəçi string,
biz gedir bu ilk line etməli?
Bağışlayın, uşaqlar yalnız hiss danışmaq pulsuz və yüksək.
Yalnız hər hansı bağırmaq.
>> Auditoriya: istifadəçi soruşun?
ANDI PENG: biz bunu necə edə bilərəm?
Sual yoxdur I "istifadəçi xahiş" yazın üçün gedirəm?
>> Auditoriya: Printf.
>> ANDI PENG: OK.
Printf.
Mən printf istəyirsiniz?
>> Auditoriya: bir şey yazın.
>> ANDI PENG: ki, kimi?
Mən bir kompüter Ben kimi uşaqlar, iddia.
Fiziki mənə hər bir addım demək Mən burada yazın lazımdır ki?
Mən səhv edirəm?
Mən bir şey yazdığınız lazımdır?
>> Auditoriya: Siz quotes lazımdır.
>> ANDI PENG: Mən quotes lazımdır?
OLDU.
>> Auditoriya: Və sonra yeni xətt.
Nöqtəli vergül.
ANDI PENG: nöqtəli vergül?
OLDU.
Yaxşı.
>> Auditoriya: Və bəlkə müəyyən Siz kiçik istəyirəm ki?
>> ANDI PENG: Great.
Siz uşaqlar mənə gülmək bir nöqtəli vergül qoymaq unutmadan.
Mən haradasa zəmanət Bu sinif zamanı,
Siz qoymaq unutmaq olacaq bir nöqtəli vergül və bu
anlamaq üçün üç saat davam edəcək həyata niyə code iş deyil.
Bu, bizim bütün baş.
Bu yəqin ki, sizin üçün olacaq.
Semicolons istifadə yaxşı vərdiş alın.
OLDU.
>> Auditoriya: siz istəyirsiniz da backslash etməli?
>> ANDI PENG: Sure.
Siz backslash etmək istəyirsiniz?
>> Auditoriya: Bəli.
>> ANDI PENG: Great.
OLDU.
Mən növbəti nə etməliyəm?
>> Auditoriya: string almaq.
ANDI PENG: string almaq.
Belə ki, nə yazın bilərəm?
Somebody?
>> Auditoriya: String s.
>> ANDI PENG: String s.
Auditoriya: GetString.
ANDI PENG: Somebody, Mənə burada deyə bilərsiniz
bu funksiya GetString gələn?
>> Auditoriya: string.h.
>> ANDI PENG: string.h?
Siz string.h olan var mi?
>> Auditoriya: [işitilemez].
>> ANDI PENG: Burada getmək.
Bu cs50.h.-un
Siz həmişə olduğu haqqında səhv edirsinizsə kitabxana fayl və ya bir mövzu fayl,
google sanki string.h Mən sizə deyim
bütün funksiyaları hansılardır string.h olduğunu.
OLDU.
>> Belə ki, indi bir simli yaratmışdır ki, və mən bunun üçün istifadəçi təklif var,
Mən bir dəyişən bu saxlanılır etdik adına, nə indi nə etmək lazımdır?
>> Auditoriya: kiçik var yoxlayın.
ANDI PENG: Bağışlayın?
Auditoriya: kiçik var yoxlayın.
ANDI PENG: Bütün sağ, ki, nə edək.
Hesab edirəm ki, necə edə bilərəm?
Əslində, məqsədlər üçün İndi sinif,
biz yalnız olacaq ki, hər şey güman
ki, biz input kiçik artıq.
Siz yoxlamaq istəyirdi, siz ki yalnız bir şərti şərh əlavə
yoxlanılır ki, vasitəsilə qaçdı ki, hər bir array element
bu əgər yoxlanılır müəyyən dəyərlər arasında.
Mən unutmaq nə sayı kiçik dəyərləri var.
Siz ASCII masa onu baxa bilərsiniz.
Lakin Bəli, ki, həqiqətən yaxşı bir nöqtə var.
Amma indi, biz yalnız olacaq bütün strings güman biz input
kiçik var.
OLDU.
>> Belə ki, mən necə gedəcəyini növbəti bu problem?
Auditoriya: loop üçün.
ANDI PENG: loop üçün?
OLDU.
Nə yazın mənə.
>> Auditoriya: int üçün i 0 bərabərdir.
>> ANDI PENG: OK.
>> Auditoriya: Oh, həqiqətən, sonra bir vergül və n strlen bərabərdir yoxdur.
>> ANDI PENG: Belə mühüm şey Mən o burada qeyd edirəm ki,
biz int demək deyil ki, var n ikinci dəfə biz bu idi.
Just üçün ki, bilirik Siz elan edirik loop,
Siz həqiqətən int ehtiyac yoxdur İkinci dəfə dəyişən yoxdur.
Siz n strlen demək olar.
>> Auditoriya: Ş.
>> ANDI PENG: s.
OLDU.
>> Auditoriya: Sonra nöqtəli vergül.
>> ANDI PENG: Sure.
>> Auditoriya: Və sonra [işitilemez] n.
Sonra i ++.
>> ANDI PENG: Great.
Oldu.
Biz daxili nə istəyirsiniz İndi loop üçün bu?
Biz axır olacaq əgər, saxla simli və bir sıra axır
biz bu şeyi yoxlamaq istəyirəm.
Biz nə lazımdır gedir?
Bu artıq çətin hissəsi növüdür.
Hər kəs bir tahmin var?
>> OLDU.
Belə ki, ilk, necə biz hətta daxil edə bilərəm?
Necə biz hətta ilk çek və ya array bir element daxil?
Biz bunu necə edə bilərəm?
Biz bunu istifadə notation nədir?
Bu serialın adı nədir deyirlər?
Bu doğru, s deyirlər?
>> Hər hansı bir string həmişə bir sıra edir, unutmayın.
Belə ki, s bracket i, sağ?
Ki, cari dəyəri, çünki və ya index dəyəri biz kontrol edirik.
Və biz bərabər müəyyən olacaq to-- biz doğru, bir kiçik dəyəri istəyirsiniz?
Biz bu çevirmək istəyirik lower-- Bağışlayın, biz böyük harf istəyirik.
Biz kiçik çevirmək istəyirik bir böyük daxil dəyər.
Mən təəssüf edirəm ki, like--, Adın nədir?
>> Auditoriya: Heidi.
>> ANDI PENG: Bağışlayın?
>> Auditoriya: Heidi.
>> ANDI PENG: Heidi.
Heidi bildirib kimi ilkin, biz yəqin edirik
biz istəyirik the-- lazımdır gedir yəqin ki, çıxmaq üçün gedir
Sağ nə charc 32?
Bir ASCII çünki masa, fərq
bir kiçik hərf arasında və böyük məktub 32.
Biz bunu etdiyiniz zaman, belə ki, biz yəqin ki, istəyirik sağ, 32 çıxmaq istəyirəm olacaq?
>> Belə ki, biz mən nə olacaq.
Hesab edirəm ki, niyə hər kəs başa düşmək olar?
İndi, çünki bizim array, biz 0th index kontrol edirik, sağ?
Və 0th indeksi simli, ilk xarakter var.
Və xarakter gedirik Bu kiçik var güman etmək.
Biz böyük etmək istəyirsinizsə, biz onun dəyərindən 32 çıxmaq lazımdır,
Bizim ASCII çünki masa, ki, biz bunu almaq necə
müvafiq növbəti Bu böyük edir dəyəri.
Hər kəs ki, başa düşmək olar?
Bəli.
>> Auditoriya: da sizə Could bir minus-- kiçik yoxdur
>> ANDI PENG: Bəli, belə ki, həqiqətən, həqiqətən, yaxşı.
Hesab edirəm ki, geri gəlib gedirəm sual biz bunu sonra.
Bəli.
Və sonra mən istəyirsinizsə nə olur görmək
Mən yəqin ki, gedirəm sağ çap istəyirsiniz?
Kimsə mənə nə Mən burada çap etmək istəyirəm.
>> Auditoriya: printf faiz c backslash [işitilemez].
Ki, [Işitilemez] s i dəyəri var.
>> ANDI PENG: s i, sorry?
Auditoriya: [işitilemez].
ANDI PENG: Mən bilmirəm.
Nə fikirləşirsən?
>> Auditoriya: Bəli, mən wouldn't-- Mən bring-- deyil danışarlar
Mən bunu edəcək daxili, çünki [işitilemez].
ANDI PENG: Oh, siz edərdin?
Auditoriya: Bəli.
ANDI PENG: Nin yol tərk edək bu, və mən niyə sonra izah edəcəyik.
Zaman hətta saxla bir yer sahibi var,
Siz ətrafında parantez qoymaq istəyirik.
Oldu.
Belə ki, burada möhkəm funksiyası olmalıdır.
Nin run edək və bu tərtib oldu.
Yuxarı olun.
UH-oh.
Bu çox yaxşı deyil.
Niyə belə olur?
Hər hansı bir səhv kimi, siz getmək istədiyiniz geri və birinci ilə başlamaq,
adətən bir səhv səbəb olur, çünki sonra digər səhvlər çox.
Burada upper.c görmək: 18: 25, deyir Mənə bu proqram, upper.c adına
line 18-də, səhv dolayısı elan funksiyaları kitabxana növü ilə strlen
unassigned-- blah, mən bilmirəm nə sonra olur.
>> Bütün indi mənə izah ki, bir şey strlen olur.
Və kompüter, çünki səhv var bu kimi, mən strlen nə bilmirəm var?
Nə yəqin ki, yoxdur itkin edirik sizə deyə?
>> Auditoriya: Siz [işitilemez] itkin edirik.
>> ANDI PENG: Siz sağ istəyirik.
Məhz.
Bu harada bu belədir əmin etmək vacibdir
ki, istifadə hər funksiyası code düzgün mövzu olan
başqa kitabxana üçün fayl, və ya səhvlər çox almaq olacaq
və kodu niyyətində deyil neler bilmək.
Beləliklə, biz burada string.h daxil olacaq.
>> İndi biz yuxarı tərtib çalıştığınızda.
Düzgün tərtib edir.
Bu proqram run edək.
Belə ki, kiçik bir şey yazın.
Nə uşaqlar yazın istəyirsiniz?
Bir şey həyata bağırmaq.
Bütün hüquqlar, Charly yalnız getdi.
Biz Charly adı yazın lazımdır.
>> Kiçik Charly.
Və ümid edirəm ki, ümid edirəm ki, bu həyata bağırmaq və tüpürmək gedir
Böyük Harf Charly.
Yay!
hər kəs necə dərk etmir Hesab edirəm ki, həll haqqında getdi?
yol mən integers istifadə manipulyasiya
bir şey həll etmək ki, Mən strings etmək istəyirəm,
simvol və integers çünki Eyni şəkildə çünki edilə
ASCII Xəritəçəkmə.
>> Belə ki, sizin nöqtəsinə geri Mən 32 əvəzinə burada qoymaq istədi
böyük bir kimi bir kiçik minus ki, ki, həmçinin eyni dərəcədə işləmək olardı
ki, çünki sadəcə bu iki dəyərlər arasında fərq.
Mən bu again-- Charly etmək istəyirsinizsə.
Ah, yox.
Düşünürəm ki, biz Bəli, yanlış yol getdi mi?
>> Auditoriya: [işitilemez] bir kiçik.
>> ANDI PENG: Burada getmək.
Yep.
Və charly spits.
Belə ki, ehtiyatlı olun Siz dəyərlər çıxarılaraq edirik
biri olan xatırlayıram digər daha çox.
Məsələn, burada mən unuttum ki, kiçik bir əslində
böyük A. daha çox So zaman onlara digər yol çıxmaq üçün cəhd
ətrafında, mən mənfi 32 var.
Və mənim kompüter kimi idi Hesab edirəm ki, nə bilmirəm.
Bu yalnız bir təsadüfi ehtimalı var çox yaxşı deyil dəyər.
Və belə ki, etdiyiniz əmin olun düzgün uzunluğu subtracting
istədiyiniz xarakter tapmaq.
OLDU.
Hər kəs biz necə səhv edir Bu funksiya yazılı haqqında getdi?
OLDU.
Yəni əslində, bir funksiyası artıq kitabxana adlı ctype.h mövcuddur.
kitabxananın adlı ctype.h.
Bu funksiya əslində artıq sizin üçün yazılmışdır.
Bu yuxarı deyirlər.
>> Və belə məqsədləri üçün Bu pset, siz olacaq
Siz, həqiqətən, istifadə etmək istədiyiniz ki, tapmaq üçün olan funksiyaları bir çox
ctype kitabxana ərzində.
, Aşağı, yuxarı yuxarı edir, var lower-- o bütün funksiyaları
Çox istifadə edə biləcəklər ki, çox tez öz kodu ki,
Bu dəqiq nə.
Biz çevirmək üçün necə yazdım simli böyük üçün.
Lakin bu, həqiqətən kodu başqası yazıb ki,
və əldə edə bilərsiniz ki, fərqli bir funksiyası vasitəsilə.
Evet?
>> Auditoriya: Belə ki, yalnız orada A surəti və hər bir hərf üçün bunu?
>> ANDI PENG: Bəli, mən deyil, çünki bir dəyərləri qayğı.
Mən yalnız fərq ki, qayğı Onların arasında düzgün, 32?
kiçik arasında fərq b və böyük B də 32.
Və c arasında fərq və böyük C həmişə 32.
>> Mən yalnız qayğı var arasında fərq
məktublar, çünki sağ, eyni model edin?
Mən fərq varsa Onların arasında,
Mən bilirəm nə fərq onların hamısı arasındadır.
Yaxşı sualdır.
Bəli.
Hər kəs yaxşı?
OLDU.
Oop.
>> OLDU.
Belə ki, bir anlayış var ki, Siz kimi çox faydalı olacaq
inkişaf davam Sizin code Bu fikir
funksiyaları və ya abstraksiya yaradılması.
Belə ki, indi, biz bütün cəbr qəbul etdik.
Cəbr, siz var ki, tədris olunur Bu gözəl şey bir funksiyası adlanır
maşın, burada əgər sıra daxil bir sort,
bu gözəl funksiyası keçir və sağ, fərqli bir çıxış pops?
Kodu, eyni şey olur funksiyası hər cür.
>> Belə ki, fiziki bilər Mənim kodu mənim bədən yazmaq
həqiqətən nə əsas bəyanat nə kodu bədən edir.
Ki, kənarda, mən də edə bilərsiniz bir çox müxtəlif funksiyaları yazmaq
ki, bir çox şeyi.
Məsələn, biz artıq var bəziləri istifadə edərək başladı.
Printf bir deyil funksiyası başqası
artıq yazıb Biz kodu zəng edə bilərsiniz.
Bu halda upper-- üçün, upper-- bir funksiyası var
biz ki, yazdıq bizim kodu zəng edə bilərsiniz.
Və mən niyə tapmaq biz hətta funksiyaları var?
Niyə biz yalnız Plop deyil bütün kodu eyni xətt?
Bu hər kəs üçün asan edir.
>> Yaxşı ki, arxasında əsaslandırıcı təşkilat, ilk növbədə, edir.
Bu gedən həqiqətən annoying var kiminsə kod vasitəsilə
və printf kimi bir funksiyası.
Siz uşaqlar həqiqətən bilirdi nə funksiyası printf yazmaq səbəb olduqda-
Bu kodu 1000 xətləri kimi, var.
>> Əgər mən istəyirdim hər dəfə bir şey printf,
Mən kodu 1000 xətləri yazmaq idi ki, oxumaq həqiqətən annoying olacaq
sağ?
Biz yalnız var niyə ki Bu mücərrəd funksiyası yaradılmışdır
biz kimsə artıq var ki, başqa başqa bir yerdə yazıb.
Və hər dəfə biz istifadə etmək lazımdır Bizim indeksi, biz yalnız printf demək lazımdır.
Və funksiyası istifadə edə başqası bizim kodu yazmışdır.
Bu asan edir təşkilati kodu oxumaq üçün.
>> İkincisi, sadələşdirilməsi var.
Bu addımlar asanlaşdırır Bizim problemi həll etmək üçün etmək.
Printf, printf kimi funksiyaları, yuxarı kimi funksiyaları
bizə imkan verir bütün şeylər Bu asan belə aşağı bizim kodu sadələşdirmək.
Və son şey reusability edir.
>> Biz var ki, belə bir funksiyası adlanır printf
biz bir çox müxtəlif zəng edə bilərsiniz ki, dəfə və reusable imkan verir.
Mən printf yazmaq olsaydı, Mən yalnız bir dəfə yazın.
Bu, yalnız ki, bir yerdə mövcuddur.
Mən bir daha bunu etmək istəyirdi, mən surəti və bütün yapışdırıb var
kod mənim ikinci xətt.
Biz bir funksiyası yaratmaq əgər Ona görə ki, bizim əsas xaricində mövcud
biz yalnız sonra zəng edə bilərsiniz Bu və zaman təkrar
biz belə bir çox asandır ki, lazımdır bizim üçün proqramlar yazmaq kimi.
>> Belə ki, yol biz, həqiqətən, yazmaq ki, bir funksiyası sağ, çox oxşardır?
Bu ilk növüdür instansiya alacağıq olan
Bir stil bir funksiyası görmək Bizim int əsas boşluq daha fərqli.
Bu halda, əgər mən istəyirdi sağ, q adlı funksiyası yazmaq?
>> Və burada int dəyəri bütün mənə izah edilir,
Mən bu istəyirəm nə Mənə qayıtmaq üçün fəaliyyət?
Mən tam kub istəyirsinizsə, Mən daxil etmək istəyirəm gedirəm.
Bu parametrlər var.
Mən növü int bir dəyər giriş üçün gedirəm.
Mən qayıtmaq üçün gedirəm int bir növü dəyəri.
Və burada, sizin kimi bütün edirəm görə bilərsiniz
Mənim input nə cubing edir Mənim çıxış kimi və qaytarılması.
>> Belə ki, bütün bu funksiya olunur yoxdur tam bir növ edir.
Bu iki dəfə özü bunu artırar ki təsiri kublar.
Və sonra qaytarır nə ki, çıxış edir.
Belə ki, bu halda, bu iki xətləri var biz əlavə yazmaq idi kodu.
Amma biz zəng etmək istəyirdi bu neçə dəfə sonra,
bu bir növü üçün bir çox asandır daha kub var burada line
neçə dəfə keçmək lazımdır.
>> Belə ki, yol ki, mahiyyətcə hər hansı funksiyası hər hansı üçün biçimlendirme
mövcud gedir burada kimi.
Belə ki, biz funksiyası adı var.
Bu halda, bu kub deyirlər.
Və biz bu kub çünki ad Bu xatırlamaq asandır.
Siz kvadrat olar və bu, həqiqətən Cubed bilər.
Fərqi yoxdur.
Siz yalnız bir adı Sizin funksiyası təyin.
>> Burada Bu doğru, int edir Sizə lazım olan parametri növü.
Belə ki, bu funksiyası nə fəaliyyət üçün lazımdır?
Bəli, bu bir daxil lazımdır.
Mən giriş adına.
Siz istədiyiniz nə o olar.
Amma növü int bir şey lazımdır.
Bu, faktiki olaraq həyata olacaq burada daxili nə,
funksiyası bədən.
Və sonra qaytarılması növü burada, bu int
bütün mənə izah bu funksiya ki,
int mənə geri olacaq.
Belə ki, bir int almaq üçün gedən və oldu bir int geri vermək olacaq.
Hər kəs necə başa düşmək olar bu cür format işləyir?
Cool.
>> OLDU.
Bu görünür, əgər belə narahat olmayın İndi bir az mücərrəd hüququ.
Bu haqqında danışmaq lazımdır ki, bir şey.
Biz dərin dalış lazımdır Sonra əlbəttə.
yol həmin yüksək səviyyədə hər cür bunlar iş abstraksiya
ki, yaddaş, ki, Sizin kompüter, hər şey
bu növü saxlanılır yığını, mən deyəcəklər.
>> Orada üst qədər belə.
Bilmirəm, əgər uşaqlar ki, yaxşı görə bilərsiniz.
Mən zoom üçün çalışacağıq.
Burada üst, biz fiziki mətn
Kompüter interpreting-- nə bütün adet sıfır və olanları ki,
Bizim kompüter ərzində mövcuddur.
Və sonra biz başlatılmış var məlumat və uninitialized data,
biz qlobal dəyişənlər çağırırıq.
Mövcud dəyişənlərin Belə ki, bütün proqramları arasında
və bütün arasında, mahiyyətcə, kodu.
Heç bir narahatlıq uşaqlar əgər cür aydın bu barədə.
Indi həqiqətən məsələ deyil.
>> Və sonra biz nə var bir yığını bir yığın çağırıb.
Sanki bir yığın düşünün yalnız şeyi bir yığın kimi,
müxtəlif bir yığın şeyi üst sövq
Müxtəlif saxlamaq ki, bir-birinə Kodunuzdaki dəyişənlərin və sintaksis.
Və sonra burada çox alt, biz mühit dəyişənlər var
Siz ərzində icra nə kod yalnız kiçik xətt.
>> Və biz yalnız zoom olacaq faktiki yığını çərçivəsində üzrə.
Biz Belə ki, burada, zoom yığını yalnız bu sahədə üzrə,
bu kimi görünür.
Bu, həqiqətən, olduqca vacibdir Sizlərin funksiyaları haqqında zaman danışmaq,
çünki bildiriş ki, Sizin kompüter yaddaş
dəyişənlərin saxlanılması və funksiyaları
və həm də parametrləri sizin funksiyası və əsas dəyişənlərin
müxtəlif yerlərdə.
>> Belə ki, indi əsas var faktiki funksiyası
Bir kodu icra edirik ki.
Siz parametrləri burada saxlanılır və onun yerli dəyişənlərin burada saxlanılır.
Yerli dəyişən yalnız hər hansı bir dəyişən deməkdir yalnız ki, funksiyası daxilində mövcud.
Və üst, bu var kub adlı ayrı-ayrı fəaliyyət göstərir.
Siz parametrləri var var eləcə də həmin yerli kimi.
>> Səbəb və siz ki, burada görmək nə
kub götürür olur əsas funksiyası dəyəri
həqiqətən ki, artıq çıxarmaq ki.
Mən kub istəyirdi Belə ki, 2 və 8 qayıtmaq ki, 2
həqiqətən inputted bir parametri kimi və bu
Siz mövcud var ki, artıq sitemizi yaddaşında iki müxtəlif yerlərdə.
Və çox diqqətli olmaq lazımdır xatırlayaraq hansı o biri
Siz, həqiqətən, manipulyasiya edirik.
Və nə bir nümunəsidir çox, çox pis olar
burada mövcuddur.
>> Belə ki, burada, mən var, nəzəri, Burada bir proqram əsas funksiyası
Mən bir int elan edirəm ki, x 1 bərabərdir.
Mən bir int y 2 bərabərdir elan edirəm.
Və sonra mən çalışan edirəm Bu funksiya vasitəsilə
Mən güman adlı svop, Bu iki dəyər dəyişdirmə oldu.
Və sonra mən gedirəm sağ, onları çap?
Mən bu proqram nə etmək istəyirəm nə.
>> Belə ki, enmək və bir nəzər salaq.
Mən, həqiqətən, başqa bir yazmaq Belə ki funksiyası, Gördüyünüz kimi,
Biz burada əsas funksiyası var.
Və sonra biz var Burada ikinci funksiyası.
Void svop.
Ləğv yalnız bu o deməkdir ki, bir şey qayıtmaq niyyətində deyil.
funksiyası adı svop adlanır və bu
suqəbuledici iki dəyişənlər, int a və gedir Sizin [işitilemez] funksiyası, b int.
>> Belə ki, mahiyyətcə, burada, biz istəyirik Bu funksiya daxil x və y keçən.
Və biz olsaydı belə ki, biz istəyirik şeylərdir yaratmaq
sağ, müvəqqəti dəyər yaratmaq üçün?
Biz ki, təyin etmək olacaq.
Və sonra indi bərabər b gedir.
Və b geri olacaq burada temp dəyəri idi,
olan a, çünki hər şeyi dəyişdirmək istəyirəm,
yalnız onları dəyişdirmək kimi edə bilməz.
>> Siz bir out saxlamaq lazımdır burada xatırlayır ki,
nə ki, bir dəfə, çünki Bir dəyişdirmək, unutmaq
sağ, nə ilkin dəyərinin idi?
Nəzəri, bu proqram belə sağ, işləmək lazımdır?
Mən dəyişdirmək istəyirdi iki, onlar dəyişdirmək lazımdır.
Belə ki, run bildirin və bu işləri görmək.
>> Uşaqlar Gördüyünüz kimi, x bir dəfə 1 və y dəfə 2 idi.
Və mən onu çap əgər, x hələ 1 və y 2-dir.
Hmm, bu proqram görünmür Mən bu iş istədiyiniz iş.
Hər kəs bir shot almaq istəyir Bu baş niyə guessing?
Bu yolu ilə nə var müxtəlif şeylər
yaddaşında müxtəlif yerlərdə saxlanılır.
>> OLDU.
Belə ki, uşaqlar narahat yoxdur İndi bu barədə çox.
Amma ki, kub yerli bilirik dəyişənlərin bir və b idi,
burada funksiyası, çünki, bir və b bəyan etdik
mövcud dəyişənlərin kub ərzində ki, fəaliyyət göstərir.
Lakin, parametrləri görmək olar ki, Burada mühafizə altına alındı ​​alaraq oldu.
Amma biz, həqiqətən deyil bir şey qaytarılması.
Biz, həqiqətən, x və y dəyişən deyil.
Biz yalnız A və B dəyişən edilmişdir.
>> Biz daxil x və y kopyalanan bir şey və b çağırıb.
Amma biz heç vaxt həqiqətən x və y özləri manipulyasiya.
Görən uşaqlar ki, necə baş verir?
Biz sadəcə sitemizi etdik ki artıq, lakin biz, həqiqətən saxlanılır deyil
Onlar yaddaş olduğu track.
>> Və indi kompüter oh, mən var, axtarır
bu şey run Bu sevimli fəaliyyət göstərir.
Amma x və y x və y hələ də.
Heç bir şey üçün baş Onlara çünki faktı
Bu parametrlər ki və yerli dəyişənlərin
fərqli saxlanılır yaddaş yer.
Bu yüksək səviyyəli konsepsiyası ki, biz lazımdır
kurs sonra görmeye başlamaq.
Amma yalnız bu bilirik ki, ola bilər bir problem
və biz necə yolları anlamaq lazımdır ki, Əlbəttə sonra bu ilə məşğul oluruq.
OLDU.
Oldu.
Belə ki, ötən anlayış biz istəyirik həqiqətən əhatə edir
faydalı olacaq pset bu həftə
nə deyilir ki, command line dəlilləri.
Belə ki, onun mühazirə Rob yolu ilə getdi necə bu iş qısa cür.
Əsasən bilirik ki, zaman yazılı etdiyiniz
əsas funksiyası kimi biz keçmişdə əvvəl funksiyaları yazdı
biz int əsas etibarsız idi.
Və səbəbi etibarsız var idi Bizim proqramları deyil, çünki idi
sağ, çalıştırmak üçün giriş dəyərlər lazımdır?
Mən Mario qaçdı, mən lazım deyildi həqiqətən, yalnız bir şey yazın
Mən Mario qaçdı.
Mən sonra istifadəçi təklif edə bilər.
Amma bu həmişə belə olmayacaq.
>> Məsələn, bu da həftə problem, müəyyən
Siz, xahiş etmək olacaq Sizin proqram çalışan əlavə,
Siz giriş istəyirəm olacaq Siz düz müəyyən şeylər
proqram axır.
Belə ki, nə yol adlanır bir command line arqument, olan
bir dəlil kimi birbaşa daxil edə bilərsiniz
Siz proqram run çalışırıq.
>> Belə ki, bu notation, Bu, olduqca mürəkkəb görünüşlü var
lakin bu, həqiqətən ki, deyil çətin. Belə ki, int main--
yalnız sizin əsas funksiyası var.
Argc vergül string argv mötərizədə daxil.
Belə söyləyərək ki, bütün bu ki, int argc bütün var belirten
olanların sayı ki Kompüter gözləmək lazımdır dəlilləri.
>> Həqiqətən belə bir şey takip vacibdir
Proqram fiziki adı həmin dəlilləri biri kimi sayar.
Mən proqram istəyirdi Belə ki, plus bir əlavə skript satırı çalıştırabilirsiniz
dəlil, Mən, həqiqətən deyiləm iki gedir.
Argc əslində iki olacaq.
Və sonra string argv bracket-- edir ki, bütün,
mənə bir verilməsi ki strings array
yalnız keçirmək və saxlamaq üçün gedir nə bu command line dəlilləri bütün var.
>> Belə ki, məsələn, mən bu etmək istəyirdi əgər proqram, sağ, outfile INFILE ./copy?
Bu yalnız bir tipik Linux command var.
Nə həqiqətən argc var?
Neçə command line dəlilləri bu həqiqətən var?
Bütün bu yoxdur surəti olun bir fayl adı bir infile
və bu nüsxə daxil başqa bir fayl, sağ?
Yəni, bütün bu edir edir.
Gördüyünüz kimi, mən bir xətt bunu edirəm həqiqətən proqram ehtiyac olmadan.
>> Bu halda bizim argc nədir?
Biz neçə dəlillər var?
Auditoriya: Three?
ANDI PENG: Biz tam, üç.
Belə ki, çox asan deyil yalnız yalnız var hesab edirəm ki,
infile və outfile.
Amma bilirik ki, fiziki adı Proqram biri kimi sayar çalışan edirik.
Belə ki, bu halda, argc həqiqətən üç edir.
Necə haqqında, argv 0 nədir?
Bütün saxla command line dəlilləri
strings bir sıra saxlanılır.
Belə ki, daxil olmaq üçün cəhd edin, nə bracket 0 mənə vermək argv olardı?
>> Auditoriya: [işitilemez].
ANDI PENG: Məhz.
Mənə dot verəcək ki, çünki, surəti doğramaq
0TH element, Mənim serialın ilk element.
Nə argv 1 haqqında?
>> Auditoriya: infile.
ANDI PENG: infile, dəqiq.
Nə argv 2 haqqında?
Auditoriya: outfile.
ANDI PENG: outfile.
Bu artıq bir az çətin deyil.
Sizlərin nə düşünürsünüz argv 3 mənə verilməsi olacaq
Hesab edirəm ki, çap üçün cəhd əgər?
>> Auditoriya: [işitilemez]?
>> ANDI PENG: Bir tərəfdən var mı?
Bəli.
>> Auditoriya: alternativ.
>> ANDI PENG: Məhz.
Belə ki, mühazirə xatırlayıram ki, biz bir yarış bir şey sonunda var
bir null terminator adlanır?
Biz də bu nəzərə almaq lazımdır Daha sinif.
Amma notation bilirik ki, yol kompüter
Bu sonu var bilir ki, serialın bu ki,
bir null deyilən bir şey qoyur terminator və ya bir dash sıfır.
>> Belə ki, argv 3 daxil olmaq üçün cəhd edin, Bu dash 0 hit olacaq.
Bu oyun sual belə çoxdur.
Nə argv 4 haqqında?
Belə ki, bu, son null terminator deyil, bizim serialın həddi keçmiş.
Gedir Sizcə biz bunu etmək üçün cəhd zaman baş?
>> Auditoriya: [işitilemez]?
ANDI PENG: Bağışlayın?
Ki, bir az Qaraçuxurlu demək?
>> Auditoriya: [işitilemez].
ANDI PENG: Bəli.
Bu adı çox güman ki, almaq lazımdır sahəsi.
Amma ki, argv bilirik 4-- ki, daxil olmaq üçün imkan verir
Sizin kompüter yerləri yaddaş həqiqətən
çünki, toxunan olmamalıdır indi nə argv bilirik.
Siz ölçüsü 3 bir sıra olduğunu bilirik ki dot surəti, infile və outfile var.
>> Siz kənarda indiyə qədər getmək üçün cəhd edin Siz null terminator keçmiş istəyirik ki,
Sizin kompüter yəqin ki, var argv 4 saxlanılır bir şey.
Və həqiqətən olmamalıdır , argv 4 daxil olmaq icazə
Bir faylı çünki kabinet və yalnız istəyirik
bu üç rəflər daxil olmağa icazə.
Amma kənarda yol çatmaq üçün cəhd əgər Siz icazə verilir harada rəf,
Siz ilə messing başlamaq olacaq Sizin kompüter yaddaşında başqa şeylər.
Bu, həqiqətən, həqiqətən, pis olacaq.
Belə ki, yalnız bilirik.
Siz ki, çox ehtiyatlı olun yalnız təsadüfi başlamaq deyil
bir sıra elementləri daxil ki, yaratmaq istəyirdi nə deyil.
Yep.
>> OLDU.
Belə ki, biz başqa nə olacaq burada terminal nümunəsi.
OLDU.
Tez mühazirə Rob belə digər gün getdi
Bu nümunə ilə, o idi int əsas int argc string argv
Mötərizədə, mən ki, mənə izah edən command line dəlilləri gedir.
>> Argc bərabərdir əgər o, var 2-- xatırlayıram bərabərdir,
bərabər müqayisə deməkdir bərabərdir.
2 bərabərdir, onda mən deyiləm salam çap gedir,
nə ilk serialın elementidir.
Else çap, salam dünya.
Bu nə gedir mahiyyətcə baş?
Kimsə yalnız izah edə bilər English bu proqram nə edir?
Bəli.
>> Auditoriya: kimsə bir komanda tipli varsa və onların ilk və son ad dedi,
yalnız çap edəcək bir və salam demək ilk,
nə ilk adıdır.
>> ANDI PENG: OK, run bildirin.
Mən əgər Belə ki, məsələn, etmək Bu fayl salam to-- salam etmək
Mənə daxil nə istəyirsiniz to--?
>> Auditoriya: İlk və son adı.
>> ANDI PENG: İlk və son adı?
Spaces?
>> Auditoriya: Bəli.
>> ANDI PENG: kimsə deyə bilərsiniz mənə indi, argc nədir?
Yalnız orada?
Bağışlayın, sorry.
Mənə geri gedək.
Neçə command line dəlilləri Siz uşaqlar həqiqətən görmək bilməz are--.
Amma zoom üçün çalışacağıq.
Mən cəhd edirəm.
Bəli, doğru, üç var?
Bu salam dot çizgi var, Bu Andi var və bu, Peng var.
>> Belə ki, uşaqlar bu nə düşünürsünüz Proqram çap olacaq?
Oh.
Oh, sorry.
Səhv adı.
Bu salam dünya, çap edir.
Hər kəs izah etmək istəyir niyə ki baş verir?
Evet?
>> Auditoriya: [işitilemez].
ANDI PENG: Məhz.
Belə ki, burada şərti var argc 2 bərabərdir bərabərdir əgər edir.
Belə ki, yalnız halda var ki, iki command line dəlilləri.
Sonra mən çap gedirəm, salam, bu nə.
Amma başqa, mən gedirəm yalnız salam dünya çap.
Belə ki, kimsə istəyir Mənə bir nümunə vermək
necə Mən, həqiqətən, edə bilər Bu argv 1 dəyərini çap almaq?
>> Mən burada daxil nə olardı?
Yalnız bir şey, sağ?
Dot salam artıq Çünki ilk arqument kimi sayar.
Mən yalnız bir çox var.
Mən yalnız Andi əgər Belə ki, salam nöqtə.
Salam, Andi.
Hər kəs dərk etmir niyə ki baş verir?
Bəli.
>> Auditoriya: Belə arasında yer komanda xətti Bu [işitilemez] var?
ANDI PENG: Xeyr
Bir command line yer So dəlil, x, sizin kompüter demək
Bu yeni bir simli başlanğıc.
Belə ki, simli argv Mağazalarda burada Sizin əmrləri line dəlilləri bütün
strings.
Və belə command line space , ki, bütün siz demək deyil dəlil
bu bir simli sonunda və başqa hərəkət üçün vaxt var.
>> Bəli.
Bu, olduqca vacibdir Sizin pset, siz istəyirik, çünki
bu test olacaq.
Belə ki, hər kəs yoxdur Bu hər hansı bir sualınız?
Sərin, OK.
Evet?
>> Auditoriya: Belə səbəbi sizə ki əvəzinə tam arqument Calc qoymaq
Istədiyiniz zaman [Işitilemez] olardı əlavə məlumat yazın
[Işitilemez]?
>> ANDI PENG: Bəli, dəqiq.
Bəzi proqramlar tələb edir Giriş bir command line arqument üçün
ki, keçir və istifadə edir.
Bəli.
Auditoriya: Belə ki, nə əgər [Işitilemez]?
>> ANDI PENG: Yaxşı, mən nə mənim proqram sonra dəyişdirmək üçün necə?
>> Auditoriya: Just 3.
>> ANDI PENG: Niyə ki, baş, sizcə?
>> Auditoriya: [işitilemez], çünki.
>> Auditoriya: Siz istədiyiniz [Işitilemez] 2 dəyişir.
>> Auditoriya: 1 və 2.
ANDI PENG: 1 və 2, dəqiq.
Belə ki, bu halda, siz yəqin ki, iki printf statements-- etmək istəyirəm
argv 1 çap bir və argv 2 çap biridir.
Burada.
Mən, həqiqətən, real tez bunu edə bilərsiniz.
Burada getmək.
Oh.
Olduqca istəyirdi nə.
Lakin ətrafında uşaqlar mess ilə əgər biçimlendirme, onu gələcək.
Bəli.
Cool.
Düşünürəm ki, biz vaxt bir az qısa etdiyiniz bilirik.
Amma yalnız tez bir sərf etmək gedirəm helpful-- keçir neçə dəqiqə
Auditoriya: Siz iki dəqiqə var.
ANDI PENG: Mən iki dəqiqə var?
Təşəkkür edirəm.
Bəzi tez pset ipuçları.
Bu pset üçün, belə ki, mən yüksək tövsiyə Dediyim kimi, hər kəs spec oxumaq.
Siz üç və proqramları bir yazı olacaq , caesar.c adlı bir, initials.c adlı
bir adlı vigenere.c.
Bəzi mühüm ipucu ki Siz uşaqlar həqiqətən istəyirəm
belə mind saxlamaq üçün bu funksiya var
Mən demək kimi bir trois, atoi-- çağırıb.
Ki, əgər aydın həqiqətən bunu necə deyirlər.
Lakin bütün bu giren var, bunu.
Bu int bir string çevirir.
Belə ki, bir i tam ASCII təmsil edir.
Bu, yalnız ASCII konvertasiya edir dəyərləri dəyərlər tam.
Belə ki, mağazalar array argv xatırlayıram Sizin əmrləri bütün dəlilləri xətti
Bu strings kimi bütün saklar.
Və belə ki, etmək istəyirsinizsə onlardan biri bir tam olmaq,
Siz var olacaq burada bu dəyər istifadə etmək.
>> Modulo, biz əhatə kimi əvvəllər sinif bu gün,
siz imkan verir Siz var nə qalan.
Belə ki, biz, həqiqətən, həqiqətən var Sezar böyük nömrələri
biz son varsa Vigenere bir simli?
Necə etmək üçün gedir ki, ətrafında kesmek üçün əldə etmək olar?
Mən z edib və I istəyirsinizsə bir geri,
necə almaq üçün gedirəm ki, ətrafında kesmek?
Yəqin ki, istifadə etmək istədiyiniz orada haradasa modulo.
>> İkincisi, ətrafında göz Sizin kitabxana. ctype.h.
Yəni biz yeni bir kitabxana var.
Siz, həqiqətən, həqiqətən, bir çox tapa bilərsiniz faydalı funksiyaları isupper, islower,
toupper, tolower, isalpha, Et Cetera.
Çox faydalı olacaq bütün funksiyaları Siz anlamaq üçün çalışdığınız zaman,
bu xarakterli bir kiçik məktub var?
Mən bu çevirmək necə bir böyük üçün string?
Bütün bunlar çox olacaq Sizin pset üçün çox faydalıdır.
OLDU.
>> Office saat axşam 8:00 TEAL sinif 11:00 Sabah
habelə Çərşənbə və Cümə axşamı gecə kimi.
Office saat Commons var.
Yüksək uşaqlar gəlir bütün hemen başlamaq
ki, olmaq istəmirəm, çünki Cümə axşamı gecə problemləri var uşaq
Sizin pset təqdim və kimi, mən nə bilmirəm.
Mən başa başladı, mən təqdim edib.
Özünüz bir otaq vermək üçün cəhd edin, code problemləri həmişə baş çünki.
Siz əmin etmək istəyirəm Özünüz vermək
çox vaxt edə bilmək üçün psets başa çatdırmaq üçün.
Cool.
Mən burada ətrafında asmaq lazımdır.
>> Auditoriya: Bu artıq online deyilmi?
ANDI PENG: bu əgər mən bilmirəm online artıq, lakin olacaq.
Hər kəs, əgər mən burada ətrafında asmaq lazımdır artıq hər hansı bir sual var.
Gələn üçün təşəkkür edirik.