[MUSIC ifa] DAVID MALAN: Bütün sağ, bu CS50 edir və bu həftə bir sonu. Belə ki, mən keçmiş təqdim etmək istərdim advisee, Andel Duff, yalnız edən iPhone 5, eləcə də bu dayanır kürsü, o da avtomobil edir. ANSEL DUFF: necə olacaq, hər kəs? Mən yalnız bir az demək istəyirəm Formula SAE haqqında bit olan I kapitan deyiləm. Bu MİT komanda var. Mən sizə demək istəyirəm uşaqlar bu barədə bir az və inşallah bir maraq yaratmaq. Mənə yalnız bir axır qoy Komanda haqqında neçə şey. Beləliklə, biz tamamilə edirik tələbə run, orada bütün üzvləri dizayn, biclik, bir alt test və istehsalçı avtomobil. Biz öz maşın mağaza var və qarajlar və N52-- ya sorry, Eyni binada olan N51-- MİT Elm Muzeyi. Və biz insanlar ki, avtomobil sürücü. Milli rəqabət var yay əvvəlində, və sonra kiçik shootout var il ərzində müsabiqələr. Və sonra biz sürücü təlim gün yeni üzv tanış olmaq. Bizim build gün var 11 AM 8 PM şənbə. Nahar və şam yeməyi qayğı ki, Bertuççi və beantown olan müvafiq olaraq. Biz bir həftəlik görüş və Əlbəttə kredit üçün olan seminar. Bu dövr kimi yeni və bu da növbəti dövr olacaq belə ki, cross-reg edə bilərsiniz ki. Və sonra biz, dizayn, mağaza var və həftə ərzində CAD gün, üzvləri müstəqil olacaq, halbuki CAD hissələri, order fond et Cetera. Elektrik üçün belə komanda mühəndislik biz dartı var, yüksək gərginlikli sistemi, bir nominal çalışır Olan 300 volt, mühərrikləri, motor kontrollerlər, və batareya paket. Sonra biz aşağı var çalışır gərginlikli sistemi, 12 volt olan daxildir nəzarət, beyin qovşaqlarının BİLƏR qutusu, və tablosuna. Qədər CS biz gedir saytın saxlanılması biz tədbirlər üçün görülən lazımdır ki, üzvlük dəyişikliklər, yeni şəkillər, və PR material. Və sonra biz nəzarət kod Bizim dartma nəzarət, başlamaq üçün avtomobil nəzarət, dash kontrol, tork vectoring, regenerativ əyləc sistemləri, və Mətləb adətən axır, Simulink, və LabView. Siz avtomobil haqqında bir az danışmaq. Belə ki, təxminən 500 kilo var. 85 kilovat məhdud qaydaları var. Bu 2 EMRAX 207 mühərrikləri var geri, hər arxa təkər üçün. Bu xüsusi tikilmiş batareya paket var Prismatic A123 çantası hüceyrələri, 300 volt olan və 5.6 kilovat saat. Və birbaşa sürücü var bir 2.64 1 sürücü nisbəti. Burada bəzi şəkillər biz Müsabiqədə bu etmişdir. Burada geri, burun konus var, və burada mühərrikləri var o big black disklər altında et mens manus. Burada çəkdi slayd bizim rəqabət sxemi. Və bu yalnız bir bizim avtomobil müqayisə olunur kommersiya mövcud avtomobil neçə, KTM XBOW, Ariel kimi Atom və Caterha M 7-280. Siz qiyməti ilə tanış edirsinizsə, Elektrik at başına dollar çəki çəkmək, tork dolları və avtomobil su onlara zərbələr. Əgər hər hansı bir sualınız varsa, Bu e-mail aşağı jot. Bizə fsae@mit.edu bir e-poçt vur. Biz haqqında danışmaq memnun istədiyiniz bir şey. Harvard tələbələr cür komanda azlıq. Haqqında hər hansı bir sualınız varsa, bizə bir e-poçt vurmaq edin, xoşbəxt danışmaq, və gedirəm geri Davuda artıq baş. Thanks. Mən uşaqlar bunu yüksək qiymətləndiririk. [Alqış] DAVID MALAN: Ansel yay sərf CS50 kampus burada bizimlə iş bu yay. Və iş əlavə ikili bulbul kimi şeylər, O, həqiqətən, həqiqətən açıldı bizim eyes-- və particular-- mina nə həqiqətən kəsişməsində hardware və proqram ola bilər. Şeyi əslində bir çox o yalnız Siz nəticədə var gəzdi ilk proqram yaradılmış, və nəticədə hazır hardware real dünyada. Siz maraqlı olduğunuz halda belə ki kəsişməsində kəşfiyyat, bəlkə də qrup almaq. Siz İndi isə, o texnologiya azarkeşləri olan, və Apple məhsulları xüsusi bilirik ki, bir neçə idi elanlar dünən. Amma biz göstərmək istədiyiniz fikir çıxdı ki, bir bir neçə gün əvvəl Siz görüldü ola bilər. Jørgen EGHAMMER: Bilirsiniz, dəfə biraz şey ki, birlikdə gəlir biz yaşamaq yolu dəyişir. A cihaz belə sadə və intuitiv istifadə demək olar ki, tanış hiss edir. 2015 IKEA kataloq tətbiqi. Bu digital kitab deyil və ya bir e-kitab, bir kitab-kitab var. Qeyd etmək ilk şey yoxdur kabellər, hətta bir elektrik kabel. 2015 IKEA kataloqu gəlir tam ittiham və batareyanın ömrünü əbədidir. The interface, 8 düym 7.5 lakin 8 düym 15 genişləndirə bilər. Naviqasiya toxunma əlaqə əsaslanır Siz, həqiqətən, hiss edə bilər ki, texnologiya. Content əvvəlcədən quraşdırılmış gəlir 328 yüksək definition pages vasitəsilə ev mebel ideyaları ruhlandırıcı. Gəzən başlamaq üçün, sadəcə toxunmaq və sürükleyin. Sağ irəli hərəkət etmək üçün sol, geri hərəkət etmək üçün sağ. Başqa bir şey edək? Doğru. No lag. Hər bir kristal aydın səhifə dərhal yük, olursa olsun hərəkət necə sürətli. Siz sürətli bir genel bakış almaq istəyirsinizsə, yalnız avuç onu saxlayın, və yalnız sizin thumb istifadə edərək, sürət content göz atın. Əgər bir şey tapmasanız saxlamaq istədiyiniz sonra, sadəcə favorilerinize əlavə edə bilərsiniz. Və siz ərizə yaxın olsa da, Siz asanlıqla yenidən Nişan tapa bilərsiniz. Amazing. [Gülüş] [Alqış] Belə ki, bizə gətirir həftə bir sonu. İndi bir neçə elanlar. Belə ki, sectioning davam edir. Burada bu URL zaman get indi və Cümə günorta saatlarında arasında həqiqətən siz müəyyən etmək üçün az rahat arasında, daha rahat, və ya bir yerdə arasında. Bu adətən o biridir Siz yalnız cür bilirik ki, hər şeyi. Və sizin əslində az olan yəqin ki, çox bilmək rahat, daha olan sizin rahat, çox bilmək və olduqca əmin deyil yenidən əgər Siz etdiyiniz o buketler düşəcək yəqin ki, haradasa arasında. Amma istirahət dəyişdirmək olar arxayın bir neçə həftə sonra ehtiyac ola bilər. Eyni zamanda, gələn həftə üçün biz se başına bölmələr başlamaq deyil lakin super bölmələr olan bütün tələbələr üçün açıqdır. Bu bir yerdə bazar gələn kurs saytında elan ediləcək biz biri olacaq az rahat, o, eləcə də bir üçün o daha rahat. Arasında o haradasa o iki seçə bilərsiniz, Isterseniz və ya hər ikisi, oturmaq-in üçün. Və bu mərkəzi C nəticədə olacaq, biz davam edəcəyik, bizim Bu gün söhbət. Problem 0 arada olduğunu müəyyən inşallah sizin əlinizdədir. Rəsmi sabah, Cümə axşamı, günorta saatlarında. Bir pul halda Sizin 5 gec gün, onu gətirəcək günorta saatlarında Cümə gününə qədər. Problem 1 arada olacaq müəyyən Kursun saytında dərc. Bu, bizim ilk olacaq C. bir sinif kimi çapqın Və problem müəyyən spec gəzmək olacaq nə mexanika bir çox yolu ilə Biz bazar ertəsi söhbət başladı və biz bu gün haqqında söhbət davam edəcəyik. C, Linux, CS50 cihaz ki, bütün dəqiqləşdirilməsi sizi gözləyir. Office saat arada davam edir, lisenziya yemekhane. Görmək burada bu URL rəhbəri gecə və sabah üçün cədvəli, Siz iştirak etmək istəyirsinizsə. Eyni zamanda Suallar, belə ki, siz sual imkanlar var asynchronously, 24/7, sen həyata bölmələr və ofis məhdud deyil saat, əksinə bu alət burada CS50 ki, URL müzakirə Kursun online olacaq bulletin board software, hansı vasitəsilə Siz sual edə bilər sinif yoldaşları və həmçinin heyət. Belə ki, unutmayın ki, resurs həmçinin. Eyni zamanda bir ənənə bu cümə başlayır. Siz glimpsed bilər Son Çərşənbə teaser video, biz ən bir ənənə var müddəti ərzində hər cümə bəzi 50 tələbə alaraq adlı yerli restoran heyəti Yanğın və Ice olan biz deyilik adətən bəzi məzunların qoşulub sənaye və ya dostları ümumiyyətlə talib böyük bir sinif kiçik hiss etmək. Belə ki, tamamilə təsadüfi nahar var. Bizə bir dəstə, personal xüsusilə, musiqi stul oynayacaq və tələbələrlə söhbət 50, 50 xaricində həyat, gələcəkdə həyat, real dünya, Mən iş imkanları haqqında söhbət alıram sənaye dostları ilə. Siz bizə qoşulmaq istəyirsinizsə Belə ki, bu cümə, burada bu URL giderim. Space məhdud, lakin biz bunu edəcəyik recurringly müddəti ərzində. Cs50.harvard.edu/rsvp üçün orada rəhbərlik. Və siz almaq yoxsa bu dəfə, narahat deyil. Biz yenə edəcəyik Önümüzdəki həftə də. Belə ki, bu şəkil biz, ötən həftə boyalı və yəqin ki, olduğunuz indiyədək dabbling. Amma indi bu qoşulmaq üçün cəhd edək Biz bu gün nə olacaq nə və irəli. Mən bir könüllü ola bilər? Bütün sağ, və ya bir neçə. Necə burada haqqında end, mavi köynək. Up Hadi, sizin adınız nədir? Alana: Alana. DAVID MALAN: Alana. Belə ki Alana üçün yalnız bir anda gözəl siz etdi cavab rolunu oynamağa davam edir Burada bu funksiya. Biz bənövşəyi blok bir funksiyası indiyədək çağırıb. Belə ki, nə getmək üçün gedirəm irəli burada və Elena təklif bir az adı tag edir etmək aydın oynayan ne rolu. Beləliklə, siz demək blok olacaq. Siz irəli getmək və qoymaq istəyirsinizsə. Və biz olacaq super sadə bu saxlamaq. Əl məqsədi sadəcə əgər İndi Alana ilə həyata keçirmək, deyilən bu blok demək burada iş gedir necə var. Mən zəng edək yaxşıdır bir dəlil və ya parametr, həqiqətən kağız yalnız bir boş hesabatı var. Və bu cür xatırladan ağ ağ qutusuna hansı daxil sözləri yaza bilərsiniz. Eyni zamanda mən burada getmək üçün gedirəm. Mən irəli getmək üçün gedirəm və H-E-L-L-O vergül dünya yazın. Proqramçı demək kimi və indi, deyil həqiqətən, bir şey demək necə bilirik. Mən sözləri ilə gəlmək olar, amma mütləq deyil özümü ifadə etmək üçün necə şifahi və ya ekranda. Və mən gedirəm nə Bu parça almaq nə etmək Onun input-- işləməsi və ya dəlil, biz zəng edəcəyik kimi, Mən paper-- bu parça yazdıq və mən onu Outsource üçün gedirəm. Və həqiqətən rolu var ki, bir proqramlaşdırma dilində funksiyaları oynaya bilər. Bu söz kimi bir şey blok kənar edilə bilər kimsə həqiqətən bilir nə və ya onun haqqında danışır. Beləliklə, siz addım lazımdır, əgər Burada yalnız bir an üçün, Mən bu giriş keçmək üçün gedirəm Alana, və bu giriş demək ki, xahiş edirik. Alana: Salam, dünya. DAVID MALAN: Yəni bu. Belə ki, bir funksiyası var. İndi biz bir az daha edə bilər, biz irəli burada bir addım bilər. Ki, aydın underwhelming idi. Belə ki, indi bu çevirmək imkan bir şey bir az daha inkişaf etmiş. Belə ki, əlbəttə, bu, bizim C versiyası. Belə ki, indi ki, almaq istəyirsinizsə bir off, off ki, adı tag, və siz yeni bir ad qoymaq bildirin. Amma əsaslı etdiyiniz eyni rol oynayan, yalnız belə olur indi printf adlanır. Bu hekayə, əlbəttə, yəqin ki, be-- gedir yalnız underwhelming-- kimi gedir aşağıdakı olacaq. İndi funksiyası printf var. Mən zəng edirəm, ya proqramçı, kim istəyir çiyinlərində durmaq sizin kimi keçmişdə insanlar, artıq necə fiqurlu etdik edən həqiqətən bir şey yazmaq. Və bu zaman, Bu edək demək deyil həqiqətən burada bizim ekran istifadə edin. Siz addım istəyirsinizsə Belə ki, burada, mən gedirəm kimi yenə bu keçmək mənim printf dostuna girdi. Siz irəli getmək bilər və Ekranda ki, çap, sadəcə rəsm sizin qara ekranda barmaq. Əla. Bütün sağ, muallakta çox belə necə oynamaq niyyətində idi. Belə ki, indi bir qədər şeylər götürək final notch, biz, aşağıdakı kimi. Belə ki, bu C proqram kimi biz sonuncu dəfə danışdı. Və bu, yalnız siz bunu nə ekran, hello, dünya üçün baskı. Hətta bir çox aydın var, baxmayaraq orada yayındırır stuff. Amma bir pillə qədər şeylər götürək və geri ki, bu versiyası təqdim üçüncü versiyası idi ki, Biz keçən dəfə ilə sona çatdı. İndi aydın var printf iki istifadə edir. Alana 2 zənglər var printf üçün bu halda, həm də zəng var başqa funksiyası. Aydın funksiyası nədir? GetString. Biz bir daha könüllü əldə edə bilərsiniz? OK, qədər gəlib. Sizin adınız nədir? JAVIER: Javier. DAVID MALAN: Javier qədər gəlib. Belə ki, Javier rolu haqqında bu kağız parçası. Mən generically zəng etmək üçün gedirəm edir. İndi bu dəyişən bu deyil tipli simli kimi örtük var ortada ikinci xətti ilə. Və mənə bir string almaq getmək istərdim. Xüsusilə orkestr aşağı rəhbərlik bölmə və mənə kimsə adını almaq, və dəyişən geri gəlmək ki, dəyəri olan. Bu hər kəs ola bilər. Burada biz gedin. Bütün sağ, Javier edir adını yazırlar. Bütün hüquqlar. Biz bütün yəqin ki, nə tahmin edə bilərsiniz bu oynayacağıq. Biz bəlkə belaboring edirik baxımından nə bir funksiyası, bunu ancaq yenə çox təşəkkür edirəm. Belə ki, Javier bu simli qayıdıb Burada, olduqca ki, göremiyorum Jonathan simli edir biz kazanılmış etdik ki,. Belə ki, indi mən, həqiqətən, gedirəm nə baxmayaraq Alana təmin etmək bir az fərqli bir şeydir. Çünki bu versiyası proqram, ilk dövlətin adı var. Ilk dəlil belə Mən Elena təmin etmək lazımdır olacaq ilə sanki dövlətin adı. Ki, kimi sadə Bütün sağ, Mən sizə bu olardı. Mən qədər yazmaq kimi növbəti arqument əgər irəli getmək və bu yazmaq istəyirəm board nin irəli gedək etmək üçün burada final nümunə yoxdur nəticədə baş var nə sil. Belə ki, dövlətin adı, üst doğru yazın Əgər ağla deyil əgər, yalnız, belə ki, biz bir ikinci xətt üçün otaq var. Son şey, çünki mən gedirəm bir deyil indi təmin etmək, ancaq kağız iki ədəd. Bütün hüquqlar. H-E-L-L-O vergül və sonra boş line. İndi Elena təslim etmək haqqında deyiləm nə bir az fərqli bir şeydir. Yalnız o, bu olur harada boş doldurmaq təmsil ki, nə percent-- tutucu biz istifadə etdik? Bəli, belə yüzdə s. Eyni zamanda mən keçmək gedirəm ikinci arqument onun hansı dəqiq nə Javier edir Conatanın Retrieved. Belə ki, mənə bu iki verək. Siz irəli getmək istəyirsinizsə və çap təsiri. Nəticədə Nə olur indi, Alana yenidən printf rolunu oynayır. Javier oynayan GetString rolu. Belə ki, xatirə olacaq. Və nəticədə baxmayaraq, neler Bu yep irəli və vergül getmək salam. Alana: Mən bu hələ və ya almaq mı? DAVID MALAN: Yep, Siz bir dəfə onlara də alıb. Belə ki, ideya ki, indi səhifə flip bilər ikinci idarə etmək bu iki giriş. Belə ki, bu ev çəkic yalnız Alana icra halbuki qeyd Bu yaşıl xətt, burada və sonra Javier bizim üçün bu bir etdi və mənə bir şey qayıtmaq biz s zəng edəcəyik, lakin bu, həqiqətən idi öz kağız yalnız parça. İndi Alana bu üçüncü görmüşdür. Və bütün bu görünür baxmayaraq belə olduqca sirli bəlkə ilk baxışdan, bu, həqiqətən ki, kimi sadə deyil. Ətrafında giriş keçən, ya nəticələr əldə fiziki bir şey geri qaytarılması, və ya bu kimi bir yan təsiri görən. Something vizual ekranda yazılı. Belə nin irəli getmək və , Elena və Javier təşəkkür olan, burada aşağı idi Burada bizi qoşulması. [Alqış] Verilən Belə ki, indi götürək necə sadə ki, bütün ola bilər. Və həqiqətən davam edək faktiki kodu bir şey yoxdur. Burada ekranda belə bir ekran edir sözdə CS50 cihaz. Və kimi, at olsaydı Çərşənbə günortadan sonra 2:00 PM, bəzi dostuna izah nə CS50 cihaz edir, necə bir cümlə izah edərdiniz? Hər hansı bir cümlə? Bəli? TƏLƏBƏ: Bu proqram kimi hər kəsin kompüter edir eyni sistemi ilə çalışır. DAVID MALAN: Yaxşı! Bu hər kəsin imkan verir ki, bir proqram kompüter eyni sistemi ilə axır. Bu öz sort var bir əməliyyat surəti olur ki, sistem Ubuntu Linux adlanır. Və daxilində səmərəli çalışır öz Mac və ya PC bir pəncərə, ki, sağ qapısı bu yolla Həftə 1, burada hər kəs sinif Eyni araçlar var, Eyni konfiqurasiya, və heç bir təlim curve xüsusi var Mac və ya xüsusi bir PC. İndi biz CS50 daxilində açdı Bazar ertəsi cihaz, burada bu proqram. Bu gedit adlandırmaq olur. Amma yalnız həqiqətən bir qrafik redaktoru. Bu Notepad və ya görünüş kimi bir şey var Müvafiq olaraq Windows və ya Mac OS redaktə. Və mən, həqiqətən var idi ki, təklif bu ekran üç mühüm hissələri. Top yan harada edir Sizin kodu yazmaq olardı. Biz sərf harada ki bizim Bazar ertəsi mühazirə üç nümunələri. Alt biz nə adlanır, bu qara pəncərə, yeah? TƏLƏBƏ: Kompilyator? DAVID MALAN: Kompilyator biz pəncərə yolu ilə əldə. Amma ümumiyyətlə. Bəli, yalnız bir terminal pəncərə idi. Bu yaş köhnə anlayışdır ki, yalnız mahiyyətcə yanıb-sönən təsvir tez, il əvvəl istifadə olmaq bu böyük CRT style monitorlar biri. Amma indiki vaxtda sort var proqram virtual. Və terminal windows us komutları yazın bildirin. Sadələşdirilmiş versiyası Bu sort istifadəçi interfeysi və ya UI. Bu qrafik deyil user interface və ya GUI, Bu mətn-based interface var və ya command line interface. Və həqiqətən ki, tapa nəticədə var Mən bir kod yazmaq edə idi. Mən də bəzi kodu yazılı sonra, Mən bu komanda istifadə ki, xatırlayıram. Və bu adı kimi növ bu təklif Mənə bir etmək üçün imkan verir proqram Salam çağırıb. Amma həqiqətən nə idi? Yaxşı makiyaj edirdi mənim giriş, mənim mənbə kodu, və nəticədə, nə üçün konvertasiya? Object kodu. Və obyekt kodu yalnız bir xülya deyil adet sıfır və olanları deyərək yol. Və sonra mən istəyirdim dəfə ki, obyekt kodu run, Mən giriş kimi keçmək istədi dəfə mənim kompüter içinə adet sıfır və olanları beyin, sözdə CPU və ya mərkəzi emal qurğusu, Mən proqram run idi. Amma bu barədə bazar ertəsi olduqca sadə deyil kimi yalnız bir icon tıklayarak ikiqat. Nə əvəzinə mən var idi bir proqram çalıştırmak üçün nə? Ikinci komanda nə idi? Mən bir az slashes eşitmə alıram? Bəli, bəli? TƏLƏBƏ: Dot doğramaq və Proqramın adı. DAVID MALAN: Exactly. Dot doğramaq və proqramın adı. İndi bu nə demək? Yaxşı dot yalnız bir gizli yoldur cari kataloq etdi. Hansı qovluq siz edir kimi istinad, nöqtə kimi təmsil olunur. Çizgi siz gördüm nə yalnız il Mac OS və Windows, bir kataloq arasında separator var və ya qovluq və bəzi adı istirahət. Windows getmək olur geri, Linux və Mac OS Doğru getmək olur. Amma bu yalnız separator var, belə ki, yalnız maraqsız sintaktik ətraflı. Əlbəttə, sulu hissəsi Proqramın adı Hello. Və bizim üçün yaradılmış etmək nə. Bu, bizim üçün fayl outputted. Amma necə ki, nöqtəsinə almaq idi? Indi soruşaq sual həqiqətən nə idi ən azı, burada gedir Bu sintaksis bəzi alaraq? Bir cümlə və ya belə necə biz üz izah etdi var ki, bu ilk line yaşıl qeyd? Nə ilk line edir ki, mənim proqram ilə bağlı? Bəli? TƏLƏBƏ: [Işitilemez]. DAVID MALAN: yenidən deyirsiniz? STUDENT O cümlədən: və downloading Ötən funksiyaları [Işitilemez]. DAVID MALAN: Yaxşı. O cümlədən, mən demək deyil indirerek, amma deyək funksiyaları, o cümlədən ki, insanlar keçmişdə yazıblar. Və bu funksiyaları həyata keçirilir mənim kompüter haradasa. Biri bir fayl yazdı il əvvəl ki, fayl CS50 daxilində haradasa cihaz, ya sabit ümumiyyətlə. Və bu xətt mahiyyətcə, deyib ki, fayl, standart I / O nöqtə tapmaq getmək h, və surəti və onun məzmunu yapışdırıb Burada mənim fayl üst mən yoxdur ki, özüm ki, özünüz edə. Və daxilində juiciest ədəd arasında biz iddia fayl funksiyası nə idi? Nə funksiyası biz elan edildi demək idi və ya standart I / O dot saat qeyd çox güman ki? Printf, sağ? Biz printf yazmaq etməyib Bazar ertəsi, yalnız mövcud. Çox Alana yalnız gələn kimi mərhələ və o qədər yalnız mövcud və çəkmək üçün necə bilirdi Ekranda bir şey, belə printf çox illər üçün mövcuddur. Və bu, biz daxil necə. Biz burada hərəkət, əgər İndi, əsas analoji biz idi Bu puzzle parça etdi yaşıl bayraq tıklandığında adlı Not dünyada. Bu yalnız sort var insanlar ki default adı Bu təmsil edəcək qərar bir proqram giriş nöqtəsi default. Proqramlaşdırma kodu yığın ilk edam olur. Eyni zamanda bu qıvrım aşırma var cür əyri forma kimi o sarı danışıq ədəd bir çox. Onlar növ bütün içine birlikdə təlimat dəstə. Belə ki, yalnız cür birlikdə bağlar bəzi əlaqəli funksionallığı. Əlbəttə printf funksiyası ki, biz yalnız kimi, ekran çap. Nə bu parantez haqqında? Necə var, hətta define olardı heç vaxt əvvəl proqramlaşdırılmış, ancaq əsaslanır İndi artan inşallah intuisiya, nə parantez burada bizim üçün edirik? Yoxsa onlar nə ətraf? Bəli? TƏLƏBƏ: Onlar nə dediyini printf ilə çap olacaq. DAVID MALAN: Bəli, onlar dedi ne printf ilə çap olacaq. Və ya ümumiyyətlə, onlar funksiyası üçün giriş ətraf. Belə demək olar ki, hesab edə bilər o parantez metal kimi olan kimi Bu panoya kəsmək. Bu nə var, nə keçirilməsi deyil dəlilləri təmin etmək üçün istifadə olacaq , funksiyası daxil Bu halda printf adlanır. Belə ki, ümumiyyətlə hər hansı bir vaxt biz bir funksiyası zəng biz bir cüt parantez görmək üçün gedir. Bəlkə bu şey ilə, kimi indi, bu bəlkə bir şey. Siz qoymaq olardı amma ki giriş və ya qondarma dəlilləri bir funksiyası. Burada belə bir arqument var. Mən hər şeyi qeyd etdik Quotes arasında, Bu çıxır, çünki adlanan bu dildə Bir təmsil istədiyiniz zaman C, simli ki, bir söz və ya bir söz və ya hətta bir paragraph-- siz var ikiqat quotes ilə əhatə. Tək quotes, ikiqat quotes. Və mən burada etdik məhz budur. Eyni zamanda bir funky var orada sonuna doğru simvolu. The backslash n. Biz təmsil nə demək ki? Bəli? STUDENT: A yeni xətti. DAVID MALAN: New line. Sağ, siz deyil adətən zaman Enter Əgər proqram istəyirəm yeni bir xətt tüpürmək. Əksinə siz aşkar onu demək Bu admittedly gizli parça ilə sintaksis, backslash n ki, Yeni bir line getmək istəyirəm. Nəhayət nöqtəli vergül. Biz, həqiqətən danışmaq etməyib bu barədə çox, və uzaq bu bəzi zəhər olacaq ilk problem üçün mövcudluğu yalnız həyata keçirmək üçün uğursuz zaman, müəyyən Əgər axmaq kimi bir şey unuttuysanız bir nöqtəli vergül kimi. Və ümumiyyətlə qoyaraq ki, problem həll edəcək. Amma bunu nə Bizim üçün, siz deyəcəksiniz? TƏLƏBƏ: [Işitilemez]. DAVID MALAN: Bağışlayın? TƏLƏBƏ: [Işitilemez]. DAVID MALAN: a şərh Finishing. Bu dövrdə kimi sort var İngilis cümlə sonunda, Bu dildə isə C bir şərh bitən var. Proqramlaşdırma təlimat Siz yalnız demək istəyirəm ki, kodu, Mən bu ilə bitirdim. İndi burada yalnız bir bildiriş. Beləliklə, siz almaq istəmirəm qoyulması semicolons bir vərdiş Hər qapalı mötərizədə sonra. Məsələn heç biri yoxdur növbəti ləğv etmək, və biz will gələcəkdə geri gəlmək void nə vasitə. Lakin bu halda sizin printf bir funksiyası, və ya bir bəyanat istifadə olunur, və belə ki, var istəyirəm bu, çox sonunda dayanacaq. Mən qəsdən C. Və aldığınız alıram səmimi C, C ++ kimi dillərdə bir çox, Java, JavaScript, və hər hansı bir sayı digər dillər bu bir çox sintaktik ətraflı sort. Siz yeni danışırsınızsa, əlbəttə ki, əgər proqramlaşdırma həqiqətən siz səfər edə bilər. Və qeyd edəcək mənim sözləri, bəzi olacaq bu təcrübə var ofis saat və ya gec gecə bəzi p-set, harada işləyir Sizin lənətləmək proqram yalnız tərtib etmir, Bu siz, çalışmaz yanlış nə heç bir fikrim yoxdur, Bu tamamilə görünür Sizə məntiqi doğru. Siz unuttum çünki bu vuruş kimi bir şey bəzi xəttinin sonunda bir nöqtəli vergül. Amma bu sizə etdiyiniz şeyi növ dərhal görmək öyrənmək üçün gedir. Və həqiqətən də bu şeylər Qocanın və TF-nin var sort görmək üçün hazırlanmışdır daha tez sizə daha. Və belə ki, bu kimi, demək yalnız problem dive, xüsusilə set 1 Bu məhsulları ilə incidir almaq deyil. Sort acclimate dəfə dünya, siz şeyi görmək başlayacaq ki, ola bilər bu ilk həftə ilk baxışda görmək. Belə ki, mənbə kodu kimi bir şeydir. Biz onu keçmək istəyirəm sözdə compiler. Və compiler kimi biz çıxışı təmin etdi obyekt kodu kimi tanınan, adet sıfır və olanları deyilən. Amma oradan bizə nə verir? Yaxşı bizə bu nümunələri verir. Və yenə kompüter, daxili Intel, Bu nümunələri anlayır adet sıfır və olanları. Və bəzən model faktiki decimal sayı təmsil biz bəzən ötən həftə gördüm kimi bir məktub təmsil kimi biz bəzən ötən həftə gördüm Bu, təlimat təmsil Ekrana bir şey çap kimi. Instance-- üçün Belə printf əksinə, mənə geri bildirin. Biz verilən qəbul etdik o adet sıfır və olanları var ki, Bu skript etmək istehsal. Amma make a compiler deyil. Şey ortada olun deyil ki, adet sıfır və olanları istehsal edir. Əksinə etmək yalnız bir çox rahat edir kimin məqsədi həyat adlı proqram anlamaq üçün əsasən necə proqram tərtib etmək. Və biz bu istifadə ilk həftə çünki yalnız bizə problem bir çox saxlayır. Amma nə etmək həqiqətən Siz salam tərtib edərkən bunu, Biz keçən dəfə dediyim kimi, bu, nə Sizin sabit axtarır və ya cari qovluq üçün fayl yəqin, nə deyilir? Hello.c, sağ? Ki, Konvensiyanın yalnız növü var. Bu, özbaşına, lakin şeylər yoldur. Yalnız adını daxil əgər, etmək hələ mövcud deyil ki, bir proqram, Bu mənbə kodu baxmaq olacaq bir fayl ismarıcları hello.c deməkdir. Və onu tapır, əgər böyük. Bu mənbə çevirmək olacaq sizin üçün obyekt kodu daxil kodu. Amma hit etdiyiniz hər dəfə daxil edin salam çalışan sonra, Siz son dəfə a görən Xatırladaq edə kifayət qədər uzun və sirli ardıcıllıqla digər ağ məktubları və ekranda simvol? Yaxşı ki, faktiki komanda, oldu faktiki compiler ki, çalışan edilmişdir. Belə ki, faktiki compiler biz ən istifadə edəcəyik semestr cingilti deyilən bir şey deyil. Əgər bəziləri istifadə edə bilər Visual əvvəl Studio, və ya GCC, və ya digər derleyiciler hər hansı bir sayı. Biz cingilti istifadə edəcəyik. Və cingilti bizə həqiqətən çevirmək imkan verir ki, mənbə kodu obyekt kodu. Bu, həqiqətən, nə praktikada deməkdir? Yaxşı mənə birinə gedək son dəfə mənim qovluq. CS50 cihaz Inside. Və mənə irəli getmək və bu yaratmaq imkan Eyni faylı, standart I / O dot saat daxildir. Int əsas etibarsız. Və biz gələcəkdə kimi geri gəlmək lazımdır nə deməkdir və nə boşluq deməkdir int. Amma indi nə edək salam dünya backslash n, yalnız biz board idi kimi. Oxşar hello.c adlanan bu faylı edək. Və indi bu tərtib etmək istəyirsinizsə Mən in-- run zoom imkan could-- salam daxil olun. Və bu yenidən çox sirli line. Amma indi ən azı bir söz yəqin ki, sizin həyata atlamalar. Cingilti biz əvvəl gördüm ki xəttidir. İndi digər məhsullarının bir çox səmimi var Biz bu gün bizim əlləri dalğa lazımdır ki,. Amma bir neçə alt var, Burada bir neçə simvol maraq doğurur. Amma Mən irəli getmək və bunu gedirəm. Mən ilk run gedirəm hello, yalnız sübut etmək Bazar ertəsi olduğu kimi, bu ki, işləyir. Amma indi proqramı silmək üçün gedirəm. Və biz idi çox kimi bu qısa adlar son dəfə, aradan qaldırılması üçün komanda bir şey daxil, aradan qaldırılması, rm edir. Siz bəzi almaq olacaq kifayət qədər sirli suallar. Hard edə bilər ki, iman hətta ağır bu sual anlamaq üçün. Amma yalnız müntəzəm fayl salam aradan qaldırılması vasitəsilə siz salam silmək istəyirəm. Mən irəli getmək və y yazın bəli, daxil edin, və indi getdi. Bu artıq o deməkdir ki, Mən ekran sil əgər, əvəzinə ki salam siz edə edir Mən bu yaxşı alıram nə bilirik. Mən compiler özümü çalıştırmak üçün gedirəm. Mən bir proqram lazım deyil mənim fayl adlanır nə anlamaq. Mən hello.c yazdı Bu deyirlər nə bilirik, Mən aydın yazmağa qadir deyiləm. Mən irəli getmək üçün gedirəm daxil edin və hello.c cingilti yoxdur. Iş görünür. Və heç bir əlavə çıxış var, cingilti olan compiler edir. Bu konvertasiya nə var adet sıfır və olanları mənbə kodu. Mən indi dot əgər hm, salam daxil edin doğramaq. New səhv mesaj bu gün. Belə ki, bash bu yalnız adı biz istifadə etdiyiniz tez yanıb-sönən. Ki, bir ümumi oversimplification var, lakin indi ki, ki bütün Bu yanıb-sönən tez var. Və bu bizə böyle niyə var. Belə bir fayl və ya qovluğu bir az daha sadə. Amma şübhəsiz ki, mən ki, obyekt kodu etdi. Amma tutmaq ki, Mən funksiyanı yazın əgər bu məzmunu siyahısı nə olan directory? siyahısı üçün ls. Məhsullarının bir dəstə var burada, olan bəzi cihaz ilə gəldi Mənim Desktop qovluq downloads kimi qovluq, Dropbox qovluq və bütün ki, stuff. Lakin maraqlıdır ki, hello.c olan Mən gedit ilə bir an əvvəl yaratmışdır. Və weirdest nə Burada adı axtarır, biz etmədik ki, bəlkə bütün son dəfə görmək? sağ, a.out? Belə ki, geri gün, onu yalnız qərara zaman ki, bir proqram tərtib ilk dəfə, və adı müəyyən etmir bir fayl, onu bir zəng edək. Və a.out yalnız bu deməkdir compiler çıxdı. Belə ki, bir proqram üçün bir dəhşətli adı var. Amma ki, məntiq, üçün doğramaq dot cari kataloq, a.out doğramaq Əslində var demək lazımdır salam dünya proqramı mənim. İndi bir az çox, həyata isinmək. Mən bu adını dəyişmək istəyirsinizsə fayl, sizin çıxır ki, bir adı bir fayl hərəkət. Belə ki mv a.out, və sonra zəng edə bilərsiniz salam daxil edin. Belə ki, bu Linux əmr edir. DOS, bu il bundan əvvəl idi Windows bir terminal pəncərə var görünür ki, bəzi növ Bu, Linux və Mac kimi kompüter bu yanıb-sönən tez var. Hətta bizim ən yəqin olsa nadir hallarda, heç əgər, istifadə edin. Amma nə etdik run bir adı mv edir proqram, və mən bunu təmin etdik iki dəlilləri, belə danışmaq. Iki giriş. a.out orijinal adı. Hello yeni adıdır. Mən indi dot çizgi əgər Belə ki, hello, daxil edin, ki, mövcuddur. Mən dot çizgi a.out əgər, nə mən görmək lazımdır gözləyirsiniz? Bash, belə fayl və ya qovluq. Mən yalnız adını çünki. Belə ki, bu alışma bir az edir. Amma problem set 1 dəqiqləşdirilməsi həqiqətən olacaq vasitəsilə əl keçirəcək Bu minutae bəzi. Bu tam çünki intellektual yayındırma daha maraqlı olan əl ideyaları olan həqiqətən yaradır kod bir şey. Amma bir dəyişiklik edək İndi bu proqram. Mən bir şey idi ki, son dəfə xatırlayıram bu kimi printf adınızı dövlət. Və həqiqətən biz yalnız bunu orada böyük ekranda. Və sonra mən string s olur etdi Açıq paren, yaxın paren GetString. Və paren yalnız stenoqrafiya mötərizədə üçün notation. Belə ki, GetString hər hansı arqumentlər edir? No giriş heç bir, lakin parantez lazımdır, ki, çünki nə ayırır bir funksiyası zəng. Mən irəli getmək və üçün cəhd gedirəm İndi bu proqram üzrə compiler axır. Cingilti hello.c, çünki mən İndi onun adı dəyişmədi. Mən səhvlər bir dəstə var. Burada kiçiltmək edək. Mən yenə diyirləyin əgər, kimi mən son dəfə danışdı ilk, eyni səhv Mən son dəfə var ki. Hello.c xətti 6 mən bir Bəyan identifikator simli, Mən standart demək idi? Mən etdim. Nə səhv Çünki mən bu etmişdir Proqram, son dəfə geri əgər? Bəli, biz lazımdır təlim təkərlər qondarma Biz yalnız bir neçə həftə üçün istifadə lazımdır ki,. Amma mən də ki, müəyyən etmək lazımdır, haradasa Aracın daxili, biz yazırdı ki, bir fayl əvvəl bir neçə il. Olan Inside funksiyaları kimi yəqin GetString. Belə ki, indi mən burada geri getmək əgər, zoom, və yenidən run cingilti hello.c. Lanet olsun, bir səhv. Amma əvvəl bu görmədim. Bu bir az daha çox anlamaq üçün ezoterik. Amma bu, ekranda qəsdən edir biz bu hekayə demək istəyirdi, çünki. Zaman yalnız kimi, hello.c tərtib Əvvəl təklif olan şəkil, Siz yalnız konvertasiya etdiyiniz adet sıfır və olanları mənbə kodu. İndi CS50 heyəti bir neçə il əvvəl yazdığı CS50.h və müvafiq fayl, CS50.c. Və bir neçə il bundan əvvəl biz, bu faylları tərtib olur ki, bir fayla CS50.o. adlandırmaq Yoxsa adını bilər neçə müxtəlif şeylər. Amma ki, bir sadə yol bu barədə düşünür. Beləliklə, biz CS50 nin tərtib adet sıfır və olanları kitabxana. Amma heç bir yerdə mən müəyyən etdik Mən zeroes birləşdirmək istəyirəm ki, mənim salam dünya üçün və olanları Bu adet sıfır və olanları ilə proqram ki, CS50 heyəti bir neçə il yerləşdirilmişdir əvvəl bir tam proqram. All I yazı müəyyən etdik cingilti hello.c hello.c tərtib edir. Mən cingilti izah etdik Bu adet sıfır və olanları link yaradılmışdır ki, CS50 heyəti bir müddət əvvəl sizin üçün. Belə ki, asan fix var, , link CS50 l dash. Və yenə bu görəcəksiniz uzun təkrar əvvəl. Amma indi görürsünüz heç bir şikayət yox idi. Belə ki, indi mən dot çizgi run əgər hello, indi çalışır. Ki, yanlış bir az var, baxmayaraq ki, Mən nə fayl yeniden yalnız ildən? a.out. Mənə yalnız bir an geri bildirin. Biz yalnız tərtib proqram kodu üç xətləri var. Mən salam dünya qaçdım, salam bir an əvvəl, mən sizin dövlətin adı görmədim. Mən qaçdım, çünki ki Proqramın köhnə versiyası. Amma həqiqətən dot çizgi a.out run əgər Daxil edin dövlətin adı Rob, hello, dünya. Hm. Ki, bir səhv növü var. Yəqin ki, sağ, Rob demək idi? Belə ki, fix kodu burada nə var. TƏLƏBƏ: [Işitilemez]. DAVID MALAN: Exactly. Mən yalnız final çimdik etmək lazımdır mən bir tutucu keçən edirəm ki, boş bir doldurmaq kimi, kimi biz bir an əvvəl idi. Amma faiz s indi ki, boş doldurmaq. Belə ki, nəhayət son bir aşkar imkan ətraflı heç bir sehrli var ki. Mən irəli getmək üçün gedirəm və Hellow qurtarmaq. Mən irəli getmək üçün gedirəm və a.out qurtarmaq. Belə ki, indi mən heç bir proqramları var, yalnız mənim mənbə kodu. Mən bir çalıştırmak üçün gedirəm biraz daha uzun command, cingilti o salam hello.c dash lcs50 dash. İndi bu növ getməyə başlayır Bir qulaq və bəlkə digər həyata. Amma yalnız bu nə ayrı tease. Cingilti olan compiler, dash lcs50 edir qəsdən çox sonunda bir cümlə nə? Bu CS50 kitabxana Links. Adet sıfır Polip və personal ki olanlardır və öz proqram onları crams. Belə ki, əl-da son sual, dash yəqin ki, salam o nə Siz heç etdik, hətta, bunu əvvəl bu sintaksis görüldü? Ki, bir proqram tipi default a.out adına deyil. Əksinə bu salam adına edir. Belə ki, indi heç bir a.out var. Belə bir fayl və ya qovluq, Mən açıq-aşkar bildirib, çünki ki, salam bu proqram zəng İndi belə bir ad yazın və hərəkət var. İndi səmimi, oğlan ki, var maraqsız ki, bütün xatırlamaq az minutia, sağ? Belə nin irəli getmək və daha salam qurtarmaq. Və indi dünya qayıdaq bu da salam demək kifayətdir. Amma bu sehrli var ki, sizin üçün bunu etmək, ki, bezginlik ki, Bu sizin üçün bunu edir. Və bizim proqramları və problemlər, daha mürəkkəb almaq həqiqətən, sizin dost olacaq edir. Çox uzun deyil, çünki İndi gedirik yazılı proqramları var heç bir fayl, lakin bir neçə faylları ilə, və prosesinin avtomatlaşdırılması edəcək birlikdə bizim üçün ki, bütün tərtib. Belə ki, indi çap. printf bu faylı içərisində standart, I / O dot h, biz əvvəl gördüm ki, lakin daha printf daha çox var. Backslash n var, həm də var digər escape ardıcıllığı bir dəstə. Və escape ardıcıllığı yalnız bir deyil bir şey deyərək xülya yolu ki, bir backslash ilə başlayır bir irəli çizgi, bir backslash, və bəzi xüsusi şey yoxdur. Və biz, bu çox dayanmaq olmaz lakin nə ikiqat quote var backslash deyil, Siz düşünürsünüz? Niyə bu qəribə ardıcıllığı var simvol, backslash ikiqat quote, niyə ki, faydalı ola bilər? TƏLƏBƏ: [Işitilemez]. DAVID MALAN: Bəli, sağ? Salam dünya proqramı geri düşünün biz artıq bir neçə dəfə gördüm ki, hər zaman ki, salam dünya gördüm proqram biz daxili ikiqat quotes etdik olan salam vergül dünya backslash n. Amma özünüz üçün hesab edirəm ki, nə həqiqətən əgər bir dırnaq işarəsinin çap etmək istəyirdi? Sizin ilk instinkt, ola bilər mən deyil Mən burada nə istəyirik bilər nə bilirik, biz bir az passiv ola bilər təcavüzkar, salam dost. Biz kimi bir şey etmək istəyirəm bilər. Amma niyə bu artıq problemli? Kənara ki, buruq quotes məhəl qoymayan əsas avtomatik bizim üçün. Niyə bu problemli? Dəqiq. Biz 4 tırnak kimi var. Yaxşı ilk yəqin ki ikinci ilə gedir, və bəlkə dördüncü Üçüncü biri ilə gedir, və ya, mən belə əmin deyiləm demək nə olacaq kompüter edir. Daha Computers, derleyiciler yenə kifayət qədər lallardır. Onlar yalnız nə edəcəyik Siz nə üçün onlara demək. Və birmənalı deyil əgər onlar yəqin ki, bir səhv atmaq üçün gedir. Siz nə kimi birmənalı değilseniz bir peanut yağ və jelly sendviç etmək qəribə şeylər gəlmək bilər. Bu eyni fikirdir. İndi var demək kifayətdir bəzi digər escape ardıcıllığı, lakin biz uzun əvvəl o gəlmək lazımdır. Əsasən bu escape ardıcıllığı bir şey etdirir Siz ola bilər ki, çox asanlıqla klaviatura, kompüter çaşdırıcı olmadan. İndi isə biz printf placeholders. Də yazılı edilə bilər faiz d, faiz i demək olar ki, bütün hallarda, hansı məlumatları növü üçün tutucu? Dəyərinin hansı növü? A decimal nömrəsi. Yəni əslində biz başlamaq lazımdır çünki faiz i istifadə bir tam kimi, bir az sadə. Yüzdə i. Olur ki, bir tam decimal olacaq. Yüzdə biz artıq olduğunu bildirib bir string üçün tutucu. Yalnız bir söz, bir söz, paraqraf, inşa, nə. Bu bir ardıcıllıqla var bəzi uzunluğu simvol. Və biz uzun əvvəl görürsünüz Bu digər bəzi. Amma faiz c bir xarakter üçün. Yüzdə f a üçün point sayı üzən, var ki, bir real sayı kimi bu bir decimal point olan əlbəttə bir tam deyil. Və bütün var eləcə də digər dəstə. Eyni zamanda C, Dil bir çox, Biz müxtəlif data növləri var. Müxtəlif növ Siz əgər şüşə kase. Kap Mən keçən dəfə istifadə , ping pong top idi lakin biz həmçinin müxtəlif bilərsiniz chars və strings kimi dəyərləri və bir konteyner integers, bir dəyişən kimi, və C bu var. Char, data növü dəyişən növü, Siz bir xarakter bilərsiniz. Float dəyişən bir növü var siz bir real sayı saxlaya bilərsiniz. Int bir int üçün əlbəttə. Və daha ridiculously uzun uzun adlı Əgər mahiyyətcə bilərsiniz harada hətta həqiqətən uzun sayı, daha rəqəm sonra tipik int güc mağazası. Amma biz uzun əvvəl geri qayıtmaq lazımdır. CS50 dot saat eyni zamanda digər header file biz bir neçə gördüm ki, istifadə dəfə var digər iki data növ adətən C yoxdur. Bir simli və biz görəcəksiniz bir neçə həftə nə strings həqiqətən başlıq altında var. Və bir bool edir. Və bir bool bir dəyişən olduğunu yalnız müəyyən dəyərlər üzərində bilər. Və yalnız ötən həftə əsasında Not izahı, və bu yaxınlarda C, Siz nə tahmin olardı üçün iki mümkün dəyərlər bool tipli ki, bəzi konteyner? Və heç bir Bəli. Bir və sıfır. Doğru və ya yalan. Və həqiqətən çalışır ki, son var bir proqramlaşdırma şərti olmaq dil, bir şey deyə doğru və ya yalan kimi. Eyni zamanda CS50 kitabxana gəlir funksionallıq bir dəstə ilə personal sizin üçün yazdığı, yalnız bir string almaq başqa. Biz əvvəlcədən funksiyaları yazırdı ki, istifadəçi bir tam əldə edə bilərsiniz, bir xarakter almaq, ki, bir float almaq bu kəsir yalnız bir sayı. Həqiqətən, uzun uzun almaq istifadəçi böyük dəyəri. Beləliklə, biz yalnız bu gördüm GetString şəklində fəaliyyət. Lakin bu funksiyaları vasitəsilə tezliklə yazmaq olacaq istifadəçi daxil almaq proqramları. Eyni zamanda bu hesab proqram, və hesab biz indi əlavə başlaya bilər necə yeni inşa ilə bu. A tez qasırğa tur sonra biz baxmaq lazımdır bəzi yazılı bir özümüzü əl proqramları. Biz istəyirik bundan sonra əgər bir vəziyyət həyata keçirilməsi, bu bir kimi baxmaq niyyətində deyil gözəl az pretty puzzle parça. Bu bir az daha gizli baxmaq üçün gedir. Amma bu canonical deyil C. vəziyyətinin strukturu Sözü iki əgər parantez içərisində olan bir növ olacaq Boolean ifadə. İndi çizgi çizgi ortasında, bu Hal sort kimi at pseudocode kodu tutucu. Kod Amma daha düzgün, hər hansı bir line C slash çizgi ilə başlayır ki, bir comment edir. Bu güc bir yapışqan qeyd kimi kağızda çap inşa qoymaq. Özünüz üçün qeyd var. Bu, heç bir funksional var Proqramın təsir. Bu öyüd-nəsihət sort var, öz var neler kimi sənədlər. Belə ki, hazırda bunu tutucu sort edir nə üçün daxili bu qıvrım aşırma nəticədə bir şey gedir. Eyni zamanda siz iki çəngəllər var yol, bir başqa əgər kimi qurmaq. Əgər Siz elseif başqa bilərsiniz. İndi xüsusilə qeyd etmək lazımdır Əgər ətrafında Googling olduğunuz əgər həyata resursların online maraq, və ya ala əgər Kursun nin bir C tövsiyə kitablar, Siz insanlar çox olduğunu görəcəksiniz necə müxtəlif arzularım kodu özlərini ifadə etmək. Bəzi insanlar qoymaq istəyirəm qıvrım aşırma Mən burada etdiyiniz kimi. Bəzi insanlar buruq qoymaq istəyirəm Burada misal üçün aşırma. Bəzi insanlar Elsəs qoymaq istəyirəm burada və sonra burada üzərində. Yollar bir sıra üçün var yazmaq kodunu, və onlardan heç biri se başına doğru. Bir neçə var, baxmayaraq ki, olduqca yanlış olduğunu. Bu olsa no-- var nəticədə bir çox dini mübahisə. Əslində, ən annoying biri kompüter haqqında hər şeyi necə inadkar kompüter alimləri ola bilər. Və zamanla tapa bilərsiniz ki, hətta şəxsi üstünlükləri inkişaf Sizin kodu baxmaq necə kimi. Yalnız davranmaq deyil, yalnız çıxış yaratmaq deyil, lakin estetik baxmaq necə. Belə ki, nə biz edəcəyik boyunca sizə edir yol doğru, indi ən azı, standart CS50 style ki, ən azı vahid və oxumaq üçün asan şeyi edir. O ancaq daha uzun əvvəl fərqlər. C A Boolean ifadə, əgər Bu şərt doğru demək istəyirdi əgər və bu digər şərtdir doğru, söz yazmaq deyil və İngilis dili kimi. Siz əvəzinə işareti işareti istifadə, səbəblərə görə, biz geri gəlmək lazımdır. Demək istəyirəm və ya iki istifadə edin şaquli bar, ABŞ klaviatura olan ümumiyyətlə daxil edin yuxarıda Bu backslash əsas gələcək. Və bu, yalnız bu vəziyyətdə əgər deməkdir və ya bu digər şərt bunu doğrudur. Eyni zamanda var bu crazy şey, olan Siz münasibətilə olacaq biraz dəfə istifadə etmək. Amma bu yalnız bir alternativ var özünüzü ifadə etmək yolu. Bu, indi üçün, edək Bu, yalnız var, müəyyən ifadə başqa bir funky yol elseif, elseif, elseif, elseif, əgər. Bu, sadəcə baxımından biçimlendirilmiş hallarda, harada sanki dəyərlər sadalamaq ki Siz kontrol edə bilərsiniz. Eyni zamanda ilmə. Biz müqayisə gördüm Bir loop ilə danışıq. Mən mənim əl dalğa gedirəm bu şeylər hər nə deməkdir. Lakin qeyd ki, bir loop olacaq çox tez-tez söz ilə başlamaq. Ya söz müddət ilə başlayacaq. Ya söz ilə başlayacaq , və söz müddət bitir. Amma biz istəyirik nə görmək üçün bu kimi daha çox şeylər. Burada C ümumiyyətlə, necə ola bilər bir dəyişən elan və bir dəyər verir. C kifayət deyil, Not kimi, yalnız Mənə bir dəyişən deyilən bir şey vermək demək. Siz C demək lazımdır, və demək Sizin compiler, daha dəqiq desək, dəyər növü nə yoxdur şüşə qabda qoymaq istəyirəm. Bir tam deyil? Əgər belədirsə, siz var sözün sonra int və demək dəyişən adı, sonra nöqtəli vergül. Yerine simli istəyirdi və çağırıb Mən bu gün burada mənim kodu etdi kimi deyil, siz string s nöqtəli vergül demək olardı. Siz bir dəyər vermək istəyirəm dəfə Əgər bərabər işarəsi istifadə edə bilərsiniz, başqa kimi tanınan tapşırıq operator. Və necə hər qeyd kodu bu xətlər Bunun sonunda nöqtəli vergül var. Amma səmimi, bu, yalnız bir az çirkin görünür. Mən kompüter nə deyə bilmərəm vermək Mənə bir dəyişən və sıfır başlamaq. Ki, mənə bir boş şüşə fincan vermək. Siz isə. Və belə qərarın biri olacaq çağırır zamanla stylistically etmək lazımdır , bu kimi kodu yazmaq və ya edirsiniz cür bu qədər təmiz və impress yoxdur yalnız bir iki xətləri yazaraq insanlar. Və bu hesab olunacaq ümumiyyətlə daha zərif yolu və stylistically sizin yazılı kodu. Funksiyaları gördük əlbəttə istəyirik. Onlar bu format etmək olacaq. Bir funksiyası adı, bəzi parantez, sonra bəlkə bəzi daxili stuff. Yoxsa siz istifadə bax bilər çox funksiyaları side bu kimi bir şey kimi tərəfi. İndi toxunan kimi, yoxdur Bu zarafat indi mənada? [Gülüş] Bu funny demək, lakin bu deyil bəlkə bir az daha məntiqli deyil. Belə ki, indi də gedək Bir an üçün CS50 cihaz. Və mənə burada bir iltifat açmaq bildirin. Səbəbləri və həqiqətən bir IKEA kataloqu tətbiqi üçün və şəkil flashing iPhone bir az əvvəl həqiqətən birlikdə bağlamaq idi fakt yalnız bir neçə il əvvəl, 2007-ci ildə, kod parçası idi , olan azad ilk həyata keçirilməsi bir proqram bir parça ki jailbreaking deyirlər nə. O tanımadığı, jailbreaking üçün bir telefon və ya iPhone kimi bir şey mahiyyətcə figuring deməkdir şeyə necə bu şirkət kim niyyətində deyil idi etdi. Siz müəyyən yüklemek üçün istədiyiniz kimi app mağaza deyil ki, software, Sizin telefon jailbreaking olan ki, və daha çox kimi şeylər. Amma fun nə idi 2007-- və olub müxtəlif versiyaları onlarla bu şeyi sonra, bütün növ languages-- ki of iUnlock adlı burada bu proqram, həqiqətən C. Və belə yazılıb I Bu üçün mənbə kodu çıxardı yalnız cür siz bəzi göstərmək üçün Bu yapıları ilə oxşarlıqlar Biz bu günə qədər müzakirə etdik. İndi yol daha mürəkkəbliyi burada var biz sinif artıq gördüm çox. Mənə burada bir az diyirləyin edək. Amma, biz bir neçə qeyd these-- qeyd hər şeyə lakin burada bu xətlər qeyd, standart I / O dot saat, o cümlədən. Və all-- line 24 please-- / O standart I bildiriş dot h və digər bütün dəstə faylları yəqin digər insanlar yazıblar. Və biz vasitəsilə aşağı diyirləyin əgər Bu, az özbaşına, Mən necə yazmaq bilmirəm xəbər özümü mütləq hələ bu bütün, lakin əgər var. Belə ki, yəqin bu filialı var. Mən bir az aşağı diyirləyin əgər daha başqa varsa var. Mən diyirləyin, mən hesab edirəm ki, line 100 ətrafında mən gördüm. Mən kifayət qədər əmin deyiləm necə bu hələ işləyir, lakin bu olacaq ki, loop üçün edir Mənə dəfə bir sıra təkrarlamaq bildirin. Və mən bütün diyirləyin əgər alt yolu Mən var olduğunu görəcəksiniz burada fəaliyyət çağırıb əsas və bəzi əlavə kredit Sizin oxu zövq üçün. Belə ki, bu, yalnız demək və biz qoymaq lazımdır Kursun mənbəyi arasında online kodu bu ki, hətta bəzi today-- verilən biz almaq ki, cihazlar Günün sonunda hələ danışırsınızsa biz bu əsas yapıları istifadə indiyədək artıq təqdim edilmişdir. Ki, bir yetər. Bütün hüquqlar, belə ki, indi edək həqiqətən, bir şey qurmaq. Nin kimi bir şey kənara qoy hello.c və bu qədər açıq Burada bu proqram yazmaq imkan. Mən irəli getmək üçün gedirəm və , adder.c adlı proqram yazmaq həyat onun məqsədi olacaq ilk super sadə kalkulyator kimi ki, yalnız nömrələri bir neçə edir. Ki, bir ağır deyil, çünki problem, lakin çünki mənə indi bağlamaq üçün imkan verir birlikdə bir neçə şey. Mən irəli getmək və daxil gedirəm standart I / O dot h və CS50 dot h. Mən int əsas etibarsız demək gedirəm. Və yenə gələcəkdə biz geri gəlmək lazımdır Bu kontekstdə və etibarsız vasitəsilə daxil. İndi mən bir şey demək gedirəm printf kimi, mənə bir tam verir. İndi mənim ikinci xətti, Mən belə ifadə necə Mən bir dəyişən elan etmək istəyirəm ki, ki, bir int saxlamaq olacaq? Mən istəyirəm əgər sözün mən nə yazın bir int saklar ki, bir dəyişən yaratmaq Siz deyəcəksiniz? int GetInt bərabərdir. Əlbəttə, belə işləyir. Və yalnız ardıcıllıq kodu ilə will online görmək mənə dəyişiklik imkan Bu x, yalnız çünki x ümumi dəyişən adı ən azı cəbr istifadə etmək. İndi mənə irəli getmək və daha printf edək. Mənə bir tam verir. İndi mən cür gedirəm ki, model öyrənmək, Mən int y getInt olur demək gedirəm. Və biz istifadə etdik GetInt əvvəl, ancaq GetString gedir və bir simli olur kimi, Javier tamaşaçı olduğu kimi, eyni GetInt yoxdur məmnuniyyətlə yanıb-sönən başlayacaq. Və səmərəli istifadəçi gözləyir bu yazaraq, bu tam vermək və Enter'a. İndi nəhayət mən gedirəm Bu, cəmini printf kontormerinin Təfərrüatlar və mənə xülya now-- almaq imkan yüzdə i və faiz i mövcuddur i point backslash n nida. Və mən gedirəm nə düşünürsünüz əlavə vəsait kimi indi qoymaq printf? Mən demək istəmirəm sanki dırnağı bağlamaq x sitat. Mən x sinif istəyirik və sonra və indi xülya almaq edək və yalnız fərz edək biz istədiyiniz nə edə bilərsiniz. Nə gələn demək istəyirəm? x plus y. Və həqiqətən ki, işləyəcək. Bu minimal proqramlaşdırma dilləri var əsas hesab başa düşürük, və bu fakt iş olmalıdır. Mənə irəli getmək və bunu bildirin Mənim qara və ağ pəncərə adder burada daxil edin. Sirli line lakin heç bir səhv Mesaj, belə ki, yaxşı. Dot Mənə tam, 1 vermək, gürzə doğramaq. Mənə bir tam, 2 verin. 1 və 2 cəmidir 3. Bütün hüquqlar, belə olduqca mənasız proqram, lakin nələr var? Bu, mənim bir funksiyasından istifadə icazə var Burada zəng burada bir funksiyası zəng, GetInt, a iki zənglər printf zəng üçüncü, və sonra bu placeholders istifadə edərək. Belə ki, bir az daha çox son dəfə çox inkişaf etmiş. Amma nə istəyirsinizsə bir az meraklısı almaq? Mənə irəli getmək və indi bunu edək. Mənə irəli getmək və yaratmaq imkan bir yeni fayl şərait sıfır çağırıb. Və mən saxlamaq gidiyorum dərsləri naminə bir müddət və yalnız yapışdırıb bir başlanğıc nöqtəsi kimi kodu. İndi mən yalnız gedirəm ortalarında burada yeni bir şey. Belə printf Mən tam edin istərdim. Və bütün bu kodu mövcud Kursun saytında, Siz bütün yazın lazımdır sinif əgər deyil, bunu istəmirsinizsə. int, indi mən gedirəm əvəzinə x və y, istifadə, Mən olan n istifadə gedirəm yəqin ki, ən ümumi adı bir kompüter proqramı bir tam üçün. İndi bir etmək istəyirəm Burada kiçik qərar. Mən n görmek üçün gidiyorum sonra daha çox 0 Mən printf whoops demək gedirəm printf, bir müsbət sayı seçilmiş ünlem backslash n. Ki bağlayın. Else I printf çap gedirəm Bir mənfi sıra seçilmiş. İndi mənə fəğan əvvəl, Bu proqram run bildirin. Mənə burada gedək. Mən bir proqram tərtib necə şərait dash 0 adlanır? Şərait dash 0 olun. Bir axmaq adı növüdür, ancaq dammit. OK, yaxşı tədris an. Niyə ki qırmaq idi? Mən təsadüfən bu faylı adlandırdı? Siz cür nəticə çıxarmaq olar up burada nişanı. Belə ki, pis deyil I bunu, çünki bu bəzi bəlkə olacaq. Mən təsadüfən adlı mənim mənbə kodu vəziyyəti 0. Amma Konvensiya mənim mənbə kodu olmalıdır vəziyyəti 0 dash c adlı bir fayl ola bilər, və ya hər hansı dot c. Mənə bu düzeltmek bildirin. Just Microsoft Word kimi mən getmək bilər As edin və vəziyyəti 0 dot c etmək. İndi yalnız mən səliqəli olmaq irəli getmək və aradan gedir mənim köhnə versiyası olan vəziyyəti 0. Və indi edə bilərəm edək vəziyyəti 0 daxil edin. OK, yaxşı görünür. Vəziyyəti 0 daxil edin. I, 50, tam edin, istədiyiniz bir müsbət sayı seçilmiş. İndi necə mənfi 50 haqqında? Siz mənfi sıra seçilmiş. Necə indi 0. Pretty əmin 0 mənfi deyil. Belə ki, bu məntiqi səhv növüdür. Mən bu düzeltirim? N 0 daha az Else əgər, başqa bunu biz burada üç yol filialı ola bilər printf siz 0 seçilmiş. Belə ki, indi mən bu təkrar əgər proqram, onu tərtib sonra yenə etmək ilə, və indi təkrar vəziyyəti 0, mən burada nə görürsünüz 0 mənə çıxış verir. Beləliklə, biz bu gedir? Yaxşı görmə itirmək çox asandır ağaclar üçün meşə. Və belə ki, bizə bağlamaq imkan Bu 2 və 1/2 dəqiqəlik video ilə ki, nəticədə bir az Google bir reklamın, lakin həqiqətən dəlilidir nə hətta bu əsas tikinti istifadə biz nəticədə dəfə edə bilərsiniz blokları proqramlaşdırma bir az var bizim kəmərləri altında fərasət. [MUSIC ifa] SAROO Brierley (Dublajdaki): Bu, 26 il əvvəl idi Mən 5 açmaq üçün yalnız idi. Biz qatar stansiyası var və biz birlikdə qatara mindi. Qardaşım yalnız mən will etdi burada qalmaq, mən geri gəlmək lazımdır. Mən yalnız yaxşı bilirsiniz, fikir Mən də yalnız yatmaq bilər və o, yalnız mənə oyanmaq lazımdır. Və mən növbəti uyandýrdý zaman gün, bütün arabası bir qaçaq qatar boş idi, bir qarabasma qatar harada bilmirəm mənə alaraq. Mən Avstraliya həyata qəbul edilib Avstraliya ailə. Və ana bəzəkli idi mənim Hindistan xəritədə otaq, olan o mənim lampa yanında qoydu. Mən hər səhər uyandýrdý ki, xəritə görən, və bu səbəbdən Bu növ canlı xatirələri saxlanılır. İnsanlar istəyirik, deyərdim bir iynə tapmaq üçün çalışırıq bir ot tayası, Saroo da Siz tapa heç vaxt lazımdır. Mən yerlərdə çaxdı istədiyiniz ki, mən getmək üçün istifadə, mənim ailə flaşlar üzləşir. Mənim ana image var idi onun ayaqları keçdi ilə ayaqüstü yalnız onun cry izləyir. Həyat yalnız belə çətindir. Bu mənim xəzinə idi. Mən Google Map və baxırdı həyata eləcə də Google Earth var. Daxil zoom edə bilər bir dünyada, Mən bu fikirləri bütün başladı və nə imkanları Bu, mənim üçün nə edə bilər ki,. Mən bilirsiniz, var-özümə dedim bütün bu foto xatirələr var və siz olduğunuz saxlaya və Siz şəhər kimi görünür nə bilirik. Bu proqram ola bilər ki, Siz yol geri tapmaq üçün istifadə edə bilərsiniz. Mən də bir qoymaq lazımdır düşündüm Calcutta qatar stansiyası dot, və radius line, bilirsiniz ki, siz Bu sahədə ətrafında axtarış lazımdır. I növ rast gəldi Bu qatar musiqi. Və mən o aşağıdakı başladı və Mən bir qatar stansiyasına gələn eyni image əks ki, xatirələr idi. Hər şey uyğunlaşdı. Mən yalnız yep fikir I Mən gedirəm bilirik. Mən yalnız imkan gedirəm Mən baş var ki, xəritə mənə yol və geri mənim doğma məni almaq. Mən ağız gəldi Mən anadan olduğu ev. Və təxminən 15 getdi köşedeki metr, üç xanımlar daimi var idi kənarda, bir-birinə bitişik. Və orta irəli çəkildi və Mən yalnız bu sizin ana, düşündüm. O, irəli gəldi, o mənə sarıldı və biz beş dəqiqə var idi. O, mənim əl tutdu və O evinə apardı telefon, harada o var bacım və qardaşım çaldı ki, bilirsiniz, Sizin qardaşı yalnız var bütün ani bir xəyal kimi ortaya çıxdı. Və sonra ailə yenidən qovuşmaq edilib. Hər şey, bütün yaxşı Mən anamı kömək O üz slaving etmək yoxdur. O, qalan yaşaya bilər sülh həyatının. Bu, bir ot tayası bir iynə idi lakin iynə var idi. Hər şey var. Hər şey biz dünyanın var bir düyməsinə tap edir. Amma iradə var var və onu istəyən müəyyən. [MUSIC ifa] DAVID MALAN: Gözəl şirin rəy yalnız nə üçün siz indi texnologiya ilə. Gələn həftə görəcəksiniz.