DAVID J. MALAN: Belə ki, bu CS50 edir. Və bu CS50 öz Colton Ogden idi daha olan musiqi bilərsiniz var soundcloud.com/cs50 download. Belə ki, bu gün biz bütün daha çox diqqət proqramlaşdırma sənət. Biz sol harada və biz almaq Keçən həftə off, diqqət Not, bu idi qrafik proqramlaşdırma dili. Və aşağı səviyyədə aşağı şeyi almaq bir daha ənənəvi proqramlaşdırma istifadə C dili kimi tanınan Amma yol boyunca, həyata Eyni fikir ki, biz Ötən cümə günü haqqında danışdı yalnız bu qayıtmaq edəcək dil C, lakin ən hər digər biz bu dövr baxmaq. Beləliklə, biz bu şey deyilən burada nə son dəfə idi? Bu bəyanat nümayəndəsidir. Beləliklə, biz bu deyilən şərhdə. Və bir şey yoxdur. Bu təlimat var ki, bir kompüter və ya Scratch icra edə bilər. Və bundan sonra da, də başlamaq edək bu bir funksiyası kimi bir şey zəng, səbəblərə görə biz tezliklə görəcəksiniz. Eyni zamanda, biz bu kimi şeylər gördüm. Bu ümumiyyətlə tikintisi nə kimi tanınan? Auditoriya: Loop. DAVID J. MALAN: Belə bir loop. Belə ki, olduqca sadə. Bu sözün deyir nə. Və Scratch, siz istəyirsinizsə orada daha puzzle ədəd basırıq, Bu parça uyğun artacaq. Və biz C görmək lazımdır ki, biz eyni şey edə bilərsiniz. Loop bir növü olsa da, Not əbədi ola bilər, və ya hər hansı bir sayı var digər yanaşmalar. Amma bir daha götürək bir üz ilə generalist göz, ki, ehtimal olduqca tanış daha ümumiyyətlə ilmə. Mark Zuckerberg: One şey kompüter ki, nə həqiqətən yaxşı əmrləri təkrar. Bir şəxs kimi, almaq istədiyiniz həqiqətən cansıxıcı əgər eyni şey idi Bir sıra dəfə çox. Amma bir kompüter eyni şey edə bilərsiniz milyonlarla və ya dəfə hətta milyardlarla və cansıxıcı almaq və edə bilməz həqiqətən yaxşı həyata keçirmək. Məsələn, əgər mən hər kəs arzu etmək istədi Facebook xoşbəxt ad günü haqqında onlara bir e-poçt göndererek, daha bir çox mənə bilər əsr həqiqətən yazmaq hər kəs bu e-poçt bütün. Kod yalnız bir neçə xətləri ancaq, Mən bir sistem hər kəs bir e-poçt göndərmək Facebook istəyən on Onlara xoşbəxt ad günü. Ki, belə loops nə və niyə onlar qiymətli bir şey ki, kompüter çox yaxşı bilər. DAVID J. MALAN: Belə ki Əgər alan oldum CS50 nin bəzi və Gec Dropbox yer, dəqiq əslində nə biz olduqca kimi kodu istifadə edərək, yoxdur. Biz mahiyyətcə böyük var elektron tablo daxil insanlar giren edilmişdir onların adları və e-poçt ünvanları. Və biz bir kod kiçik bit yazırdı ki, bu URL üzərində təkrarlamaq bilər və unikal ünvanları tüpürmək halda hər kəs çox dəfə təqdim. Və sonra, biz göndər CS50 bot e-poçt avtomatik, kupon kodu daxil olmaqla. İndi biz də baxdı bu son dəfə tikintisi. Və bu xüsusi edir Nə misal? Belə ki, Bəli, bir Boolean ifadə. Və forma nəzərdə tutulur kimi yaxşı tutmaq. Bu bütün bu cür suallar doğru və ya Not saxta təşkil bu kimi bir az bir şey görünür. Və biz bu Boolean ifadə zəng. Həqiqətən doğru və ya yalan yes və ya heç. Bu suala cavab bir yolu var. Və vaxt bu Boolean istifadə edə bilərsiniz yapıları daxilində ifadələri olan bu kimi Əlbəttə şərtlər və ya filialları, atasözü yol çəngəllər. Və onlar yalnız baxmaq olar oxşar, lakin onlar həmçinin onlarla Elsəs bağlı var. Və həqiqətən üç yolu ola bilər yol çəngəl və ya dörd yol çəngəl yol, sadəcə bu şeyi yuva, Siz Not görəcəksiniz kimi Əgər siz artıq varsa. Və siz də C edə bilərsiniz kimi. Bir başqa və ümumi edək , eləcə də, bir alumnist baxmaq edən fərqli bir yanaşma təqdim edə bilər şərait adlanan bu şeylər. BILL GATES: People etmək qərarlar hər gün. Məsələn, siz kənarda getmək əvvəl cür, deyir ki, əgər bəyanat var sonra Yağış yağır əgər mən Pencəyimin almaq lazımdır. Və kompüter bir dəfə gözəl , hesabatları bu cür qərar etibarlı icra edə bilər ki, inanılmaz sürəti həmin şeyi. Və belə bir kompüter proqramı həqiqətən riyaziyyat və bəzi bir az hesabatlarının Ü qərar qəbul olur. DAVID J. MALAN: Belə Bildiyiniz, o Bill Gates kimi insanlar, Paul Allen və başqaları həqiqətən başlayıb ki, şəxsi kompüter qondarma inqilab bir neçə il əvvəl. Biz dalış əvvəl düşündüm bəzi Administrivia daxil, biz Albuquerque bir nağıl aid istədiyiniz Təbiət Tarixi New Mexico muzeyi və elm harada Bill Qeyts bəzi " və Paul Allenin erkən hekayələri biz indi necə recounted edir bugünkü PC və Macs və daha çox. Bunun üçün, baxmayaraq ki, biz iki könüllü lazımdır çox yaxşı edən hekayə səsləri var bir script bərkdən oxumaq üçün. Bütün hüquqlar, necə geri haqqında. Qədər Hadi. Və necə qarşısında burada. Aşağı gəlir. Burada yerləri tuturlar. Sizlərin gəlmək kimi, bir neçə inzibati elanlar. sectioning, proses bir bölmə seçilməsi, bu başlayacaq Cümə Çərşənbə. Ki, daha çox bu gələn Mühazirə Çərşənbə. Super bölmələr, eyni zamanda, Biz gələn həftə təklif ki, bir şey vasitəsi bütün sinif dəvət edir kifayət qədər böyük miqyasda iştirak bölmələr, daha rahat bir, bir az rahat. Və biz özəllikləri elan edəcək ki, həmçinin, sonra bu həftə. Bu vaxt bölmələr, özləri başlayacaq həftə əlbəttə üç sıfır index, olan bir neçə həftə var deməkdir həyata. Belə ki, narahat deyil. Siz hələ buraxılmış deyil o xətlər boyunca bir şey. Eyni zamanda vaxt, əgər inzibati hansı bir sualınız, özümü və Devon və Gabe e-poçt və Rob burada bu ünvanda. Nəhayət, problem set Üzərindən 0, əlbəttə, deyil. Siz fark ola bilər Kursun saytda. Bu ilə təmin etməlidir suallara bütün cavab Siz yol boyunca ola bilər problem dəsti ilə başlamaq. Amma özünüzü tapmaq əgər kömək əli ehtiyacı, bütün vasitələrlə ofis saat iştirak, Bazar ertəsi, Çərşənbə, Çərşənbə axşamı, Cümə axşamı axşam bu həftə dörd yemək salonlarında. Özəllikləri var ki, URL baxın ofis saat olacaq harada. İndi cavab edək iki qonaqlar bu gün burada. Sizin adınız nədir? JAY PAUL: Jay Paul. DAVID J. MALAN: Jay Paul, siz cavab gözəl. Hikari: Hikari. DAVID J. MALAN: Hikari? Hikari: Hikari. DAVID J. MALAN: Hikari. Həmçinin görüşmək Nice. Jay Paul və Hikari var bu musiqi onların ön Mən çap ki, iki scripts dayanır Yeni Meksika bu səhər həyata Təbii Tarix və Elm Muzeyi. Və mən düşündüm nə Mən yerüstü istədiyiniz Sizin oxunması müşayiət olunur script və bu tarixi bəzi əyani şəkillər, heç bir sürprizlər. Mən əvvəlcədən etdiyiniz nə Sizin script prehighlight olunur Siz oxumaq lazımdır nə, və oxumaq lazımdır nə. Və biz mahiyyətcə lazımdır yalnız alternativ ci maddələrdə. Güc kimi belə ki, çox var English sinif etdik. Bu, həqiqətən tamaşaçı məcbur oldu burada nağıl iman. Olarmı? Belə ki, burada hekayə var ki, BASIC, və bu Cambridge başlayır. JAY PAUL: Bu qış, 1974 idi, Kembric, Massaçusets harada qışı soyuq ola bilər. A saqqallı, uzun saçlı kollec dropout adına Paul Allen Harvard arasında drudging edilib Düşüncələrini udulmuş Square,. Bu gün onun əsas qayğı necə onun dostu, Bill Gates almaq üçün məktəb çıxmaq və getmək onunla iş daxil. Hikari: İki artıq getmişdi biznes müəssisələrinin bir sıra birlikdə, Lakeside başlayaraq Seattle harada məktəb Onlar pulsuz kompüter vaxt ödənilmiş yerli zamanda PDP-10 kompüter test şirkət mübadiləsi. Ən son plan çıxmaq olmuşdur məktəb və bir proqram şirkəti təşkil edir. Allen Vaşinqton ayrılmışdı Dövlət Universiteti. Amma son dəqiqədə qapısında Harvard ilə qalmaq qərarına gəlib. JAY PAUL: Bu gün, Harvard keçid Square, Allen, yanvar xallı Popular Electronics 1975 məsələ Yerin dayandırılması mövzu ilə, Dünyanın ilk Minicomputer Kit Commercial Modellər rəqabət apara. Başlığıyla altında kiçik bir qutusuna bir şəkil işıqları və açarları ilə bəzədilmişdir. Bu 8800 MITS Altair adlanırdı. Və Allen bu idi bilirdi nə o axtarır edilmişdir. Hikari: müzakirə günləri izlədi. Allen və Gates aydın Bu Altair əhəmiyyəti. Onlar tez-tez danışıb, mikroprosessorlar haqqında və nə görmək gözləyirdik onlara edilə bilər. İndi minicomputer kit var idi Popular Electronics əhatə. Bu yəqin hələ heç bir proqram idi. Onlar bir millət təsəvvür proqramçılar Mits azalan. Və onlar, Ed Roberts adlı Şirkətin rəhbəri, Bu bir versiyası var iddia BASIC proqramlaşdırma dili demək olar ki, hazırdır Bu Altair üçün. Etmədilər. Və Roberts etmədilər məlum olmalıdır. O, 10 zənglər bir gün əldə edilib bir BASIC demək olar ki, hazır olan insanlar. Və onun fond cavab "ilk şəxs idi bir iş ilə göstərir BASIC müqavilə olur. " JAY PAUL: Gates və Allen bir Altair görməmişdi. Onlar hətta görməmişəm idi Intel 8080 mikroprosessor Bu Altair qəlbində. Amma bir neçə il əvvəl Allen proqramı yazmışdı emulated bir mainframe kompüter əvvəlki Intel əməliyyat mikroprosessor. Və onlar ətrafında bu dəfə eyni şey olardı. Hikari: bir Intel ilə Onun tərəfində 8080 manual, Allen bir oturdu Harvard PDP-10 kompüter və emulator və proqram yazdı zəruri tools proqramlaşdırma etmək. Eyni zamanda Gates dayanıb dərsləri və özünü həsr əsas dizayn üçün, hər oyun istifadə O ölçüsü bilirdi aşağı 4 kilobayttan aşağıda. JAY PAUL: Albuquerque Out, Ed Roberts Gates zəng var necə haqqında məlumat üçün xahiş Altair xüsusi routines ele. Heç kim əvvəl xahiş etmişdi. Və Roberts maraqlı almaq üçün başladı. Hikari: inkişafı ilə alətləri və dizayn hazır, Gates və Allen yazdı KAP'a-10-kodu, başqa Harvard tələbə sifariş, Monte Davidoff, riyaziyyat routines yazmaq üçün. Son gecə sonra proqramlaşdırma, Allen təyyarəyə mindi Mits onların BASIC çatdırmaq üçün. O təyyarə narahat həyata gəzinti keçirdi. Və geri Cambridge Gates narahat edirdi. Onlar test onların BASIC və Bu emulator işləmişdir. Lakin emulator səhv nə idi? JAY PAUL: təyyarə kimi , Albuquerque yaxınlaşdı Allen ki, həyata onların BASIC, indi səliqəli olan kiçik bir roll , kağız lent olardı yumruq ayrı olmadan yararsız proqram ki, bir loader adlı necə Altair demək istəyirəm kağız tape varlıq oxumaq üçün Bu teletype maşın daxil qidalanır. O notebook çıxardı və tez bir loader proqram aşağı yazı Məclis dilində, sonra əl 1s və 0s daxil tərcümə Altair başa düşmək olardı. Hikari: Allen gözləyirdi bir təmiz, az, yüksək texnologiya şirkəti business kostyumları kişilərin tərəfindən. Roberts görüşüb Belə ki, o çaşdı Ona hava limanında bir ranch kimi axtarır əl. Roberts də təəccübləndim. O Harvard düşmüşdür bahalı oteldə proqramçı, Allen etiraf idi o otaq ödəyə bilməz. JAY PAUL: özü, MITS idi tozlu zolaq AVM yerləşir. Bir cluttered içərisində workbench bir Altair idi 5 kilobayt ilə dolu yaddaş və kabel ilə bağlıdır bir teletype maşın. Roberts və baş mühəndisi, Bill Yates, ümidlə gözləyirdi Allen onun loader toggled kimi Bu Altair daxil program. The teletype Bu çıxardı chugging başladı tape oxucu vasitəsilə kağız tape. Bu, bəlkə də 15 dəqiqə etdi proqram yüklemek üçün. Sonra teletype kəskin çap yaddaş tez, sonra hazır tez, və Allen yazaraq başladı bir neçə test əmrləri. Hər kəsin heyrət üçün, proqram işləyib. Bugs əlbəttə, var idi. Amma əsas odur ki, çalışıb. Hikari: Sonra onların yolunda bir Pancho nin $ 3.00 nahar, bir arı uçdu alma pəncərə yük maşını və silah Allen stung. Amma ki, point heç əhval korlamaq bilər. The Altair indi Basic, idi bir ev üçün ilk ticarət proqram Paul Allen və Bill tərəfindən kompüter, Gates, Microsoft iş. DAVID J. MALAN: Bir çox iki oxuculara thanks. [Alqış] DAVID J. MALAN: İndi Siz seçimi var, Bir sparkly ki, tərk əvvəl və ya oh The dark-- bir parıltı, bir saniyə gözləyin, sparkly wait-- və qaranlıq fil bir parıltı CS50 öz Cheng Gong olan. Hikari: Aw, təşəkkür edirəm. DAVID J. MALAN: Bütün sağ, çox təşəkkür edirəm. [Alqış] DAVID J. MALAN: Belə əsl hekayə. Bu ki, bütün demək deyil maşın və rahatlığı ilə biz İndi onlardan istifadə etmək və verilən, həqiqətən Burada yalnız bir neçə özəlliklə yeyin addımlar başladı Bu faktiki teatr. İndi gün, olmamışdır olsanız, Bu Maxwell Dworkin, kompüter edir elmləri bina, də köşedeki. Və bu ikinci mərtəbəsində bina üç pages asmaq edir orijinal mənbə kodu ki, Bill Gates və Paul Allen yazdı. Əslində, istifadə əgər zoom yalnız görə bilərsiniz də onların adları orijinal növü, həm də onlar bəzəkli ki, imzalarını neçə il geri onların Son ziyarət zaman. Amma xüsusilə çekici nə idi bu barədə onlar üçün müəyyən nə ki, ki, bir proqram yazmaq idi yazmaq üçün digər insanlar imkan öz proqramları. Bütün zaman var idi Mits tərəfindən bu Altair maşın. Və onlar lazım olan bütün bir yol idi ilgilenmeyi hobi və insanlar üçün asan edilməsi həqiqətən proqramı bu otaqda bizim kimi mütləq dərk etmədən Məclis kodu, və ya maşın kodu, ya Allah, 0s və 1s qorusun. Biz proqramçılar kimi Bu otaq olanların, biz ifadə etmək istəyirəm özümüzü yalançı kod kimi daha çox Bu bir az daha nit belə Keçən həftə danışdıq daha picky. Biz bu kimi kod yazmaq istəmirəm, olan Paul Allen və Bill Gates etdi. Biz əvəzinə, kodu yazmaq istəyirəm ki, bir az daha çox istifadəçi dostu görünür. İndi bu BASIC kimi tanınan bir dilidir. Və line nömrələri var nə sadəcə kodu xətləri sayı üçün istifadə ki, yazılı edirik. Biz hətta yoxdur Bu gün bunu. Amma burada baxa bilərsiniz necə PRINT "Salam, dünya" həqiqətən ehtimalla yalnız çap olardı. Və nə Bill və Pavel idi bu kimi kod yazmaq etməyə imkan yerine nəzər əgər kontormerinin Təfərrüatlar informatika bu kimi kodu wall--. Əslində, CS50 yaxınlarda bir fürsət idi Professor Harry Lewis ilə aşağı oturmaq Kompüter Elm şöbəsi, kim həqiqətən Bill tədris Bir neçə il əvvəl Gates, və əvvəl burada dayanan alıntılar o üç pages. Bir nəzər salaq. HARRY LEWIS: Siz burada bir edir proqram erkən parça listing Bill Gates və Paul tərəfindən yazılmışdır Allen, Microsoft təsisçiləri. Belə ki, kodu maraqlıdır iki səbəbə görə. İlk növbədə, bu, oldu Microsoft ilk məhsul, üçün tərcüməçi idi BASIC proqramlaşdırma dili. Və ikincisi, bu idi ilk cəhdlər bir belə adi tərcüməçi yaratmaq Insanların şəxsi kompüter istifadə edə bilər. Belə ki, Bill Gates idi Harvard lisenziya. Mən 1974-cü ildə Harvard tədris başladı. Bu 1975-ci ildə edildi. Belə ki, onun karyerasında erkən idi və erkən mənim karyera. Mən, həqiqətən,-da Bill tədris Bu zaman ətrafında bir kurs. Paul Allen deyildi Harvard tələbəsi, lakin o, yüksək məktəb olmuşdur Bill Qeyts sinif yoldaşı. Gəlib baxmaq əgər siyahı, siz lazımdır həqiqətən bir üçüncü tapmaq adı, Monte Davidoff, olan Gates sinif yoldaşı idi burada Harvard. OK, belə ki, burada bir var Burada maraqlı şərh up. Bu 4K-ci ildə kvadrat kök silə bilərsiniz "deyir lakin loops hələ işləmək lazımdır üçün. " OK, belə ki, nə deməkdir ki, var Bu proqram tərtib etmək üçün iki yol idi. Bir versiyası çalıştırmak üçün idi Bu Altair kompüter ki, yalnız 4K sözləri idi yaddaş, yaddaş 4,096 sözləri. Lakin böyük versiyası 8K idi. Və nə bu deyir ki, 4K versiyası bəzi silmək idi kodu onu yararlı etmək. Və hər biri ki, silindi olardı kvadrat kök təkrarlanan olacaq. Amma yəqin loops hələ olmalıdır üçün aşağı tərtib etdiyiniz zaman hətta iş kompüter yalnız 4K versiyası. DAVID J. MALAN: The mövzular Belə bir, biz kompüter görəcəksiniz kimi, bu anlayışdır layering və abstraksiya, və həqiqətən çiyinlərində duran bizdən əvvəl gəlmiş insanlar, deyil Bill Gates bəzi fərqli burada və Paul Allen povest. Və nə bu deməkdir biz bilər ki, bu gün şeylər əslində verilir ki us kodu yazmaq üçün asan. Biz cümə günü bildirib Həqiqətən kodu edir, daha texniki mənbə kodu kimi tanınır. Və bu sintaksis kimi bu İngilis dili daha düzgün və daha yaxşı müəyyən edir yalançı kodu kimi bir şey üçün heç bir formal tərifi yoxdur. Bu gün biz nə olacaq diqqət mənbə kodu ki, bu kimi görünür admittedly ilk baxışda tamamilə sirli görünür. Və səmimi, bu yol daha estetik var kompleks əsas proqram daha. Bütün bu proqram yoxdur geri, biz nə demək idi? Bu yalnız "salam dünya". Yazdıran Və hələ biz lazım olan məhsullarının bütün baxmaq çox sadə söz ətrafında kesmek. Amma bütün uzun əvvəl bu xətləri və daha çox sizin üçün daha yaxşı mənada edəcək. Və aşağıdakı kimi axını. Nə biz sərəncamında lazımdır mənbə kimi, kod almaq üçün biz yalnız gördüm ki kodu. Və biz yeni bir proqram lazımdır vasitəsilə çalıştırmak üçün. Biz edə bilərsiniz alqoritmlər lazımdır bu kimi qaynaq kodunu çevirmək, obyekt kodu 0s və 1s. Başqa sözlə, nə Biz bu gün öyrənmək olacaq Bunu necə yazmaq mənbə kodu üst qədər, xüsusi bir giriş kimi keçmək bir compiler kimi tanınan proqram, və biz obyekt kodunu istehsal olacaq. Hansı bir xülya yoludur Biz bir şey olacaq deyərək ki, bu kimi görünür, onu keçmək bir compiler adlı proqram, obyekt kodu istehsal ki, bu kimi görünür. Belə ki, bu sözün var 0s və 1s nümunələri bir tərəfindən başa düşülür ki, Intel kompüter bu gün, CPU təfsir ki, kompüter daxilində beyin, sözün çap edəcək, sadəcə, "salam dünya". İndi daha çox yol 0s və 1s var ki, lazım ola bilər ümid edirik. Biz tikinti edirik, çünki Amma ki mürəkkəblik yaxşı bir şey haqqında verilən bundan sonra edə bilər ki,. Başqa sözlə, ağıllı insanlar bir çox bizə sərin alətlər çox verilən və güclü proqram ilə biz indi bizim öz layihələr edə bilərsiniz. Belə ki, in başlamaq bildirin. Ötən cümə günü, və Halbuki Problem Set 0 bu həftə üçün, Bir oynayan olacaq bu kimi görünür ki, dünya. Bu gün başlayan və Problem üçün , Gələn həftə kodu Set 1 bir az daha baxmaq edir sirli, lakin funksional edir gedən eyni olmalıdır. Belə ki, bildiriş, top Scratch edir alt C. Açığı Scratch edir bir çox istifadəçi dostluq və əlçatan. Amma indi vizual top müqayisə əgər alt, bir bir növü var arasında yazışma puzzle ədəd və dil biz oynamaq istəyirik. Xüsusilə, demək blue puzzle parça top, nə söz yəqin bərabərdir bu dildə və ya xüsusi söz C adlanır? Auditoriya: Printf. DAVID J. MALAN: Printf. Ki, biçimli çap deməkdir. Və yalnız bir xülya var C deyib printf yolu şərh və ya funksiyanı olacaq ki, ekran bir şey görüntüler. Bu ekran çap nə edir? Nə olursa olsun siz daxilində onu demək mötərizə daxilində quotes,. Belə ki, yenə etiraf, heyəti bir çox var Siz unutmayın lazımdır ki, parantez, quotes, semicolons, və bütün bu. Amma ki, bütün növ baxımından yanında. Indi üçün maraqlı paket ki, Scratch demək blok olduqca çox ekvivalent üçün C. printf bəyanat Bu vaxt, sarı puzzle parça üst qədər, yaşıl bayraq tıklandığında, yəqin ki, bərabərdir Burada söz nə? Auditoriya: Main. DAVID J. MALAN: Belə ki, əsas. Bəlkə bəlkə etibarsız, int. Amma kimi səslər əsas növ Bu vacibdir, və həqiqətən edir. Belə ki, yaşıl bayraq tıklandığında yenə, bu puzzle parça ki, başlayıb bir bütün Scratch program. Amma biz indi zəng başlamaq üçün gedir əsas kimi tanınan əsas, bu funksiya. İndi isə biz will aşağıdakı kimi ümumiləşdirmək. Biz zəng funksiyası demək bilər. Və ola bilər xüsusilə bu kimi. Yaxşı, nə loops haqqında? Biz konvertasiya başlamaq istəyirsinizsə və ya C Not daha tərcümə, Burada bu şey yəqin yalnız "salam dünya" əbədi deyir. Belə ki, bu şərik əgər Not bir pişik ilə scripts, yalnız deyərək saxlamaq olacaq karikatura bubble bir növ, "Salam, dünya, dünya salam salam dünya "elan nauseum, əbədi. Biz oxşar bir şey etmək istəyirsinizsə C, bir az sirli baxmaq olacaq. Amma biz eyni əldə edə bilərsiniz biz nəhayət lazımdır, nəticələrini bu kimi sintaksis ilə tapa bilərsiniz. Mən yenə printf istifadə gedirəm çünki günün sonunda Mən çap etmək istəyirəm "salam dünya". Mən yəqin bir istifadə edirəm əbədi deyil ki, söz. Əvəzinə isə söz var. Amma yalnız semantically da English isə cür loop və ya dövrü bir növ təklif edir. Belə ki, olur C istifadə edir ki, söz. Və əsl isə, niyə müddət yoxdur səmərəli əbədi doğru deməkdir? Bəli, isə kimi biz tezliklə lazımdır bütün daha təşəkkür edirik, yanında bu ara var harada bir Boolean ifadə bilər. Və belə uzun kimi ifadə doğrudur, bu kodu, Bu iki arasında qeydi qıvrım aşırma biz onlara zəng edəcəyik kimi, yalnız təkrar yayınlanmaya davam edir. Belə ki, əsl həqiqətdir. Belə ki, doğru yolu isə yalnız əbədi bunu. Demək olar ki, bir axmaq var özünüzü ifadə tikintisi. Amma əbədi var idi C. söz isə var idi. Və bir çox sadə idi Doğru kimi boolean ifadəsidir. Və bu, biz görəcəksiniz eyni nəticə verir. Necə başqa sizə bir loop həyata bilər? Yaxşı, Not güc xüsusi bir sıra ağır kodu burada loop tekrarlamalar. Və belə ki, dəqiq nə biz C bu versiyası edə bilər, biz elə loop üçün qondarma. Və burada loop üçün gedir qədər cryptically, təkrarlamaq, qədər dəyəri 0 lakin az 10. Not İndi dəyişənlər. Siz var ola bilər münasibətilə bu istifadə etmək. Amma ümumiyyətlə point, nə, dəyişən Keçən həftə demək idi? Nə olub? Auditoriya: Points. DAVID J. MALAN: qeyd etmək? Oh, göstərir. OK, bal takip saxlanılması, Məsələn, bir oyun. Və ya ümumiyyətlə bunu dəyişən ilə nə? Onların kommunal nədir? Auditoriya: Yaddaş. DAVID J. MALAN: Bəli, belə yaddaş. Bu bir şey saxlanılması üçün. Və silly vizual I sort istifadə Sonuncu dəfə bu şüşə qabda kimi idi. Və biz saxlamaq istəyirdi bir dəyişən daxilində bir şey, Məsələn indi dəyəri altı deyil, çünki orada Burada altı stolüstü tennis top var. Bu saxlama yalnız bir növ var konteyner başlıq altında bit, 0s və 1s ilə həyata keçirilir, Lakin kompüter bunu olur. Not, əgər biz bir dəyişən var istəyirəm, Biz bu kimi bir portağal blok istifadə edə bilərsiniz. Biz counter zəng edəcəyik bu halda. Mən 0 onu başlatılmış. Mən sonra nə bu? Forever, counter demək olan əgər Siz Not ilə oynamaq yalnız Not görəcəksiniz. Siz qoymaq pişik və ya hər hansı kostyum ona sual sayı çıxış edəcək. 1-Change counter 1-incrementing kimi. Və bu davam edir nə qədər nə saymaq? 0 daimi til, və ya Scratch fasilələri qədər, ya qədər sort seyr maraq itirmək o, həqiqətən saymaq necə yüksək. Belə ki, necə biz C çevirmək bilər? Bu bir az sirli baxmaq olacaq. Ancaq yenə də, əgər hər baxmaq Bu xətlərin ayrı-ayrı ümumiyyətlə lineup onlar cür. Belə ki, yəqin gedir int C. xüsusi mənası var Biz bir daha görəcəksiniz. Bir kənara kimi tam deməkdir. Belə ki, yalnız sayı deməkdir. Belə ki, növü var Mən istəyirəm şüşə fincan, bir ki, nömrələri bilərsiniz tennis top ping deyil. Mən bərabər işarəsi istifadə gedirəm bu 0 dəyəri var təyin. Belə ki, olduqca dəsti kimi counter 0, lakin C. Eyni zamanda, doğru isə, ki, ekvivalent, əlbəttə, əbədi, bir az sirli, baxmayaraq ki, və sonra qıvrım aşırma daxilində. Və bu qıvrım aşırma hesab edə bilər, siz, sizin klaviatura yazın həqiqətən əyriliyi kimi olan Not bu sarı loop blokları. Bu kod çox xətləri əhatə edir. Printf bir olur indi qorxudan az, çünki mən yalnız mötərizədə quotes bax. Amma yeni nə syntactically bu nümunə? Faiz d var. Və sonra backslash n var. Biz hətta əvvəl gördünüz Mən bunu qeyd etməyib, baxmayaraq. Sonra vergül var. Və sonra bir counter var. Amma biz yalnız bir görəcəksiniz Bu yalnız o an print a deyərək standart yol "Decimal nömrəsi," quote dırnağı bağlamaq, Bəzi decimal nömrəsi. Amma sonra sizə gedirəm ki decimal sayı nə. Bir vergül var ki, belə bu xətt söz printf, irəli getmək və çap deməkdir Bəzi decimal nömrəsi. Oh, və yolu ilə, sayı nə bu dəyişən dəyəri nə. Və bu daha etmək biz bir nümunə aydın görəcəksiniz əvvəl dəqiq printf cəlb real C proqramları kontekstində. İndi yalnız bir bükmək üçün Bu yapıları. Boolean ifadələr, siz ola bilər münasibətilə sizin proqram bu istifadə etmək lakin, çox yaxşı bilər xüsusilə şərait istifadə əgər. Və belə ki, bu iki misaldır X y az olduqda demək danışıq, x y az və ya əgər y az z daha necə ki, biz tərcümə bilər? Yaxşı, C, bu, yalnız var bu kimi baxmaq olacaq. Bir az sirli, daha parantez, bəzi qəribə Ampersands, lakin əsaslı fikir onlar kimi sadə Bu puzzle parça dünya var. Biz sadəcə bir şey varsa kontrol edirik başqa bir şey azdır. Necə şəraiti haqqında? İngilis Özetle, bu nə Scratch kodu yığın deyərdim edirsiniz? Auditoriya: iki ədəd müqayisə. DAVID J. MALAN: iki müqayisə nömrələri, və x y az olduqda Bu qədər deyir. X y-dən çox olarsa Bu kimi çox başqa deyir x bərabərdir əgər qədər deyir y. İndi x və y-dən gəldi? Kim bilir. Not Bu yığın kodu kontekstində deyil. Amma biz indi istəyirik tərcümə edir yalnız bir an üçün bu görmək. Siz rahat almaq kimi Problem Set bu həftə 0 bu dünyada oynayan sol, həyata ideyaları dəyişən deyil ki, Növbəti və ya kənarda və ya bu həftə. Biz sadəcə olacaq şeylər yazmağa başlayın ilə fərqli bir şəkildə bizim yerinə siçan və klaviatura. Belə ki, əgər x y daha az və bəzi parantez var, sonra bəzi qıvrım aşırma var daha cür ki içine sarı puzzle ədəd nə kimi. Mən x printf gedirəm s y və azdır. Nə C haqqında gözəl, Siz burada görə bilərsiniz kimi, Bu yuva almaq deyil ki, yuva ki, mütləq var yuva sağ üçün kod təkan olacaq. Siz əvəzinə hər şey ola bilər lineup səliqəli bu kimi. Amma yalnız bir estetik var biz uzun əvvəl yenidən görəcəksiniz ətraflı. Bütün hüquqlar. Belə ki, bizə geri gətirir Bu sirli axtarır program. Həqiqətən bir kod yazmaq imkan verir. İndi necə yazılı kodu haqqında necə getmək yoxdur? Siz sahib olduğunuz bütün bu illər Mac və ya PC, masa üstü və ya laptop, həqiqətən imkanı etdik proqramlaşdırma kodu yazmağa başlayın. Amma yəqin ki, itkin edirik Proqramın xüsusi bir növü. Siz əlbəttə ki, kodu yaza bilərsiniz. Amma, mütləq bilməz qutusu həyata, ki, mənbə kodu çevirmək obyekt kodu 0s və 1s kompüter nə olmadan? Auditoriya: Kompilyator. DAVID J. MALAN: Belə bir compiler, doğru. İndi sizin ən yəqin bir compiler malik deyil, bir compiler nazil heç vaxt. Amma siz onu yükləyə bilərsiniz görəcəksiniz proqram ən hər hansı digər parça kimi. Mac OS dünya, siz bilər Download və ya artıq nazil Xcode və ya GCC və ya cingilti adlanır bir şey. Siz gəlib əgər Windows dünya sizə güc Visual Studio nazil, Visual Basic, kimi mühit. Tərtibatçılarından onlarla var Siz istifadə edə bilər ki, bu gün. Amma burada qısa bir ağrı ola bilər ki, və, səmimi, texnoloji yüzlərlə nightmare müxtəlif insanların bütün kompüter konfiqurasiyaları onların maşınları konfiqurasiya eyni şəkildə belə ki, biz bütün eyni səhifə ola bilər. Belə ki, əvəzinə, nə CS50 sizə verir standart mühit, bir Ki, Linux mühit bir az baxmaq üçün gedir bu kimi bir şey. Siz bu daha görəcəksiniz Problem Set 1 dəqiqləşdirilməsi olan bu cümə gecə online gedəcək. Və bu nə deməkdir ki, bundan sonra nə etmək üçün gedir Download və proqram yüklemeniz CS50 Aracı çağırıb. Və siz download olacaq və adlı bir proqram yüklemek yalnız bir olan hypervisor, bu nail olmaq xülya yolu. Mac və ya PC və ya a sahib olsun Linux kompüter və ya bir Solaris kompüter, və ya hər hansı crazy əməliyyat sistemi yayınlıyorsanız, Bir proqram download olacaq ki, hypervisor deyilən CS50 run olacaq Sizin kompüter cihaz olursa olsun əməliyyat sistemi nə. Başqa sözlə A hypervisor çevirir nə dil bizim stuff, nə təlimat sizin öz kompüter anlayır. Belə ki, bu layering edir. Və yenə bu cür kompüter tematik elm, şeyi üst bina. Windows ola bilər. Siz Mac OS ola bilər. Amma gələn həftə başlayır etdiyiniz nazil gedir proqram pulsuz bir parça hypervisor çağırıb. Siz bir parça nazil olacaq proqram CS50 Aracı çağırıb. Ki, hypervisor run olacaq olan kompüter çalıştırmak üçün gedir. Və son nəticə hamımız olacaq ki, kimi sadə bir pəncərə var Mac və ya PC bu bizə bütün illüziya verir Eyni əməliyyat sistemi çalışan, hər hansı digər olmadan Sizin kompüter təsir. Və tam ekran bilərsiniz Bu və mahiyyətcə davranmaq çalışan sanki bir Linux adlı əməliyyat sistemi, olan nə CS50 edir Appliance əsaslanır. Belə nin əslində bu istifadə edək İndi bir proqram yazmaq üçün. Siz bir proqram yazmaq olar Microsoft Word istifadə. Siz bir proqram yazmaq olar TextEdit və ya Notepad istifadə edərək, və ya WordPad və ya olduqca çox hər hansı bir sözü emal proqram heç istifadə etdik. Lakin reallıq olmamalıdır həqiqətən həmin proqramların hər hansı bir istifadə. Siz əlbəttə ki, istifadə etməməlidir Microsoft Word kimi bir şey olan qalın duran və kursiv və var böyük şriftlər və kiçik fonts, kompüter deyil, çünki ki, hər hansı bir qayğı. Bütün kompüter haqqında qayğı gedir C. yazılı təlimat kimi English Beləliklə, biz daxili edəcəyik nə CS50 Aracı sərbəst proqramı istifadə olunur mövcud, bu və var Bu əvvəlcədən quraşdırılmış cihaz, Gedit çağırıb. Və Gedit yalnız bir super sadə Mac OS TextEdit kimi mətn redaktoru, olacaq ki, Windows Notepad kimi bu kimi bir az bir şey baxmaq. Yəni əslində verməyək Bu slaydlar baxmaq. Amma əslində gedək mühit özü. Mən irəli getmək üçün gedirəm və Bu digər pəncərə daxil, Mən var mənim CS50 Aracı üçün burada mənim laptop əvvəlcədən quraşdırılmış. Windows kimi ki, qeyd Mac OS, bəzi menyular var. Windows kimi qoyur Bu orada əvəzinə orada onu qoyur Mac OS, və. Lakin reallıq bu deyil eyni cür. Və burada bir bütündür proqram dəstə. Dropbox var. Aksesuarlar bir dəstə var, qrafik proqramları biz will problem dəstləri müddəti sonra istifadə edin. Belə inşa web browser var bu tam hüquqlu kompüter ki, kompüter daxilində. Amma bu basın gedirəm ağ icon leftmost, olan gEdit üçün icon edir. Və bir pəncərə açmaq olacaq ki, bu üç panelləri var sol bir, top bir və alt biridir. İndi bu top doğru bir var ki, Mən, həqiqətən, bir kod yazmaq üçün gedirəm. Belə ki, bunu edək ,. Mən Fayl Saxla getmək üçün gedirəm. Və siz heç görüldü ola bilər əvvəl bu xüsusi pəncərə. Amma bu Mac OS və ya Windows kimi. Bu, sadəcə bir pəncərə var qovluq bütün Mən bu kompüter daxilində var. Və mən saxlamaq gidiyorum hello.c kimi fayl. Mən getmək üçün gedirəm qabaqda və Saxla basın. İndi bir nişanı var fark sol üst hello.c çağırıb. Belə ki, yəqin ki, olduqca tanış deyil var, hətta əvvəl bu proqram istifadə. Və indi o yazın gedirəm əmrləri kifayət qədər sirli ardıcıllıqla ki, bir an əvvəl gördüm. Daxildir, standart I / O.h. Ki keçmədən daha. Int əsas etibarsız, açıq buruq brace, buruq brace bağladı. Və sonra daxili mən hesab edirəm ki, biz "salam dünya" nöqtəli vergül idi. İndi edin. Belə ki, bu C yazılı bir proqramdır, mənbə kodu, buna görə də, yazılı. Amma yalnız bu proqram run bilməz. I növ ikiqat artırmaq istəyirik haradasa bir icon basın, lakin heç bir icon digər mövcud mənbə kodu fayl çox. Nə yenidən, proses indi ki, Mən bu fayl run lazımdır? Auditoriya: Kompilyator. DAVID J. MALAN: Belə bir compiler. Belə ki, müxtəlif kompüter siz müxtəlif yollarla bunu. Amma biz burada nə etdik ki, CS50 Aracı nümayəndəsi necə bilər Bu çox müxtəlif sistemləri yoxdur, Mən sadəcə gedirəm olunur makiyaj adlı funksiyanı çalıştırın. Və makiyaj sözün etmək niyyətindədir. Mənə bir proqram olun. Belə ki, gedir etmək Mənim üçün bir compiler axır. Və proqram adı Mən salam etmək istəyirəm. İndi etmək bir proqramdır. Etmək kifayət qədər Ağıllı , desəm salam ki, həyata avtomatik olaraq baxmaq olacaq bir fayl adlanır hello.c üçün yalnız ki, çünki yol yapılandırılmış. Mən indi burada, bu Enter crazy sirli line yalnız edam oldu. Və əvvəl mənə etibar uzun, yalnız gün ərzində, Siz nə bütün anlamaq lazımdır cəfəngiyatdır vasitələrinin. Amma indi üçün, yalnız bilirik ki, bir compiler təkan icrası. Başqa sözlə, bu, aşkar mənim kompüter bir compiler ki, əvvəlcədən quraşdırılmış var CS50 Aracı haqqında biz Problem Set 1 sizə əl lazımdır ki,. Və sonra hello.c etdi giriş, və yəqin hasil 0s və çıxış kimi 1s. Və default nə edir o saxlayır bir fayl 0s və 1s salam çağırıb. Və bu sintaksis baxmayaraq çox bilər sadəcə dot deyərək, sizə yeni ola doğramaq salam olacaq olan Bu proqram run deməkdir. İndi və ən azı bir neçə proqramları həftə, demək olar ki, bütün biz olacaq yazmaq qara və ağ mətn windows. No siçanlar, heç tıklayarak, heç pəncərələr, heç nişanlar. Biz sadə saxlamaq olacaq və əsas ideyaları diqqət biz bir şey almaq ilkin əvvəl yüksək səviyyədə, məsələn, danışdıq ki, break out oyun kimi ilk mühazirə ötən həftə haqqında. Mən burada daxil edin hit zaman, belə ki, bu mətn yalnız ətraf mühit ekvivalenti salam adlı bir tıklayarak ikiqat. Siz iradə gözləmək nə Mən sonra Enter zaman baş? Auditoriya: Bu "salam dünya." Çap edəcəyik DAVID J. MALAN: İnşallah Bu "salam dünya". çap edəcək Və həqiqətən bunu. İndi olub bəzi Burada sirli syntax. Yalnız geri bildirin bir an və görsək sadəcə inferring başlamaq bilməz , kustarlıq çalışır və uğursuz, Burada neler kimi. Mən backslash n canini qurtar əgər? İndi bəzi var olan yəqin ki, əvvəl proqramlaşdırılmış o deməkdir ki, nə dərhal bilirik. Amma var olan sizin üçün əvvəl proqramlaşdırılmış heç vaxt, ən azı gedir nə özünüz üçün hesab edirəm Bu proqram təkrar zaman dəyişdirmək üçün necə? Mən geri aşağı getmək üçün gedirəm mənim az qara və ağ pəncərə olan pəncərə olan Bu tərtib edə bilərsiniz. Mən salam compile gedirəm. Biz eyni görmək olacaq əmrləri sirli ardıcıllıqla. Mən salam dot çizgi gedirəm. İndi kimsə, ki, əgər, olan əvvəl proqramlaşdırılmış heç bu dəfə fərqli nə ola bilər? Bəli. Auditoriya: Bu dayandırmaq olmaz çap "salam dünya". DAVID J. MALAN: Bu to-- sorry olacaq? Auditoriya: Bu çap dayandırmaq olacaq? DAVID J. MALAN: Bu deyil çap dayandırmaq "salam dünya". Belə ki, pis bir fikir. Digər fikir? Bəli. Auditoriya: Hata beledir? DAVID J. MALAN: Error mesaj, OK, ola bilər. Nə? Auditoriya: Bu çap bilər eləcə də nöqtəli vergül işarəsi ilə bracket? DAVID J. MALAN: The çap bilər eləcə də nöqtəli vergül işarəsi ilə bracket. Belə ki, bəlkə ki backslash sonra bəzi vacibdir ki, terminous cür. Hər hansı digər fikir? Belə ki, bütün yaxşı fikir. Və əslində, gedir bir səhv baş beledir olmalıdır. Ki, çox güman yəqin ümumiyyətlə cavab olmaq Növbəti bir neçə həftə biz burada kod öyrənmək kimi. Amma indi kompüter unutmayın ki, yalnız onlara nə demək nə. Gülünc fıstıq kimi çox kərə yağı və jelly nümunəsidir. Bizim insan kompüter yalnız idi Siz onları bildirib nə. Bu halda, əgər siz kompüter demək deyil Bu ki, yanıb-sönən kursor hərəkət etmək növbəti line, bunu etmək niyyətində deyil. Mən bu proqram çalıştırdığınızda indi fark. Bir səhv kimi görünür. Bu, bəlkə də, bir estetik səhv var. Amma bu barədə müxtəlif nədir açıq-aydın son bir qarşı çıxış? Bəli. Auditoriya: Bu yeni xətt etmədi. DAVID J. MALAN: Bu yeni xətt etmədi. İndi edənlərə bəlkə etdi web pages var əvvəl, siz bilirik bilər BR tag və ya paraqraf tag, ruhunda çox oxşardır. A web browser qədər siz ignore edəcək Siz dəqiq nə demək. Eynilə, C kimi dil yalnız siz bunu demək nə olacaq. Bu səbəbdən belə ki, bütün bu misallar, indiyədək cür var Təsadüfi bu backslash idi orada ki, vasitələri var olan özünüzü ifadə yeni xətt xarakter kimi, belə danışmaq. Və cür, bəlkə də, təşəkkür edə bilərsiniz Bu cür axmaq baxmaq ki, başqa bir şey varsa. Mən yeni xətt istəyirdi, yalnız vuruş cür sonra daxil edin və ki kimi kodu butchering həqiqətən doğru yol rub deyil. Və bile həqiqətən, bu nöqtədə qayğı, Siz ki, həyata keçirəcək bu xüsusilə deyil kod yaxşı axtarır parça. Və nə dünya qərar il əvvəl ki, siz qoymaq istədiyiniz zaman açıq-aşkar bir yeni xətt üzərində kursor, Siz açıq-aydın demək lazımdır yeni xətt, backslash n. Və bəzi digər var kimi simvol. Amma indi biz yalnız lazımdır backslash n yönəldir. İndi proqram edək bir az daha maraqlı. Mən irəli getmək üçün gedirəm və bu dəfə yeni bir fayl açmaq. Mən bu kimi salam-1.c saxlamaq üçün gedirəm. Və yalnız kicks üçün, mən gedirəm mənim Dropbox qovluq onu qoymaq getmək. Siz CS50 görəcəksiniz kimi Aracın üçün sənədlər Problem üçün bu həftə Set 1, biz həvəsləndirmək lazımdır Siz Dropbox istifadə etmək və ya bəzi ekvivalent xidmət, Sizin kodu nin sonra bütün çünki gedən avtomatik yedeklenir. Mən var niyə və ki var Burada bu qovluğa getdi. İndi bir yazmaq üçün gedirəm az fərqli program. Standart I / O.h, int əsas etibarsız daxildir. Və sonra burada printf, salam dünyada, olan əvvəl kimi tam eyni deyil. Amma indi mən bir şey çap etmək istəyirəm ki, bir az fərqli. Mən çap etmək istəyirəm "Salam, David." deyə Bütün hüquqlar, açıq-aydın, belə ki, inşallah olmalıdır Mən derleyeceğiz əgər ki, hal ola Bu proqram, bu təkrar, demək olacaq "hello, David." Amma nə istəyirəm əgər təqdim dəyişən bu cür, olacaq ki, bir konteyner anlayışı kodu onu D-a-v-i-d və çətin deyil saxlamaq üçün mənim proqram. Yaxşı mən nə başlamaq əgər bu kimi bir şey? String s, belə ki, bu dəyişən deyil. Bir string istəyirsinizsə, bir söz və ya bir söz a.k.a.. Simvol bir ardıcıllıqla nədir biz proqramlaşdırma simli zəng. Biz yalnız generically zəng olacaq bir gözəl sadə adı var, çünki bu, var. Amma bir şey zəng edə bilər. Mən string s bərabərdir demək gedirəm dırnağı bağlamaq, "David" nöqtəli vergül quote. İndi mən daxil etmək istəyirəm D-a-v-i-d Mən çap alıram nə. Və biz əvvəl bir iltifat gördüm bəzi xüsusi sintaksis ekran ki, bizi icazə dəyəri ilə əvəz. Xüsusi nə idi simvolu bir neçə slaydlar əvvəl? Belə ki, faiz. Bu zamanda faiz olub decimal sayı d. Bu, həqiqətən, burada müvafiq görünmür. Var həyata Amma çevrilir başqa bir faiz simvolu, dayanır olan faiz s, bir string üçün tutucu üçün. Belə ki, indi, çox sadəcə, mən salam-1 etmək getmək üçün gedir, Bu fayl deyirlər, çünki salam-1.c, və Enter düyməsini basın. Mən berbat. Nə olub? Biz başlamaq üçün var Yaxşı, burada biz bu komanda istəyirik ki, yüksək qiymətləndiririk line mühit, bu yalnız mühit mətn. Nişanlar heç bir tıklayarak var indi qovluq kimi. Və bir an əvvəl geri edirəm. Hansı qovluq deyirəm etdi Mən kodu qənaət idi? Belə ki, Dropbox qovluq. Bir adlı bilərdi. Amma bu Dropbox adlandırmaq olur. Mən elə ikiqat basın lazımdır ki, Dropbox qovluq almaq üçün və onu almaq mənim kodu salam-1.c çağırıb. Əslində, mənə irəli getmək və minimuma endirmək imkan yalnız bir an üçün bu pəncərə. Just Windows və Mac OS kimi, Linux qovluq var. CS50 Aracı qovluq var. Bu, yalnız indi biz məhdudlaşdırılmasına edirik var Bu mətn ətraf mühitə özümüzü. Amma klik ikiqat əgər Dropbox, orada qeyd mən tərtib etmək istəyirəm ki, fayl. Amma bu qara və ağ lazımdır terminal pəncərə, belə danışmaq. Amma lazımdır, buna görə də hərəkət etmək ki, qovluq və ya kataloq daxil. Belə ki, az gizli, lakin siz də bu istifadə almaq lazımdır. Linux dünyada, yenə əməliyyat edir Sistem biz CS50 daxilində yayınlıyorsanız Appliance, CD adlı komanda var. Mən CD, yer, Dropbox edə bilərsiniz deməkdir. CD, dəyişiklik directory. Right. Geri gün insanlar zaman kompüter keşfetmeye və əməliyyat bu kimi sistemləri, istədi az tuş vuruşlarını mümkün yazın. En asan yol demək dəyişiklik directory CD idi. Mən CD, kosmik Dropbox hit əgər, Burada dəyişib nə görürsünüz. Mötərizə daxilində Aracın cür mənə humoring və Mən mənə xatırladan. Belə ki, açıq qovluq Dropbox edir. Mən indi ls yazın əgər siyahısı, yenidən qısa, adam istəmirdi, çünki gün l-i-s-t geri yazın. Belə ki, onlar əvəzinə LS etdi. Daxil edin. , I, salam-1.c iki şeyi görmək edək və sonra bu sirli şey, mənbə 1m. Deyərək yalnız mənim yoludur həftə 1 Bazar ertəsi üçün mənbə kodu. Mən nazil Bir qovluq Mən əvvəllər bu gün ki, CS50 saytına və yalnız onu qoymaq əvvəlcədən cihaz. Amma indi yalnız bir şey üçün biz Bu proqram edilməsi haqqında qayğı. Mən salam-1, daxil edin yazın. Lanet olsun. Bir şey yanlış getdi. Belə ki, bu ayrı tease bildirin. Və təəssüf ki, bu şeylər edir ilk bir az stressli almaq, ən azı siz var əgər əvvəl proqramlaşdırılmış heç vaxt. My god. Mən iki line proqram yazıb və Mən səhvlər dörd xətləri var. Belə ki, burada neler. İlk növbədə həmişə geri hərəkət və ilk səhv mesajı tapmaq oftentimes yalnız Derleyiciler çünki siz və mən nə ilə qarışıq almaq. Derleyiciler olduqca lallardır. Onlar yalnız nə edəcəyik Siz nə üçün onlara demək. Əgər siz onları çaşdırmaq əgər, onlar yalnız cür öz əlləri yuxarı atmaq niyyətindədir və bəlkə daha çox səhv mesajları atmaq daha həqiqətən uyğundur. Belə ki, ilk baxaq. Ilk Super sirli. Ancaq xəbərdarlıq, burada adı var fayl olan mən yəqin qarışdırmışlar. Colon 5, kolon 5 yalnız deməkdir beşinci karakter line 5. Belə ki, simvol beşinci sütun, səhv, Siz. Bəyan identifikator simli istifadə edin. Standart n mean? Xeyr, Mən string idi. Və sonra bu cür var çıxarmaq və sovuşdurmaq Mən, həqiqətən, çəkmək üçün yazdığınız nə mənim Mən berbat harada diqqət. Nədənsə C Belə ki, və ya ən azı compiler sözü simli anlamır. Biz onu, çünki ki, var. Belə ki, simli mövcud deyil C. Nə CS50 edir in, ilk bir neçə həftə üçün yalnız sinif, biz bəzi təlim təmin edir alüminium disklər, belə danışmaq. Və biz bu təlim təkərlər qoymaq cs50.h. adlı xüsusi fayl daxilində Belə ki, bu iki fayl ikinci yəqin dot saat ki, son adlar. Nin geri edək. Printf bir bəyanat və ya funksiyası ki, yəqin bir şey yazdıran ekran. Amma mənə görmədim sağ, printf həyata keçirir. Biri il əvvəl printf həyata keçirilir. Nə fayl siz o mərc olacaq və ya o həyata qoymaq printf, printf üçün kodu? Standart I / O.h adlı bir fayl. Əslində, bu, yəqin ki, var iki faylları standart I / O.h, olan mövzu üçün dayanır fayl, və standart I / O.c, C mənbə kodu üçün dayanır. Belə ki, o, bir neçə il əvvəl plopped onlar fayla yazdığı kodu ki bizim kimi insanlar il sonra daxil edə bilərsiniz, belə ki, bizim öz proqramları, danışmaq. And olsun ki, nə funt işarəsi sözü ilə təqib edir daxildir. Bu, yerli sabit görünür , standart I / O.h adlı fayl tapır və sonra səmərəli nüsxə və öz fayl daxilində pastalar. Belə ki, indi mənim proqram bilir necə ekran çap. Məntiq, burada belə string müəyyən olunur? Auditoriya: cs50.h. DAVID J. MALAN: cs50.h. And olsun ki, nə biz, əsas heyət etdik. Biz bir neçə növ məlumat icad etdik, belə bir string kimi danışmaq, yeniləri əlavə siz bir int kimi pulsuz almaq. Və biz bir char kimi başqaları görürsünüz bir xarakter və bir neçə daha çox. CS50.h yəqin Inside simli ən azı bir qeyd. Belə ki, indi mənə irəli gedək və təkrar salam etmək-1. Mən daha zoom və barmaqları keçmək lazımdır. İndi bir etmişdir Mən çox şeyi müəyyən dəyişir. Amma lənət olsun. Data dəlilləri çox faiz. Mən bu dəfə səhv nə idi? Belə ki, hələ olduqca sirli. Amma bu səhv edir line 7 və xarakter 21. Belə ki, burada axtarmaq gedək. Bu bir az incə var. Amma düşünmək nə varsa Burada fundamental fikir var bəlkə biz başqa bu tease bilər. Belə printf funksiyası adı. Parantez, indiyədək edir yalnız biz ətrafında qoymaq nə kimi biz keçən etdiyiniz məhsulları bir funksiyası giriş kimi. Bütün hüquqlar, yalnız bir ixtiyari insan konvensiya. Parantez istifadə edin. Bu mötərizə daxilində biz ikiqat quotes qoyulması olduğunuz, və sonra kimi bir string "salam dünya." Amma ki, əvvəllər məsələn çox qısaca Not baxmaq etdi. Və biz faiz d idi nə bu mötərizə içərisində idi Mən şifahi səsləndi ki? Bəli. Auditoriya: bu Beləliklə, siz alaraq etdiyiniz nə [Işitilemez] daxilində [Işitilemez] nə bu [Işitilemez]? DAVID J. MALAN: Exactly. Beləliklə, biz faiz d idi. Amma sonra biz yaxın idi quote, vergül, counter. Right. Biz istədiyiniz nə müəyyən Bu tutucu kimi etmək. Belə ki, nə mən burada nə gedirəm vergül, siz məni qoymaq üçün nə istəyirsiniz? Auditoriya: S. DAVID J. MALAN: S, çünki bu halda s saxlama konteyner adı. Bu şüşə qabda adı var. O ki, counter idi əvvəl isə sadə Scratch nümunə baxdı. Belə ki, indi iki etmişdir dəyişikliklər, mənə zoom imkan və bir daha cəhd edin Bu proqram tərtib. İndi ki, sirli line bax. Amma ki, əslində var compiler adı. Cingilti compiler adı. Yalnız mənə qənaət etmək heç baş ağrısı uzun crazy əmrini yerinə yazaraq. Belə ki, indi mən dot salam-1 doğramaq əgər, I "hello, David." Görmək lazımdır Pretty underwhelming, baxmayaraq ki, sağ? Biz edə bilərdi bu çox sadəcə dəyişənlərin söhbət olmadan CS50.h və bütün və. Belə ki, bir edək az daha maraqlı. Cs50.h əlavə, string kimi şeylər olan elan CS50 kitabxana bir neçə funksiyaları var. Belə ki, yalnız kimi il əvvəl, kimsə yazdı printf və standart I / O.h qoyun və bəzi digər faylı. Biz CS50 heyəti, bir funksiyası yazdı GetChar, GetDouble, GetFloat adlı, GetInt, GetLongLong, GetString, və biz bir fayl daxilində həmin qoymaq CS50.h və CS50.c. adlı Və biz daxili qoydu CS50 Aracı. Və insanlar da edə bilərsiniz Onlar əgər online onlara download onları qoymaq istəyirəm onların öz kompüter, eləcə. Biz yaratdıq ki, demək olan istifadəçi daxil almaq funksiyaları. Mən nə bütün bilmirəm Bu data növləri var. GetInt kimi cür sadə deyil istifadəçi elə bir tam almaq. Və GetString get kimi yəqin ki, bir söz və ya istifadəçi bir cümlə. Belə ki, diqqət edək. Mən geri getmək üçün gedirəm cihaz və mən irəli getmək üçün gedirəm və bu faylı nin zəng edək mənim ikinci versiya kimi salam-2.c. Və dəyişikliklər bir neçə edək. Əvəzinə bu dəfə ağır coding David olan inanılmaz ardıcıl edir lakin underwhelming proqram, Mən əvəzinə GetString nə olur? İndi GetString qeyd açıq mötərizə var, qapalı mötərizə, çünki hər hansı bir daxil ehtiyac yoxdur. Bu, sadəcə almaq getmək olacaq istifadəçi bir string. İndi digər sintaksis bir söz. Semicolons kod yalnız bir xətt son. Siz hər yerdə onlara ehtiyac yoxdur. Amma ki, yalnız mən deyiləm deməkdir kodu bu xətti ilə aparılır. Mənə başqa üzərində hərəkət edək bəyanat və ya funksiyası. String dəyişən bəyan edir. String deyən kimi Mənə bir fincan xahiş edirik. Və mənə bir string qoymaq bildirin. İndi bərabər işarəsi. Bərabər işarəsi nədir mahiyyətcə ekvivalent? Auditoriya: atayın. DAVID J. MALAN: Bəli, bir dəyər təyin. Belə ki, əgər mən, məsələn, zəng edin bu funksiya GetString, və biz ki, bir anda görəcəksiniz simli üçün istifadəçi təklif gedir. Bu mənə sonra yazmaq imkan kimi D-a-v-i-d kağız parçası. Mən string deyəndə s, GetString bərabərdir bərabər, həqiqətən, demək deyil C proqramlaşdırma bərabər. Bu sağ təyin deməkdir sol tərəfinə tərəfdən. Mən bir string kazanılmış etdik. Və bərabər işarəsi qoymaq deməkdir saxlama konteyner s çağırıb. Sonra off bu keçmək printf həqiqətən onun şey yoxdur. Belə ki, sonra son nəticə gedir bir az fərqli baxmaq. Nin salam-2 etmək edək. Ya iş bilər. Siz birlikdə aşağıdakı edirik. Salam-2 çalışmışdır olun. Dot salam-2, daxil doğramaq. Mən sonsuz görünür loop və ya bir şey. Heç baş verir. Niyə? Auditoriya: Bu sonsuz loop edilməsi oldu. DAVID J. MALAN: Bu sonsuz loop edir. Bu cür mənim üçün gözləyir həqiqətən bir giriş ilə təmin. Mənə irəli getmək və yazın edək David və Enter düyməsini basın. Və indi "hello, David." Deyir Mən yenidən axır. Nin Rob, yazın edək "hello, Rob." İndi bu pis deyil Heç istifadəçi interfeysi. İstifadəçi yəqin var nə bilmək lazımdır. Amma nə olursa olsun. Bu eyni binanı istifadə yalnız Not kimi blokları, ki, problem həll etmək və demək olar edin adı kimi bir şey, colon, kosmik, yaxın quote bağlıdır mötərizə, nöqtəli vergül. Belə ki, bir çox daha sintaksis kamalsızlıq. Amma yalnız bir əlavə etdik bilərsiniz bu bir bax puzzle parça və bu yuxarıda. Belə ki, indi mən bu təkrar, hello-2, daxil edin. Bir dəqiqə gözləyin. Nə oldu? Bu hansı fərqli davranır deyil. Bəli. Auditoriya: Siz yenə axır etməyib. DAVID J. MALAN: Mən etdim sağ, təkrar etmək axır. Beləliklə, mən mənbə kodu dəyişib etdik. Ancaq yenə də, axın var. Compiler ilə Source kodu verir yeni obyekt kodunu, və ya 0s və 1s. Mən, həqiqətən, lazım salam-2 daxil edin təkrar etmək. OK, bir şey baş görünür. Dot salam-2 doğramaq. Adınız edin. İndi aydın olması üçün, niyə eyni xətt kursor? Dəqiq. Mən backslash qoymadı n burada mənim kodu. Belə ki, indi yaza bilərsiniz Daven kimi bir şey, daxil edin. Mən yenidən run və yazın Gabe kimi bir şey, daxil edin və fərqli bir proqram almaq təkrar və yenidən. İndi nəticədə biz lazım olacaq bir neçə müxtəlif imkanlardan istifadə etmək. Biz nəticədə bəzi təqdim etmək lazımdır şərait şərti şeyə. Bəlkə biz nə edə bilərik loops təkrar şeylər. Bəlkə biz əgər gözəl olacaq öz funksiyalarını həyata bilər, kimi biz öz həyata bilər printf ya GetString öz versiyası və GetFlow, çünki son nəticədə hətta Bu command line mühit istifadə edərək, biz hətta ən edə bilərsiniz şeyi vizual maraqlı. Həqiqətən nəticəyə mənə bunu bildirin. Mən irəli getmək üçün gedirəm və bu pəncərələrini bağlayın və burada bu icon açmaq, yalnız bir böyük ki version əlaqədar terminal pəncərə. Belə ki, Gedit yalnız var Mənim kodu üçün yer, həm də terminal pəncərə inşa Mən çalıştırabilirsiniz olduğu qara və ağ pəncərə əmrləri. Mən yalnız açıq oldu bu bir daha böyük versiyası. İndi mən getmək üçün gedirəm Mən artıq var ki, qovluq Kursun saytında əvvəlcədən qoydu. Mən irəli getmək üçün gedirəm və , thadgavin.c adlı bir fayl açmaq olan başqası tərəfindən yazılmışdır. Və biz bu baxsaq, Bu kodu növü deyil biz ildən yazılı olacaq Bu kodu məqsədi prettiest yazmaq idi ki, o ola bilər kodu axtarır, asılı olmayaraq və ya başqa bir insan heç bilər Bu kodu anlamaq. Həqiqətən, hər il nə var obfuscated C müsabiqə adlanan yazmaq real geeks üçün başqa heç bir oxuya bilərsiniz ki kodu, ki, ya bir şey yoxdur həqiqətən sadə və ya həqiqətən gözəl. Və biz istədiyiniz düşündüm Bu göz ilə bağlamaq olduqca gözəl ki, bir şey Siz bir dəfə əvvəl görmüşəm bilər. Amma biz bu çıxacağıq qeyd, dot çizgi, thadgavin. Bu sonra gözləyir nə. Ki, CS50 üçün var. Biz Çərşənbə günü görəcəksiniz. [MUSIC ifa]