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